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. |