discussion: goals: compatability?

Mike Prince mprince@crl.com
Tue, 15 Nov 1994 12:08:46 -0800 (PST)

On Mon, 14 Nov 1994, Gary D. Duzan wrote:
>    Ah, but this brings me to the real point: intertia. People like
> going in the same direction they have been going. If mass acceptance
> of the system is a goal, binary compatability with, say, NT or
> Win95 (hopefully DOS will be out of fashion by then) will be a big
> boost. Naturally, this only makes sense on nodes with a particular
> architecture. For an example, take {Free,Net}BSD vs. Linux. Both
> BSD's were more stable than Linux in many ways for a long time,
> but Linux had DOS capability (among other friendly things) so it
> is more popular, and now you can even get DOOM for it. :-)
>    Just some random thoughts. I like stirring things up. :-)

Too many efforts have been put into sliding MY OS under YOUR OS in 
efforts to steal your market.  And I have yet to see it be done. On the 
flip side, even though MS had the DOS market it put Windows on top of 
DOS.  Simple wisdom for the end user, when you buy windows you are adding 
functionality not losing DOS compatibility (for the most part, you can 
always go back to the command line).

I think we should try the same thing.  Make ours a real OS, but really 
small and with some functionality that theirs doesn't have.  Run it on 
top of theirs for now.  Make it free and available everywhere.  Create a 
tight and good interactive environment for writing code and encourage 
people to start developing applications for our environment.  MAKE SURE 
our OS does not depend in any way on the OS which it overlays.  When the 
time comes you can dump the old OS and put ours in its place, no compromises.

Here's one little idea I was playing with over the weekend.  e-mail goes 
everywhere (for the most part).  Make our OS bundle up messages and send 
them to other systems as e-mail.  The .forward file in SunOS for instance 
can invoke a program to process these messages.  We then simply make our 
OS program process the messages.  Voila, cheaper Telescript!

Idea #2.  Have the OS manage medium sized "objects".  Each object being 
given a name and when addresed as such providing information about 
itself.  Instead of directories, we would have lists of names.  When 
asked to show this list, all the objects named in the list would be 
polled for information (and icon, and maybe some descriptive text, state, 
etc..), and this represented in the standard "window" of the UI.  Object 
references can be moved between lists, copied, or deleted.  To execute an 
object simply call it.  There would be no loose data per se.  Data would 
be encapsulated in objects.  If it was wordprocessing data, the object 
surrounding the data would call the appropriate object to edit the data ( 
I believe that's like Apples resource fork, is it?)  I could go on, but, 
does it sound interesting?

Idea #3: How to program.  I've thought about having interactive 
programming, whereas the program you are working on can be executing at 
the same time.  Here's my suggestion for a development environment.

The user never actually touches the object being worked on, instead the 
user is typing away, interacting with a UI object which is sending 
messages to the object under development.

The object under development receives these messages and integrates them 
into itself using some development components temporarily infused into 

When development is done, those development components are removed and 
the pure object is left to go on its merry way.

In this way development can be incremental.

The other side of the coin is to have all the source listings in one 
object, and have the entire object compiled at once.  This is the 
traditional way.

What do you guys think?