UniOS Run Time Example #1 - Home Office User

This is the beginning of a series of documents that should make the UniOS concept a little more concrete.  The scenario is from the perspective of home office user installing and exploring the features of a UniOS variant OS.  At the end of the document I will explain what is meant by the description.

Bob is a typical home user.  He has been using Windows 95 on an x86 platform for the past three years, and this is his first computer. Bob runs a small business out of his home and he has heard from others who run small businesses that his productivity could be improved by using a relatively new computer operating system called: UniOS Home.  Bob is typically satisfied with his computers performance and usability, but decides to try UniOS anyways.

Bob takes a trip to the local software store, and asks the salesperson for UniOS Home.  The salesperson then asks a question that Bob can't answer: "What architecture is your computer?". Bob purchased his computer three years ago, and when he bought Windows 95, he was not asked that question.  The salesperson explains that there are different versions of UniOS home for different types of computers. Bob says he's a Windows 95 user, which means that he gets UniOS Home PC. Bob is pleasantly surprised to find out that UniOS is about 1/4 the cost of Windows 95.  He has upgraded his office programs multiple times in the past, and they have consistently gotten more expensive.  The salesperson responds by saying that UniOS is free.  This confuses Bob. The salesman continues to say that what Bob is paying for is the manuals and the installation media, not to mention the e-mail tech support. This seems to be a reasonable explanation, so he buys the product.

After he gets home, he attempts to install the new OS.  The instructions say: "If you have a computer running Windows 95, run the setup.exe on the CD.". This is similar to installing any other program. He installs the program, and it seems to complete very quickly.  The instructions go on to say: "Shut down your computer, and when you reboot you will be presented with a menu, before Windows 95 starts which will ask you if you wish to go into UniOS or Windows 95". Bob likes this idea, as he does not want too loose his important work that is stored on his system.  When the system restarts, he is presented with the new menu, and chooses UniOS.

When the system completes loading, the system informs him that UniOS only installed enough to start the system, and that it must not determine what hardware he has, and install drivers for this.  This procedure does not seem to take longer than Windows 95 did, when it installed, but for some reason it did not ask for him to reboot.  His new system desktop is shown, but to his dismay, it looks like it has booted into Windows 95, instead of  UniOS.  "My computer" has been replaced with "UniOS System", which gives him his first indication that he is in the new environment.  Curiosity strikes him and he decided to try some of the programs that came with the system.  He goes down to the "Menu" bar (strange because it's not "Start"), and finds that it is divided  into Applications, Documents, Configure System, Find and System Shutdown. He clicks on applications and it brings up a window with all the currently installed applications. 

The system came installed with a simple word processor, spreadsheet, database, and web browser.  He tries out the word processor (Bob is a writer, and would have undoubtedly done this doc better than I ;), and finds that it's similar to his old word processor, minus a few features. However the people who make the word processor say that you can buy the features as you need them, as plug-in's.  This again, is very strange, but the prices are much better than his current system because he only has to use a few features.  Bob wants to try to load up one of his old documents, but cannot seem to find his C: drive.  He reads up in the manual that his C: drive is now a folder called "Fat32(1)".  He wonders why the designers would pick such a strange name, but he soon locates his files and loads them up.  Satisfied now that the program can view and modify his documents, he finds that the system desktop background is very bland.  He suspects that the "Configure System" option has something to do with it, and jumps into that.  This loads a window that looks nothing like the familiar Windows Control Panel.  One of the configuration items is System Desktop, which he suspects is the proper option. The desktop options are overwhelming.  Not only can it load a simple Bitmap (of which it uses a format called TIFF, but can convert Windows BMP's), but the Bitmap can be placed anywhere on the screen, or he can use an animated background, or even simple flood fills (similar to those he saw in Corel Draw).  He picks a full screen animated fractal image.  When he was in the control panel, something caught his eye "Windowing System".  He opens this control and is presented with the option to change the type of Windowing System, and that it's currently set to Windows 9x Legacy System.  Bob try's another system called X-Motif, which he seems to like, despite the strange ways the mouse and keyboard works.

Bob decides, that now he has his system working, maybe he should try everything else out, and get rid of things he didn't need.  He searches for the Add/Remove Programs icon in control panel, but this seems to be missing.  Confused, he opens up the applications folder and try's to delete the icon for the program.  The system asks him if he really would like to get rid of the program.  Bob clicks on yes, and the system prompts him with a box saying that the application was removed entirely.  This he thinks, is very different, but much more intuitive. He removes a few more applications, and shuts down the computer for the night.

Bob eventually switches entirely to UniOS due to it's faster response time to his common tasks and the neat ways he can personalize his system.  However, the key thing that made him switch was how easy it was to do most things.

Explanation:

"If you have a computer running Windows 95, run the setup.exe on the CD" - This is under the assumption that we would need an automatic upgrade path from Win9x for users to take advantage of. Maybe it would consist of a FatX file that resides on the system which contains the UniOS Files. 

"when you reboot you will be presented with a menu" - This is done with an architecture specific menu for allowing booting into previous OS.  I don't like the idea either, but I think it's necessary.

"When the system completes loading, the system informs him that UniOS only installed enough to start the system" - I assume the basic system (BIOS I/O) would be installed at this point, and drivers would be selected and detected at this point through a special x86 binary object who's purpose is to try and auto detect hardware.

"This procedure does not seem to take longer than Windows 95 did" - This is my own assumption.

"for some reason it did not ask for him to reboot" - Zero Reboot system.  Once the new drivers are compiled for the system (after installation). We simply load these drivers and transfer control to them.

NOTE #1: At this point, you may notice that Bob was not asked to log into the system.  This is not an omission on my part.  A "home" version of UniOS would be set to have root access on default. Multi-user is still a capability, it's just not presented until configured to do so.

"UniOS System" & "Menu" - Just something I made up for the Win9x look and feel.

"The system came installed with a simple word processor, spreadsheet, database, and web browser." - I think this is probably the only way to spark interest in a product.  We have to have some (useful) Apps to go along with it.  They can be replaced by commercial apps later.

"but cannot seem to find his C: drive." - I like the idea of Posix directory naming, drive letters are illogical.

"Fat32(1)" - Fat 32 Partition #1. Devices or software objects are arrayed when necessary.  I.e. HDD(0) HDD(1), etc.

"Configure System" - This would be something that spans all UniOS distributions.  There has to be a centralized point from which to configure all the system elements.  The configuration objects would not be stored physically in this folder/directory, rather they would be links to the real files.

"which it uses a format called TIFF" - Just another arbitrary decision on a non-important subject, please no flames on this...

NOTE 2: You may be asking yourself where the object orientedness of the OS comes into play.  It is throughout the system, but it's mostly behind the scenes. For examples there is no desktop wallpaper. The background is actually an application that always resides at Z(0) on the desktop. This is the same for the virtual "Start" bar, another object bound to Z(1).  However these elements are seamlessly integrated into the system design.

"despite the strange ways the mouse and keyboard works" - UniGUI would be totally configurable, like X.

" system prompts him with a box saying that the application was removed entirely" - This is another example of the object paradigm. All applications are stored as a tree structure, with their Icon (in GUI mode) as the top of the tree. Once the Icon is deleted, so goes the program.

Conclusion:

This document was quick and dirty, and still ended up taking too much time to write, but my hope is that is sparks some discussion.  I imagine this technique as working backwards.  This is like saying "this is what the OS will do, these are it's features", and we have to work backwards to figure out if it's what we want, and how to achieve it.  The next doc will be on UniOS in a corporate environment, acting as a server.