Hello, everybody!
First of all I welcome all of you to this mailing list (you might
already have noted that this is practically a brand new list).
If you wonder what this all is about: I'm trying to revive this project
the hard way.
Consider this imaginary interview (sorry, didn't have a better idea to
present this):
What is "this project" all about?
It's about creating an operating system.
Right. But it should not become an ordinary OS though. It should be
different.
Different? In what way?
The goal should be to create an operating system that defines a new way
to create applications and to program and use a computer. Application
programming and usage should be dramatically simplified by a new and
unique environment the OS provides.
How is that possible? Today's computers have nice and user friendly and
intuitive graphical user interfaces.
Are today's GUIs the best in terms of usability? Considering intuitivty
I just have to think of how to shutdown Windows: click on "Start" (!)
and then on "Shutdown...". I think there can indeed be improvements, not
to details, but to the whole concept.
So it's about a GUI? Nothing else?
No! There is much more to the project: a new kind of file system and a
support for a totally new way of application programming.
And what could that be?
(only silence follows)
--
Actually I've gathered some ideas. But please make up your minds
yourself and don't hesitate to post your own thoughts. No ideas could be
worse than those in my collection;).
I'll not go into detail on the user interface now because it's a long
way to go until we can even think of that. But the rest is in my
oppinion still a complex matter. I'll cut it down to just a few points
now (the rest is up to your own imagination :).
- No programs in the usual sense. Only components which are free to
access each other virtually transparently. Nothing like
CallFunction("myfunc") should be in the way. Instead, write myfunc() and
your're fine, even across networks.
- Apply access rights control to each individual functions/member
functions/objects/classes/variables that is referenced from outside the
owning component, thus creating a controlled and safe environment for them.
- Try to avoid generating stubs or using traditional IPC mechanisms for
the component model. Instead try to generate a common controlled memory
segment for all components.
- Use those components from within your automation scripts with exactly
the same comfort.
- DOM access through persistent objects to a new file system that can
represent information exactly like an XML file (but it's a file system).
To organize this as a file system is suitable as the amount of data
stored in such a structure can become quite big (just imagine document
management) [Thanks to Philipp Gühring for this idea]
- Supply a document-view application framework that allows an unlimited
number of users on an unlimed number of computers to edit the exactly
same file simultaneously without causing strange conflicts. Ideally,
every user would see the changes the others make in real time.
- Make the components behave like a single, big,
fully-featured-for-every-purpose application (i.e. display full - and
working! - integration to the user and try every possiblity to present
the same to the programmer)
- Eventually implement a Linux/X-compatible subsystem
That's it. I'd bid you to comment on it and/or present any alternatives
that come to your mind.
Gregor
--
*****************************************************
* Gregor Mueckl Gre...@gm... *
* *
* The ChallengeOS project: *
* http://challengeos.sourceforge.net *
*****************************************************
* Math problems? *
* Call 1-800-[(10x)(13i)^2]-[sin(xy)/2.362x]. *
*****************************************************
|