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

"Software Issues"
The software part of this is kind of a strange dichotomy, in that most of the work is already done, so it should be easy, but getting all the software to integrate and be one hundred percent stable and efficient will be a huge task.

First of all, the operating system used will be Linux, and more specifically, Linux running under the KDE or GNOME desktop environment. I believe that KDE and GNOME are developing much faster than the other window managers, are getting much more press in the Linux (then, say, Window Maker or Enlightenment 17, what I considered as the main two other choices) and the eye candy is there. Some Linux hardcore fanatics will say eye candy isn't important, give them the command prompt, etc. Obviously this is not the best idea, just ask Microsoft. Many of the people who are going to use this OS could care less about security, or the open source model, or anything else, but they will care about whether it looks pretty and whether they have to think about using it at all.

Second of all, tons and tons of software (which should be mainly open source) will be included with the OS, which is possible because we have 2.8 gigabytes of space to work with (even more if need be, since we can still use compression). To explain how the software needs to work, I'll go through the boot up sequence from power on to having a usable desktop.

The first step is obviously switching on the power. The hardware goes through the usual POST, and when it's done with that looks for a boot image on the mini-DVD player. It finds it, and you are presented with a welcome screen (which gives you the option of passing messages to the kernel, just in case, but times out after three seconds) which quickly is replaced by the hardware detection screen. This would simply be something with a progress bar and a frame saying what the computer is currently doing (for instance "auto-detecting video card" and "installing Radeon 9000 drivers"). After auto-detecting all the hardware (including printers) the computer goes has a chance to download and install security updates over an ethernet card (which is activated and does a DHCP broadcast). Obviously this means that you must have high speed internet to download the updates, and that is mainly because people with dial up simply aren't attacked by hackers very often. Next comes the X-windows startup. X-windows and GNOME are started and you are shown a default GNOME desktop (or KDE, I still haven't decided what I want the default to be, though GNOME loads faster, which is why I chose it here), one in which all the configuration files are read from the mini-DVD. At this point the default programs are loaded into RAM already (such as OpenOffice.org and galeon web browser, etc.). Obviously some people will not use some of the features that are loaded by default (although if you have enough RAM besically everything can be loaded) but we'll talk about that problem later.

From this desktop you can browse the internet or work on files, anything you could normally do, except that it is all erased on the next restart because it is simply being saved in RAM. Now we're going to pretend that this is your first time ever using this computer and you wish to create a compact flash with all of your stuff on it. You see a button labeled "Create Wallet" on the desktop ("Wallet" is the catch-phrase I decided on for the compact flash card, since it kind of implies having everything there for you) and you click on it. Up comes a wizard which first asks you to insert a blank compact flash card, explaining that you can insert one that isn't blank, but it will be erased in the process of creating your wallet.

Now, the first step to creating your wallet is the partitioning part. In my view the wallet will eventually be integrated with basically everything (MP3 players, digital cameras, PDAs, etc.), so the first question it asks is whether you wish to use your wallet with MP3s (we're assuming you have a sizable compact flash card, like one gigabyte, anything less than five twelve and this step will be skipped). If you answer yes then a 128 megabyte partition is created with the proper file system to be readable by most MP3 players. The applicable software is activated as well (I'll explain activation later). Next it asks if you wish to use the wallet with digital cameras as well. If the answer is yes another 128 megabyte partition is created with the proper file system, and the software is once again activated. A question is not asked about PDAs at this point, because compatible PDAs will be able to read the file system natively.

Now, with the separate file systems you are only given 128 megabyte of MP3 room, but that doesn't mean that that's all you can have. In the software included you will have basically a library of MP3s, but only 128 megabytes can be on the "Device play list" at any one time. That way you can have several play lists, and when you decide on one to listen to you just make it the active play list, which copies it over to the partition. With pictures it simply automatically downloads the pictures you have taken to a folder labeled "Unsorted" in the picture library on your root partition every time you insert your card into a computer, leaving the picture partition clean.

As more things become available and the size increases of compact flash cards you will be able to integrate more things, but these two give you an idea of the potential for integration.

After asking the questions and determining the number of partitions and size the program will format the compact flash. Next it builds on it the skeleton directory system, in other words, the basis for which everything else will be built on. This consists of two folders on the root of the device, one labeled "Docs" and the other labeled "System." The "Docs" folder will have several sub folders with labels like "Music Library" and "Picture Library" but other than that I think it's fairly self explanatory.

The "System" folder will contain the configuration script (similar to knoppix.sh) and all the configuration files in one place. If a person downloads window decorations or themes these will be installed to a sub folder in this one.

A form is presented next for the basic information about whoever is using this card. This will include stuff like name, birthdate, address, and other things, but the biggest part is the security question. Security is quite in depth, so I won't go over it right now. A brief outline is in Appendix C, but any seggestions would be appreciate it.

The next step is what I call "Activating Software." This is probably the most tedious part of the setup. You are presented with a few simple yes or no questions at first, such as: "Will you be using this computer for office related tasks (such as word processing)" or "Will you be using this computer keeping track of finances?" After answering these questions you will be given choices between software, where applicable. For instance, in the area for email clients it may look like this:

Which email client do you want to use (if you're not sure, you can choose more than one, then choose one later)?

* Kmail
* Evolution
* Fetchmail
* Mozilla Mail
* I don't need this capability

When choosing there will be a frame giving details of choices as you roll over them with your mouse. This screen can be found again in the "Configure" menu under "Application Management." The only difference is that instead of being asked one by one which appliacation you wish to use for which purpose you are given several screens with related applications. After you are done deciding which programs you want to use for which tasks comes the asthetic part of the setup.

This is basically the same as the KDE First Time Wizard, with a few extras. You decide your window decorations, background, screen saver, position of the panel, icon set, widget style, window behavior, and a few other miscelaneous things.

The final step is only if the OS detects a hard drive. If it does it asks if this is the computer you wish to back up to. If you say yes it adds a partition to the hard drive the size of your card (as long as there is free space) and records the mac adress of the network card. This is so your card can identify and back up to this machine, since you are quite unlikely to come across another card with the same mac address. If you wish to change this setting later you can, utilizing the configure menu.

The next thing you see is simply the "Congratulations!" screen, saying that all they need to do is hit OK and their personal settings will be loaded, or they can choose to hit the quit button, which will exit the wizard so that it doesn't load their settings, but instead returns to the default desktop. In either case, their card is finalized and ready to be used.

Now whenever the card is inserted in the computer it is auto-mounted and scanned for a configuration file. If one is found X is restarted with the configuration file on the card loaded.

There is one other thing that needs to be adressed. That is the RAM requirements. For most new computers they should just come with a lot of RAM, but if an old one is retro-fitted you may not be able to add a lot of RAM. The answer to this is that as a person uses programs a list is made of the most commonly used programs. It is according to this list that programs are assigned priority, and are consequently either loaded into RAM on boot, or have to wait until they are executed to be loaded into RAM from the mini-DVD. This means that the first few times the wallet is used things will generally be slower than later.

That is basically how the computer works. How this will all come to pass is talked about in the next section.

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