Cruftacular
There's been some commentary on Matthew Thomas's essay "When good user interfaces go crufty," including this one by John Gruber that seem to miss the point of the essay.
Gruber first argues that the "auto" auto-save feature described in the essay is unwieldy at best and troublesome at worst. I would tend to agree, at least as the feature is described in mpt's essay, but I do agree in principle. As described, the feature is incompatible with the prevalent desktop metaphor used by most computers in that saving a document strongly implies the user's desire to correlate a document's contents with a permanent container. Gruber points out that any automatic association of this nature is a bad idea, to which I agree. What Gruber misses and what mpt was trying to say before getting off on the wrong foot, is that with the exception of a document's container, every other attribute of that container can and should be preserved automatically. mpt's reasoning is clearly based on Jef Raskin's The Humane Interface, so I won't re-explain the wheel here, save to point out the annoyance of not having a document's undo stack saved along with its contents. I should be able to delete a word from a document, close it, open it, and undo my deletion, and I certainly shouldn't have to explicitly save the document.
Gruber (and a bunch of Slashdot weenies, although I am loathe to imply any sort of association) also argues against mpt's claim that quitting a program is unnecessary. To quote the Slashdot gestalt, why would one want to leave a program running when all it would do is suck up valuable CPU and memory? Obviously, an idle program shouldn't do either of those things. If an operating system doesn't allow an idle program to do nothing (most don't, due to timeslicing), a program should be able to dump its execution state to permanent storage, suspend itself, and restore its state upon user interaction. Ideally programs should launch instantaneously and quitting a program should be identical to suspending it. The Aqua interface guidelines for Mac OS X tells developers that an application should not quit when all of its windows are closed, presumably because application launching on OS X is by and large dog slow. As I envision it, the dock could provide some visual indication of application inactivity, slowly graying out a program the longer it is unused. Clicking on a grayed-out application would impose no penalty as severe as re-launching it, but would simply reactivate it and bring it to the fore. With this model, quitting an application would simply force an application to its completely unused state.
I sense a disconnect in that Gruber and other critics' arguments are largely based on implementation details. Computers suck. Let's make them better.
Posted by ned at November 9, 2002 02:23 PM