Dec 19, 1998
OK, we all know the drill. Turn on the computer. Watch some text flash by as the system boots. Up pops the Windows startup screen. Watch the little bars move back and forth as Windows finds itself. Look at a blank desktop. Watch the icons pop into place one by one. Watch the Netware box initialize itself, then establish a connection. Wait while the network delivered applications preload. Now we're ready for autostart. Up comes ICQ, up comes the MS Office toolbar. There's the virus agent. And finally, the little clock loads.
Now I'm ready. Almost. Click on 'Start'. Click on 'Programs'. Click on 'Netscape'. Click on 'Navigator'. Wait. A small window pops up, asking me to pick a profile. I pick the same profile I have used for the last year. Wait. The Netscape 4.5 title screen loads. Wait. The Netscape screen pops up. Loading plug-ins. Wait. Netscape loads the college page from the web. Click in the 'Location' box. Type http://www.newstrolls.com. Hit enter. Wait. Finally... I can begin to read.
No wonder some people prefer books.
Oh, sure, I could have coded some short-cuts. Put the Netscape icon on the desktop, for example (process: double-click on 'My Computer', double-click on 'C:\', double-click on 'Program Files', double-click on 'Netscape', double-click on 'Communicator', double-click on 'Program', click and drag the Netscape icon to the desktop). Or I could have placed Netscape into the Startup window, so it would autoload on startup. I could even set it to retrieve Newstrolls every time. Nice - if I want to start Netscape and go to Newstrolls whenever I start my computer. But (sorry Pasty) I don't.
By now I hear some of you Linux folks sniggering at my plight. Don't. I have a similar startup routine on my other computer, the little unix workstation I call Vulcan, which does its thing while I wait for XWindows to load. And for those (few) of you living in the Apple world, I can say again from experience that your lives are no easier.
Look, it's not the technology which is at fault here. I have no time for Holy Wars. Apple, Unix, Windows: it's all the same to me. It's not which operating system you choose, no. It's the whole dang model which isn't working for me.
When I want to read Newstrolls, I want to do exactly two things:
- Say (or type): read Newstrolls
- Read Newstrolls
It's time for a basic redesign. It's time for the next operating system, the next Killer Ap in the computer world.
How, then, should we proceed? Let's look at the current architecture to see what has gone so tragically wrong.
All system configurations work basically the same way:
- At the very bottom is a set of basic system routines. You see this flash by when you turn on your computer.
- On top of this level lies the operating system.
- On top of the operating system lie the various device drivers.
- On top of all this lie the application programs.
- And finally, on top of all this, lies the particular document you want to write, read or search through.
My interest is in the document. Everything else exists only as a means of getting at the document. My interest in all that is minimal. My patience with it is wearing thin. And by the time I get to my document (or game, or website, or whatever) I have preloaded the cyber-equivalent of the Enclyclopedia Britannica into my machine. I have, at the ready, programs and routines which I will never use.
Moreover, in order to get to my document, I have to execute a complex series of operations using unnatural tools and symbols. My document will at best be represented with an icon on my screen. I would create icons for all of my documents, but my screen is too small. Moreover, unless I played with an icon editor, the icons would all be the same. Alternatively, I could use a single icon for my word processor, and retrieve my document from a list inside that program. Either way, I must negotiate a series of tricky hand-eye movements with a small device called a mouse.
Now let's think about these two paradigms of late 1990s computing.
The icon. Whatever caused people to believe that the use of the icon is natural for humans? Oh sure, when Xerox PARC and Apple came up with it, it seemed like a good idea. I can now say with conviction: it wasn't.
The problem with the icon is two-fold. First, icons are too big. You can only get a few of them on your desktop. This means you are necessarily reduced to a small number of choices per screen. Which - as the history of Windows has amply illustrated - means paging through screen after screen to get at what you want.
Second, icons do not contain enough information. You cannot generally tell from an icon what you are doing. That is why operating system designers put a little text under each icon (and in Windows, they won't let you remove the text, illustrating through that restriction just how valuable the text is).
Can you imagine what would happen if we used icons in other applications? Suppose all street signs consisted of icons. Sure, we could probably find Maple Street with an icon (though me may confuse it with Maple Drive). But could we find Rosser Avenue? What would we use, a portrait of some long dead settler? Or how about Memorial Drive? Would we use crosses? How then would we find Church Street?
Or suppose we used icons in the public library. Not only would the major sections be labled with icons (science fiction would be represented with a space ship, history with an old spinning wheel, biographies with a head...), actual book titles would have to be icons. The Wind in the Willows is easy enough to represent, I suppose. But how about A Brief History of Time? Or A Man for All Seasons?
Let's face it: the icon was a big mistake. Icons add to confusion, offering little in the way of relief or simplicity in return.
The Mouse: the natural companion to the icon, the mouse was Apple's big innovation. It is now copied by everyone; I even have one on my unix workstation. It is an apparently simple device. But it is evil, pure evil.
If we analyse what is involved in the operation of a mouse, we can see instantly that it requires the user to master a series of high-skill motor and interpretive operations. The idea is that the position of the mouse corresponds with the position of a pointer on a screen. Well - the position of the mouse doesn't exactly correspond, since you can lift the mouse from the pad and move it without moving the pointer. So right away, we have to master a dynamic parallel coordinate geometry.
To move the pointer, you have to move the mouse. This involves sliding it gently on a mousepad, without losing contact with the mousepad, causing a small ball in the mouse to roll (other mice involve the user rolling the ball directly, but just as Mission Command was a dud of a video game, never duplicated, so are such mice). Because mouse pads are relatively small (smaller, in fact, than the screen they correspond to), moving the pointer actually require that you lift the mouse and roll the mouse.
On the computer screen, placing the pointer over an icon allows you to activate that icon by clicking on the mouse. Here we enter a major design problem. If we make the icons large enough to use, they take up too much space on the screen. So often, the icon is made very small and very simple, like that little down-arrow at the bottom of the scroll bar. To activate that arrow, you must place the pointer exactly over the arrow and click on the mouse without moving the mouse.
Of course, clicking by itself is far too simple for today's computers. We have clicking, double-clicking (which is only by an arcane logic different from clicking twice), dragging, dropping, highlighting, and more. None of these operations corresponds in any way to a natural human action. All require considerable skill and practise.
So clearly: the first thing to do with any new operating system is: get rid of the icons, and get rid of the mouse.
And do what, exactly? Well, let's think about what we're trying to do.
Consider the operation I wanted to perform at the start of this article. I wanted to read the Newstrolls. So I needed to communicate exactly two pieces of information to my computer:
- That I want to read something, and
- Newstrolls, specifically.
This is pretty much the way I start all my computing sessions. We begin with a simple verb, then follow it with a noun. The verb specifies the operation I wish to perform; the noun specifies what I want to perform that operation upon. So let's begin our redesign of the operating system on this basic verb-noun configuration.
That may sound hard at first, but it's not. We use verb-noun configurations every day in a variety of circumstances. For example: 'sit here', 'drive thru', 'move over', 'read me', &c. I use the verb-noun configuration to communicate with everything from my bank machine ('withdraw $100') to my supervisor ('read this') to my cat ('shoo' - the noun is implied).
What we need, then, is a set of basic verbs for computers. Here is my starting set: read, write, edit, find, list, erase (careful with that one), go to, calculate... &c. We could argue over that list; in fact, there need not be one definitive list, but rather, a list which corresponds to the use to which the computer is put.
How would we enter such commands? The most natural method would be to voice them. The easiest way to tell the computer you want to read is to simply say: 'read'. Saying the word 'read' would cause two actions: first, the computer would listen for a second word, indicating what I want to read; and second, the computer would begin to load that component of its operating system required to display text.
This last sentence is key to the design of the new operating system. The software which loads is only the software which is needed for the current operation. This will dramatically increase speed and simplicity.
Consider: when I wish to read a document today, after loading my device drivers and operating system, I then load Microsoft Word. This gives me the capacity to change my time zone, wrote notes on index cards, spell-check my document, create columns, or import graphics. But if all I wanted to do is read, all the rest is dramatic overkill. Such software shouldn't load until I explicitly begin an operation which requires it.
Once I have told the computer I want to read, I then specify what it is I wish to read. This again should be as sinple as stating the title of what I want to read. If I don't know the title, then I should ask the computer ('list titles', or more precisely, 'list reports' or 'list email'). Upon seeing the title I wish to read (and not an icon), I then instruct the computer to read the title in question.
None of this requires icons, a mouse, or even a keyboard. It doesn't require a fancy desktop wallpaper (the desktop could be blank up until the point where a menu or reading item is displayed).
And so it would continue. The operating system would wait for me to enter my next command. Upon receiving that command, it would load the required program components (each of which is kept very simple, for speed of loading and ease of use) and load the document (or web site, or game) I wish to work with.
Such, then, is what I want in an operating system. And that's all I want. Not much, really. Is it?