Reduced Momentum, Increased Flexibility

These are the words which best describe where I think computers should be going. Systems today are built with layer by layer of legacy code. There are few provisions for seemless enhancements of that old code. In addition, simple software tools are expanded until they each become the do-all-end-all of tools. (emacs,xemacs,MS office). I don't think things should be this way. I don't think we should mold the tasks we do with the computer around the tools we can find. I think it should be the other way around. I want users to be able to start with a basic tool and add features that they want because these features help them achieve their goals.

There are systems which I feel have been moving in this direction over the years. One of the early commercial systems was NEXTSTEP. It provided the capabilities to build reusable objects and to some extent, reusable bundles of code. It allowed applications to be smaller because they could interoperate better. However, it was still built on the old "macro" design model. In addition, none of the system objects were replacable. However, it was (and still is) light years ahead of many of the competitors.

OpenDoc is a document centered technology which is the commercial offering which comes close to what I want in a computing environment. It is a system where small tools are combined to form bigger tools based on the needs of the user. There are no more "applications" as they exist on other platforms. OpenDoc also follows a fairly "macro" design model, however, it does achieve many of the goals I think are important.

The BeBox is another innovative solution along these lines. Not enough information is available yet for me to get an accurate view of how the system software works. However, it is designed around objects from the ground up and includes a filesystem which can be accessed as a database. This is a step which many have talked about but few have done so far.

There are also many research systems which have moved in this direction. One of which is Oberon. While I think Oberon is truly an elegant system, I don't think it satisfies enough of the other goals of modern systems. However, I don't think it should, it's a research system, and it certainly has shown me more of what is possible. It is very much a "micro" and elegant design.

I think Programming Language Design is an important part of providing the flexibility for this type of system. There are many Programming Language Projects which are pushing the capabilities of todays systems.

Microkernel Operating Systems

I try and read and learn and experiment with as much as I can get my hands on. I live and breath for elegant programming systems and elegant operating system or hardware designs. I love true microkernel OS designs like QNX, and I'm working on the VSTa project.

VSTa

VSTa stands for the Valencia Simple Tasker (pronounced "vista"). It is a microkernel based OS written by Andrew Valencia which is distributed under the GPL. I started a VSTa home page in the beginning of April, 1995.

Display Servers

X is probably the most cross platform graphical display standard available. However, it also has so many problems it's a wonder anyone tries to do anything usefull with it. X is great if you want a convinent way to display several graphical "terminal windows", which happens to be what most people use it for anyhow. However, when you want something more, it starts to falter. For a good explanation of the problems with X, go read The Unix Haters Handbook.
David Jeske Page Last Updated: Oct 8,1995