Dr. Dobb's Journal December 2000
When Apple released the public beta of its new Mac OS X operating system in September, I was among the 80,000 or so people who plunked down $30 for a copy in the first week of its availability. "Long-awaited" would be putting it mildly; one benchmark for how long the wait has been is the beginning of the Pink project at Apple in 1988. Engineers at Apple knew even then that the Mac OS needed to be reworked from the ground up. A more forgiving benchmark is the decision by Apple to purchase NeXT in late 1996, but even at that, Mac users have been waiting four years for this upgrade.
It had better be good.
This month, in addition to sharing some thoughts about OS X, I want to talk about two recent books: The Knowledge Web by James Burke (Simon & Schuster 1999; ISBN 0-684-85934-3) and The Humane Interface by Jef Raskin (ACM Press 2000; ISBN 0-201-37937-6). In discussing each book I'll also reflect a bit on the author's other work -- his oeuvre. That's my excuse, or one of them, for the title of this month's column: Oeuvre, n., pl. French. 1. the works of a writer, painter, or the like, taken as a whole.
Before I get to any of that, though, let me offer you the following little appetizer.
My second excuse for the title of this month's column is a bad pun. How bad the pun is depends on how good your French pronunciation is, and vice versa. Well, no, not vice versa: That would mean that the quality of your French pronunciation was dependent on how bad the pun is, which I'm pretty sure is not the case. Anyway, it's not a direct correlation. You have to have the right wrong pronunciation of "oeuvre" for it to sound enough like "of" for the pun to work.
Toward the back of this magazine, you will find a department named "Of Interest." It's been there for the past 20 years, reporting with quiet dignity on new products of interest to software developers. It's not the most exciting part of the magazine, maybe, but it serves a purpose, and has been serving that purpose since it was launched in 1981.
These days it's being produced by Shannon Cochran. Back at the start it was written by Dave Cortesi, later to be known throughout the civilized world as the Resident Intern at Dr. Dobb's. That first installment featured the announcement of the CP/M-86 operating system from Digital Research, a $199 computer from RCA, and cassette Pascal for the Apple II. By March, Dave had veered away from the loosely edited press release format to offer his opinions on the products. One of these: 29.8 cents per page is a lot to pay for a manual on an implementation of Forth, "but then FORTH is a very concise language." Remarkably, it still is. As I say, that was just a little hors d'oeuvre -- which is my third and, I promise, final excuse for the title of this month's column.
Exactly three years before the "Of Interest" department debuted in DDJ, another department brought down its curtain, when its writer joined a Silicon Valley startup.
Jef Raskin was DDJ's opinionated software and hardware reviewer until he was wooed away in January 1978 to become head of documentation for Apple Computer. "I think Apple has a lot of potential," Raskin said at the time, but hedged: "I am not getting rid of my S-100 computer." In January of 1978 Apple was mostly potential. And it was aggressively looking for talent. It would shortly hire Chuck Peddle, the man who had designed the 6502 microprocessor that powered the Apple II, and Tom Whitney, Woz's old boss at Hewlett-Packard. Raskin, thinking that his background as a computer science professor might actually get in his way at counterculture Apple, played down his credentials, but it's not clear that he had to.
It is clear, though, that his interests went beyond writing manuals. That fall when young Chris Espinosa started college at UC Berkeley, Raskin handed off to Espinosa the chore of writing the manual for the Apple II, which up until then had consisted of a three-ring binder of any technical material that president Mike Scott could scrounge up by raiding people's desk drawers. Espinosa wrote the manual in his spare time that term, while Raskin was stretching his job definition by pitching a new computer to chairman Mike Markkula, something he called "Macintosh."
The Mac project came out of Raskin's strong views on user interface, a subject that he had been contemplating at least since the time of his Master's thesis. He told Markkula that he wanted to design an unprecedentedly easy-to-use machine.
The story has been widely told of how he subsequently lost control of the Mac project to Steve Jobs, how the Mac didn't turn out to be much like what Raskin had in mind, and how he finally did get to design a machine closer to his heart's desire, if not for Apple -- the Canon Cat. Jef Raskin has been talking about those experiences lately, notably in an interview at http://library.stanford.edu/mac/primary/ interviews/raskin/network.html and in his new book, The Humane Interface.
The Humane Interface makes no pretense of covering the range of human interface issues. Raskin has a lot of issues of his own -- enough, apparently, to fill a book, which is what he's done. Raskin's issues may be his own personal bugaboos, but they are also important: They are things that we should all be concerned about -- not just user-interface designers, but all of us who use or develop software.
"If we are to surmount the inherent problems in present human-machine interfaces, it is necessary that we understand the teachings of this volume...Human-machine interface researchers...may find that they will never again be able to view interfaces in quite the same way they did before reading The Humane Interface." Yeah, that's Raskin, hard-selling his book in its preface. Buy it anyway, and skip the preface. His ideas, in my opinion, are radical, reasoned, and right.
Raskin challenges the GUI status quo in this book. "[P]resent-day graphical user interfaces such as those of the Macintosh and Windows operating systems, which are based on an architecture of operating system plus application programs, are inherently flawed." Many of the proposals in the book are quite literally revolutionary, requiring the overthrow of the current regime.
One subject that Raskin has devoted a lot of thought to, on the evidence of this book, is human attention. One peculiarity about attention is that we get much of our most productive work done outside our locus of attention. We don't really get productive in any task until we have learned it well enough to be able to do it automatically, unconsciously. Habituation facilitates productivity.
Raskin has researched human attention and has thought a lot about it. He concludes that many features of the modern GUI manipulate attention in the wrong ways. The desktop, for example. Raskin argues that when you complete one task the natural thing is either to return to the previous task you were working on or to start a new task, not to return to a graphical representation of the internal organization of the hard disk, a non-place where no useful human work gets done. The desktop is the place you go to do housekeeping for the computer.
Recognizing that one of the goals of user-interface design is to facilitate habituation, some other goals become questionable. "It has been suggested that interfaces should adapt to accommodate the user's emotional state," Raskin says, but "it is not clear how an interface can adapt to the user in these ways without upsetting habituation." Raskin would do away with more than the desktop. Like Ted Nelson, he would like to get rid of files, application programs, and operating systems. Unlike Nelson, he has developed commercial products that function well without these abstractions. The Canon Cat was more deserving of the label information appliance than the devices so called today; SwyftCard was a board for the Apple II that turned it into a different machine. (It was programmed in Forth, for that same Forthian virtue of compactness that Cortesi cited.) The systems that Raskin has designed get by with dozens rather than hundreds of commands, are easier to learn, and lead to greater productivity. He can show you the figures, and in fact he does, in this book.
Hierarchical file systems? The structure of your information, Raskin says, is part of your content, not part of the interface. File names are yours, too, not the operating system's. Raskin seeks a new unification of functions, a new beginning. The path we are on will just lead to greater and greater fragmentation and complexity as features are laid upon features. "I suspect that, if I suggested to software developers that users should be able to check file name spellings, they might well add a new feature."
Getting rid of modes is one of Raskin's issues. And applications are really modes, aren't they? In designing the Canon Cat, he realized that Off was a mode -- and decided not to put an On/Off switch on the machine. It had a Sleep state, but this was not a true mode because waking up the machine did not eat up a keystroke. You simply started typing as you would if it were in the Awake state.
Raskin's commercial products, SwyftCard and the Canon Cat, didn't win the day; the dreaded Xerox/Apple/Microsoft GUI did. So a lot of Raskin's views have to be seen as either irrelevant or visionary or revolutionary, depending on your level of resignation to or cooptation by the status quo, I suppose. The book, though, has many insights that can be applied to existing systems.
Why, for example, does every logon interface request both your (insecure) name or handle and a (secure) password? Only the password is necessary. "We get greater security," Raskin says, "use less screen real estate, and gain greater ease of use by increasing the minimum password length by one character and eliminating the name field." The Disk command developed for the Canon Cat and described in the book cleverly reduces nine different load/save situations to a single command whose interpretation is "Do whatever is appropriate with respect to the contents of disk and memory." He then discusses how the action can be simplified further. Although Raskin doesn't say so, this appears to be a good model for PDA/PC synchronization.
Autorepeat is a desirable feature in a keyboard interface, but it has one annoying characteristic: It is triggered by the user holding down the key for a specified period of time. That period of time can't be too short or you'll get unwanted duplicated characters, but no matter how short the delay, it's a delay, dead time. Raskin presents a different way of implementing autorepeat that eliminates the delay. Raskin also has some opinions regarding the user interfaces that software developers are saddled with. Such as that most development environments put barriers in the way of your documenting your code. No word-wrap, no spell-check. Raskin on cables can be boiled down to the title of a James Thurber book: Is Sex Necessary? Usually no, Raskin thinks: Genderless cables would make life better for everyone but the companies that sell the cables.
Strangely enough, it is Steven Paul Jobs, the man who ousted Raskin from his Macintosh project and was later himself ousted from Apple, who is presiding over the most radical rethinking of user interface issues at Apple since Raskin's era. Does Raskin approve of OS X?
It is to laugh. "Look at OS X," he invites readers of that interview, "everybody who works on it says it's a throwback to the 1970s in terms of structure. It's UNIX, it's backwards."
Yep, it's POSIX compliant, it's got Emacs and vi -- it's UNIX. Darwin, its Open Source core, is based on the Mach 3.0 microkernel and FreeBSD and can be compiled for both PowerPC and Intel microprocessors. Talk to it via its CLI and it'll look just like UNIX with uppercase characters in the filenames.
Not everyone would agree with Raskin that the UNIX underpinnings of OS X are a bad feature. On the other hand, many have complained about its GUI being too distracting, and that's an issue close to Raskin's heart. But yes, looking at OS X is what a lot of people were doing this fall. Apple should be able to come through the experience looking pretty savvy regardless of what people think of the public beta. If it's popular, fine; if not, then they were smart to wait for user feedback from the beta before finalizing the UI, and they get to claim righteousness points for involving users in a kind of open source-ish exercise in UI design. When the final product is released in January and everyone sees that Apple has ignored all the feedback, that's a different story, of course. Or am I being too cynical?
The recurring theme of the early criticism is one that I can't comment on. People say that users will get tired of the eye candy after a while and wish for a less visually distracting UI. That may be so, but it's the kind of claim that will take time to test. At this early stage, I'm not tired of the eye candy.
Apple is hardly unaware of such criticism, and explicitly states that the translucency and glowing and dimming and motion in the interface are there to focus your attention, appropriately. If they did what they say they were trying to do, the claims that the eye candy is distracting should be wrong.
In criticizing the OS X Aqua UI, some writers have, I think, made excessive claims for the intuitiveness of the classic Mac OS. In truth, users did not intuitively understand the icons, and although it's hard to recall, using a mouse took some getting used to.
As Raskin is quick to point out, Apple surely didn't always make the right choices in coming up with the Mac user interface. The success of the Mac had more to do with the fact that a single company controlled the user interfaces of all programs that ran on the Mac. Apple did impose a single vision, and we are now going to get a new single vision. Since I don't think that all the past GUI decisions were right, I embrace new explorations from Apple -- and from Gnome, too. I'm pleased to move on from a 1984 interface and 16 years of band-aids.
The obvious thing to do here, the James Burke thing, would be to play off the Darwin reference in order to segue into the next item: a discussion of James Burke's new book -- which does talk about Charles Darwin.
Or I could loop back to Jef Raskin instead, suggesting that I have trouble staying on subject, you see.
For someone so concerned with the manipulation of attention, Jef Raskin has trouble staying on subject in his book. It's a fine book and this is a minor point, but there are an awful lot of "but this is outside the scope of our discussion" and "but this is not what I want to tell you about" blind alleys in the book. James Burke apparently never has that problem, because for Burke, no alley is blind, and all roads lead to other roads that eventually lead to home.
In The Knowledge Web, Burke writes entertainingly about Darwin and Babbage and the Amsterdam Society for the Recovery of the Recently Drowned and Buffalo Bill Cody and contraception and deuterium and the Elgin Marbles and something called "frit" and grave-robbing and IBM and innovation and the Knights of Malta and money and memory and Morse code and John Napier and palm oil and Pericles and the Red Baron and the Rosetta Stone and the scientific method and the screw principle and snuff and Sri Lanka and telepathy and trousers and vaudeville and Voltaire and the Vietnam War and Norbert Wiener and Principia Mathematica, and ties them all together.
He's done that before, in his television program "Connections" and in his Scientific American column. There, though, he settles for a closed loop topology for his narrative; here he is articulating a web, implemented by numbers in the book's margins that point to other places in the book and serve as a crude print version of hyperlinks. Isaac Asimov did something similar in his Autobiographical Encyclopedia of Science, and both books cry out to be published electronically so the links would actually work.
What is he trying to do here? Is it just a linked set of his usual essays, a single long version of his usual thing, or something more? Burke explains that he's trying to "introduce the reader to the kind of information infrastructures we may begin to use in the next few decades." If Burke's excursions through the knowledge web weren't so fascinating I'd quibble that we're already doing that, and that this dead-tree treatment of nonlinear material is an example of how not to do it.
But that might discourage you from reading the book, and that would be a mistake.
I do make them sometimes. My attention must have been elsewhere when I wrote about 3Com, US Robotics, and Palm in this space in October. As Alan Kreuger, G. Wade Johnson, John Spurling, Pim Oets, and Howard West pointed out, the original Palm Pilot was a US Robotics product, and became a 3Com property when 3Com acquired USR. It's true, I think, that the rest of USR later became a burden to 3Com, but the acquisition, in that it brought the highly valuable Palm property under the 3Com umbrella, was a very wise business decision indeed. Apple has made some pretty smart business decisions over the past four years, as reflected in its quintupling of its stock price. Will the release of OS X be another?
DDJ