BartOS

I have many ambitious projects in mind, most of which will never see the light of day, and programming my own operating system is certainly way off the realism scale. But nevertheless, it doesn’t hurt thinking about what such an OS would look like. So, here goes nothing, the main features of BartOS 1.0:

  • it will dedicate a least one core of the (no doubt many) available cores on the host system to handle user interaction. That means you will always be able to control the system, even if it is extremely overloaded or has locked up processes. The reason for this is that, in my experience, responsiveness of the user interface is the primary factor that makes the difference between ‘a pleasure to use’ and ‘excruciatingly masochistic to use’.
  • it will follow its users actions and try to predict what the next action will be. Based on this it can:
    • prepare the action, giving the impression of being faster
    • suggest the action, saving the user the time to specify the command
    • auto-execute the action, if it’s been given authorisation to do so previously

    The reason for this is that I think we build computers to do the hard and repetitive work for us, not to make them let us do it. Given a sufficiently overpowered computer for the tasks at hand (which most of us already have), it’s fine for the computer to prepare operations that may never be executed or gather data that may never be used. Doing so allows them to make our life easy whenever possible and prevents us from doing the repetitive work computers do so much better.

  • it will present a user-interface based on icons, separated into categories like input, output and functions. That way, operations become clear, easy to specify and flexible. They can also be stored to be executed later, or at a certain interval. The reason for this is that it may, hopefully, bring a measure of intuitiveness to more complex operations than just moving files around. We got the latter down pretty well, using the graphical user interface found in most current operating systems, but anything beyond that (converting between file formats, converting a datastream to a file, manipulating data in basic ways, etc…) still requires specialised knowledge and software.
  • a running foreground process will always have some visual representation in the GUI; it must never vanish, even for a second, making the user wonder whether it is still running or not.

Another important thing I’d like to see an operating system have, is something that I call a ‘bottleneck indicator’. I’m sure we all regularly wonder ‘what am I waiting for?’ when a computer is busy with something. If it would be able to tell you whether you are low on free physical memory, your CPU is 100% busy or the system is waiting on disk I/O, this would be very good to know and would allow you to get an idea what part of your system would benefit most from an upgrade.

One last observation: I fully expect speech recognition to be the next big jump in computing. Clicking with a mouse or typing on a keyboard will never be as fast as simply saying something. Any future OS will do well by being set up to be easily controlled by speech commands. In this light, it is important to realise that there are two major ways of getting a computer to do something for you. Either you are starting an existing function, that has previously been programmed in, or you are programming/scripting one on the fly. The latter will be particularly difficult at first using speech recognition. This is because all programming/scripting-languages so far require a special syntax that is not normal speech. To program using speech, you will have to speak in such a special syntax, which will be very difficult and require a lot of corrections. If an OS would manage to provide a scripting language that is based on normal speech, it would completely blow away all others in a speech controlled computer age.

One Response to “BartOS”

  1. Kurt says:

    Interesting. I like some of your ideas. Dedicating processor resources to user input to increase the perception of speediness. Bottleneck notifier. Anticipation of next action. Good stuff. I heartily agree. Make the computer work for us, not the other way around!

    However, I don’t agree speech recog will be a popular feature. Sure in some scenarios it will be indispensable (in the car, for the handicapped, in dangerous/wet enviroments with limited other forms of input). But for the average user, I think not. I certainly don’t want to have my cube-land at work suddenly cluttered with audible commands like “open new Excel spreadsheet.”

    Just my two cents. I actually landed on your site by finding your article about the Drobo unit, then wandered over to this posting.

Leave a Reply