Undo me! BY SIMSON GARFINKEL (06/01/00)
This article is an apt illustration of the old bromide: Easier said than done -- or undone.
The ability to perform an "undo" is something that has to be pretty much built into an application right from the beginning. There is no way to generalize it at the level of the operating system. Even so, there are limits to what can be done.
To have complete undo capability requires that the program carefully preserve every piece of information being changed, and that a corresponding undo function be written for each action. In many cases, the undo function winds up being far more complex than the programming for "do in the first place."
Adding undo for every action is, in most cases, at least three times as complex as a program that doesn't offer it. In any case, it is likely to be the most underappreciated feature that a programmer can provide.
Some things are just inherently not "undoable," such as "send e-mail." There are always going to be limitations. So says the second law of thermodynamics, which states, more or less, that the total amount of chaos in the universe can never be decreased.
-- Russ Holsclaw
I find it hard to choke up much sympathy for Simson Garfinkel's troubles (or those of his Intuit-challenged correspondent) as he described them in his recent call for a more generalized undo feature in operating systems and in the applications that run atop them.
The few times that that stereotypical "Yes/No/Cancel" confirmation has saved my butt has -- by a long shot -- made up for the minimal annoyance caused in those instances in which I did, in fact, mean to empty the trash, close that document without saving, format that partition, etc.
Face it: Computers -- and the software that they run -- are only tools, the proper use of which requires education, familiarity and, most importantly, care. To be sure, Garfinkel's observation that undo features, where available, should work correctly is a valid one (like his MS Word example), but I found it odd of him to use such an argument to excuse his own inattentiveness when he inadvertently obliterated those meeting minutes by misreading "Delete Memo" as "Beam Memo" on his Palm Pilot. That, Mr. Garfinkel, was your own damned fault -- made all the more inexcusable by your own experience as a designer, or in this particular case, as a user.
You can swing a hammer for 40 years and still hit your thumb on occasion. When that happens, it would be a bit more sporting of you to curse yourself than to complain about the tool manufacturer's lack of humanity. (And, anticipating Garfinkel's possible response, let me add that the weight of the hammerhead should be enough real-time warning as to the potential damage you might do upon each application of the business end.)
At some point, the responsibility of software ends, and that of the user's consciousness kicks in. Otherwise, we can all look forward to the day on which the user wakes up long enough to hit "Enter," and the interface takes it from there. Pretty silly, if you ask me.
-- Michael J. Kiraly
Simson Garfinkel claims that no program has a decent undo feature, and this is quite simply untrue. Adobe Photoshop and Adobe Illustrator have fabulous undo features. As a writer and a programmer, he probably doesn't interface with these programs very often, but anyone who has used Photoshop's undo in conjunction with its history and snapshot features could barely ask for a better system.
Perhaps he and the writers he quotes should look to the "change and change again" intensive graphics world for guidance on how powerful undo can be.
-- Philip Kightlinger