posted by Joshua Boyles on Mon 9th Jun 2003 16:45 UTC

"Developing It , Testing It "
4. Developing It

As I said earlier, developing this idea is going to be both difficult and easy, but I think that it is by no means an impossible task. All it will take is modifying hundreds of programs so that they work together to perfection.

That was a little bit of humor there, by the way. OK, so here is how it will work. The development would take place in three phases, data gathering, programming, and testing.

The first part of the development would be a data gathering time period. I think that this part could be handled in anywhere from one to three months (although three months is definitely preferable to one month). This would consist basically of a multitude of surveys covering many things, the most important two, however, are:

What do you want in an operating system?

What tasks do you perform with your PC most?

Another part of the data gathering stage would be a group of linux enthusiasts who would compile a huge list of open source software with details such as purpose, ease of use, features, size, and other data. Then all the software would be tested by a completely different panel of people who would look at it from the point of view of someone migrating from different operating systems and choose at least three pieces of software for each task (if three can be found). The premise behind this is that you would have what I call Apple, MS or Linux programs. That is to say, easy to use but not too customizable, fairly easy to use and fairly customizable, and difficult to use but extremely customizable (respectively). Then the software would be prioritized and shaved down until the entire software/OS package will fit on 2.8 gigabytes of space.

The next step is programing, which I have fit into two categories, asthetic and functional.

The first part of the programming should take another three months (with a fairly hefty group of programmers). This would merely be to go through every program, one by one, and change the look so that it fits with the entire operating system (meaning that icons are similar, colors are customizable with the rest of KDE or GNOME, etc). This would involving working with the dreaded theming engines, so it might be a little tall of an order to ask for all the software to look unified, but as much as possible.

The next part of programming would be functional, making sure that programs don't conflict with each other, making sure that programs are stable, and that things like copy and paste work between programs. For this period another three months would be used.

It may seem like I'm not alloting much time for each section of programming, but it's not as little as it might first appear. You first have to accept the fact that the software is already created and that the goals being pursued in the development of this OS has already, in a broad sense, been pursued by the individual programers themselves.

There are two special considerations which must be taken in when doing the development. The first is that, during the six month period of programming (and into the following three month period I will talk about in a minute) several programs will be produced from scratch where I view deficiencies. The first is a media player (to be integrated with the file manager) and the second is a good financial management program, to take over the "Apple" role in that section (we already have gnucash as either an MS or Linux version). The second factor which must be taken into consideration is that quite a few different companies must be contacted and offered the chance to make their product a part of the OS natively. The first ones that come to mind are Real Player, Shockwave, and Flash.

The final three month period is a code audit, going from line one to line ten million. This will definitely be the hardest part, and will most likely extend into the testing phase. All programs will be audited, by different people then origionally worked on the programs.

5. Testing It

The testing process is one of the most important, since it will bring out (hopefully) the vast majority of the flaws in the system. The testing will be seperated into two distinct parts. The first is a security section, attempting (in a very novel way I might add) to bring out even the most engenious hacker strategies and fix them. The second is a pilot city. I will talk about the security issues first.

But before that I'm going to talk about the general attitude that must permeate everything that has to do with this operating system. That is the fact that it must be viewed not as a comercial venture, but as a genuine attempt to make the lives of those who would buy this better. The open source model must be maintained. I will say that again because it is very, very important. THE OPEN SOURCE MODEL MUST BE MAINTAINED. That means that if someone wants to view the source code of any part of the operating system it should be readily available to them. Why? Because we need the cooperation of the open source community and we need the trust of governments and people. This should be viewed as a community effort. I will go more in to how this entire thing will work in the continuing it section, but you must understand that without the cooperation of basically everyone this will not succeed.

The way that security leaks will be brought into the open will be through a contest. One computer will have one file on it. This file will be the object of the contest. If someone can hack into the computer and retrieve the file (which is protected by our operating system hidden by a server version of the operating system with a firewall) they get a prize. To be more specific, if the can print up a copy of the file, and mail it to the company, they get something like a hundred dollars. For every time they do it (the file will be changed after every successful breach). This may seem like it could get expensive, but if you consider the fact that it's cheaper than paying someone to look for flaws (especially since they would most likely miss quite a few), and that it will serve as advertising, proving to the masses that the customer really is coming first, then it isn't that expensive after all.

The second test method was the pilot town. This is a simple idea really. Just pick a likely town and offer it dirt cheap computers, retro-fit-kits and free tech support, and see what happens.

I am very specific when I say likely town though. It must be relatively small (say, less than 25 000 people) but not too small (say, over 15 000). The next requirement is a high school with a population of at least 1 000, a college with a population of at least 2 000, a fairly large library, and several middle and elementary schools. One cool bonus would be a small cofee shop, which could be outfitted as a cyber-cafe.

This town is modeled after my own home town quite a bit, because it seems like it would provide an excellent base for an expirament, without being so big as to overwhelm people.

One suggestion to begin the process would be to outfit the high school, college and library for free, which would hopefully get the rest of the town interested, and would only take about thirty computers.

Why would a town want to do this? You simply point out to the people that by doing this, not only will they get computer stuff for amazingly cheap, but it will put there town on the map through magazine and newspaper articles about this "pilot town."

Table of contents
  1. "The general idea, Hardware Issues"
  2. "Software Issues"
  3. "Developing It , Testing It "
  4. "Selling It , Continuing It"
  5. "More Appendices"
e p (0)    60 Comment(s)

Technology White Papers

See More