From kragen@dnaco.net Thu Jul 30 12:17:27 1998 Date: Thu, 30 Jul 1998 12:17:26 -0400 (EDT) From: Kragen To: dave@scripting.com cc: greg.sittler@pobox.com Subject: Re: "Not quite done with desktop UIs" Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Keywords: X-UID: 892 Status: O X-Status: (In reference to the text at the end of ) "Not quite done with desktop UIs -- more tweaks are possible" seems like a gross understatement. Apple and Xerox developed the desktop WIMP interface that makes it possible to invoke commands, pick options, turn things on and off, and move files around. But they stopped there. Do you remember the original ad campaign for the Mac, in which they claimed you wouldn't need a keyboard at all, but one came with the Mac in case you wanted one? (I must have been about seven. I was impressed!) Well, they were as wrong as could be. Unless you were using MacPaint or MacDraw, that is. Why were they wrong? Well, because whenever it came to doing anything more complex than invoking commands or picking options, it's right back to the old command-line. Nearly every Macintosh application built today is, at its base, a few hundred or thousand pages of textual source code, typed with a Mac keyboard. Whenever you want to express a concept more complex than "this is the file I want to open" or "draw an oval here", it's back to language, text, command lines. One of the smarter guys I've known was a fellow named Mike Dehart. A mechanic, in Socorro, New Mexico. Fixed cars all his life, like his dad before him. Smart guy. Good at analytical problem-solving, good at building mechanical things. He'd be a good programmer. But he'll never type a hundred pages of textual source code. He's dyslexic; text is just hard for him to read. He's got the smarts to build applications and to debug tricky bugs, but as long as doing it requires reading and writing volumes of text, he never will. Why do we backslide to text? Well, Jakob Nielsen's Anti-Mac paper (which I'm sure Dave has read; I don't know if Greg has: it's at ) clearly describes the weaknesses of the Mac user interface. Among other things, whenever we want to group a related series of basic actions into one high-level action, use conditionals, specify points more precisely than our mouse allows, specify dynamic relationships, talk about objects that are not immediately visible, talk about objects that don't exist yet, talk about unknown objects, include semantic markup in documents, or automate boring, difficult, or repetitive actions or vigilance tasks, we resort to textual interfaces. In fact, the biggest difference between how we do these things in 1998 and how MIT hackers did them in 1978 is that now we have buttons and menus on the screen to run commands to change our text, while they used special buttons on the keyboard. The GUI has hardly changed these tasks at all. But this is not a necessity built into the concept of the GUI -- just some of the original criteria for the Mac and Xerox's electronic office work. LabVIEW is a data-acquisition-software development environment in which developers build software by connecting "virtual instruments" with "wires" that carry data from one "instrument" to the next. Khoros is another similar product. Geometer's Sketchpad is an environment in which the user can graphically connect points, lines, and circles, which then stay connected the same way as the user stretches and moves them. There's an experimental database query system, whose name I've forgotten, in which users select different "lenses" through which to view the data, composing complex queries by overlapping the lenses. GUIs can do anything CLIs and other textual interfaces can -- but they usually don't. Desktop UIs have a lot of room to evolve -- even without the Web. Kragen