The History of the "Undo" Function? 61
TheLocustNMI asks: "So, earlier today as I was typing out some magnum opus of a stored procedure, I highlighted to copy it, and hit SPACE instead of Ctrl-C. Without thinking, I hit Ctrl-Z to 'undo' my folly. Pausing a moment to reflect, I realized that I own countless hours of thanks to whomever came up with the "undo" button. In short -- my question is this -- where did it come from? What are the earliest implementations of the 'undo'? (a quick googling returns this page, a cornucopia of undo and history related treatises)"
Since the dawn of computing... (Score:1)
Re:Since the dawn of computing... (Score:3, Interesting)
Re:Since the dawn of computing... (Score:2)
Before Computers (Score:3, Funny)
Re:Before Computers (Score:4, Funny)
Re:Before Computers (Score:2)
alt.folklore.computers (Score:4, Insightful)
Re:alt.folklore.computers (Score:5, Informative)
Good question (Score:3, Funny)
Seeing how things have been lately, it's worth finding an answer for this question before someone attempts to patent the idea.
Re:Good question (Score:1)
So you may be too late. (surprised? not really)
Re:Good question (Score:2, Funny)
Arabian Nights? (Score:3, Interesting)
IIRC, there was an example in the Arabian Nights. Of course, this was long before computers but it still worked like magic.
-- MarkusQ
P.S. On a more serious note, I wouldn't be all that shocked to learn that 'undo' wasn't implemented on a computer before the 1970s. My main reason for thinking that is that it is relatively expensive, and really only useful in interactive environments. When you're editing your program by manually shuffling h-cards, there isn't much sense in having "undo".
IN 1984 (Score:1, Troll)
Re:IN 1984 (Score:1, Offtopic)
That is soooo 2002. It should be:
history Ctrl+Z You!
Re:I'd like to know (Score:1)
This can be a huge problem if you work with sensitive information. Lawyers, for instance, routinely re-use the headers and formatting from old documents. With this "feature", sensitive information from a client's case can make its way into documents for other cases. That's one of the reasons that informed lawyers still use Wordperfect.
MS Word question (Score:1)
Lawyers, for instance, routinely re-use the headers and formatting from old documents. With [undo across save], sensitive information from a client's case can make its way into documents for other cases.
Can't a user configure Microsoft Word to "slow save" a document, deleting all undo-across-save information, whenever closing it? If so, how? If not, would all the attorneys in the audience please throw a few dollars this way [abisource.com]?
Re:MS Word question (Score:2)
Not sure about that, (I've never really cared) but you can easily do "save as" and pick some format other than
Re:I'd like to know (Score:4, Interesting)
Re:I'd like to know (Score:1)
is it just me ... (Score:4, Funny)
I can run a tangent off topic! (Score:2)
Wee ... Offtopic +1!
Re:I can run a tangent off topic! (Score:2)
Re:is it just me ... (Score:1)
Actually, Control-Z brings to mind the old DOS EOF character.
The proper "undo" is either "u" or Control-Shift-_, depending on if you're a vi or emacs person.
It's Command+Z (Score:1)
Control-Z brings to mind the old DOS EOF character. The proper "undo" is either "u" or Control-Shift-_
What about Command+Z, the Mac OS undo keystroke that Microsoft shamelessly copied into Ctrl+Z in the Windows OS?
Re:is it just me ... (Score:2)
No, just when I'm getting ready to go to bed.
Try thinking "Command-Z" ... (Score:5, Informative)
The original Macintosh had "undo" functionality in its applications, right from the start.
The Apple IIGS also had "undo" functionality.
There may have been one or two individual applications before it (I don't know) but the Mac made "undo" ubiquitous.
Re:Try thinking "Command-Z" ... (Score:4, Informative)
"Command-Z" was chosen to match with the existing command keys of "Command-V" (paste), "Command-C" (copy) and "Command-X" (cut). All the major editing command keys were in the one location.
Re:Try thinking "Command-Z" ... (Score:2, Interesting)
Hmm, I'm pretty sure it was always Command-Z, no mousing required, but it was before it was called the Command key. It was just that key with the weird symbol on it (personally I called it "funnykey" back in the mid-80s). The Jargon file lists it under "feature key [tuxedo.org]".
I know on the IIgs and some Mac keyboards it was the same as the open-Apple key (I forget what the closed-Apple key was used for). On the original mac, though, I think it just had the symbol. A google search [google.com] on Apple's site turns up a number of images of keyboards among other things, though not one of the original Mac.
So the question left is, was there a documented implementation of Undo on a computer before the original Mac? Perhaps in some old word processing programs? I know there were some I used on the Apple II, but I certainly can't remember what functions they had after 20-some-odd years.
ancient history of undo/redo (Score:5, Informative)
Yes, MIT's Lincoln Reckoner [google.com] had multiple-level undo/redo in 1968. That used a screen editor, so it would be the kind of undo you are talking about, however it was probably inspired by IBM's APL line-based workspace editor.
APL programmers had multiple-level undo/redo on their selectric typewriters around 1965. Each interaction was numbered, and you could select the number of the last interaction you wanted to keep. This would reset the entire workspace so that all variables, your program image, and options would be restored. This worked by saving the workspace each time a command completed, and was also useful for restoring sessions after interrupted connections.
Single-level undo appeared much earlier -- the first IBM teletype line editors in the late 1950s had single-level undo.
Re:ancient history of undo/redo (Score:2)
Re:ancient history of undo/redo (Score:2)
Re:Try thinking "Command-Z" ... (Score:1)
I never saw this mentioned in the usability reports I read.
Or AZERTY (Score:2)
Re:Or AZERTY (Score:1)
To what language does AZERTY belong?
Re:Or AZERTY (Score:2)
The stupid thing is, there is even a difference between French azerty and Belgian azerty. All the letters are in the same place, but there are difference with regards to other characters like the backslash.
BTW, not everyone uses azerty around here. Some folks, especially programmer types, use qwerty.
Re:Try thinking "Command-Z" ... (Score:1)
Also, I'm sure someone will tell how Steve stole it from Xerox, IBM, Santa Clause, or the Tooth Fairy.
I always wondered why it was Command-Z. Thanks for clearing that up.
Re:Try thinking "Command-Z" ... (Score:1)
Re:Opps! (Score:1)
No undo sans redo (Score:1)
btw, the "Done buns can't be undone" saying from Insomnia keeps on playing in my head...
No Undo for 10+ Years (Score:3, Funny)
NI added undo to LabVIEW in the 5.0 release (ca. 1997) of the product. It was really funny how the marketing from NI revolved around that feature. "Now with UNDO!" You would think that promoting the introduction of a feature that is so ubiquitous in most other desktop software would be less than effective--that people would groan because they had expected it for so long. However, at one of their trade shows, the presenter mentioned the new UNDO and got a standing ovation.
Ctrl-C (Score:1)
Xerox had it in the late 70's (at least) (Score:2)
BTW, the system was also a WYSIWYG high res windowed display, with three button mouse, laser printer, removable (personal) hard drive, drag and drop file handling, ethernet with an internet (arpanet, actually) connection. The first thing I ever saw on it was someone in Rochester, NY playing a 3-D real-time multiplayer game (mazewars?) with someone in California.
I have never quite recovered from the IBM PC downgrade.
And with DWIM, you need UNDO (Score:2)
DWIM could be turned off, set so it asked you before changing anything, or set to automatically fix your inputs. That last setting would be completely intolerable without UNDO, which Interlisp also had, so even if DWIM guessed wrong, corrected your input to the moral equivalent of 'rm *', and ran it, you could still recover with UNDO and try again.
The oldest Interlisp reference I can find is the 1978 Interlisp reference manual. Lisp was on Altos as early as 1973, hacked up by L. Peter Deutsch. For an academic take on UNDO, see this paper [nec.com] from ACM TOPLAS (courtesy of Citeseer).
What could be geekier? (Score:2, Funny)
Let me know how it works out.
Not the first but... (Score:1)
1975 Reference to "Undo" (Score:2)
"Commit" = "Undo" (Score:4, Interesting)
I personally first encountered "Undo" on the Mac in 1984. But this CAD program had a function... they didn't call it "commit." I don't remember the exact language they DID use.
The idea was that you never had to worry about making mistakes, because every action you took was tentative, and would be shown to you as a preview before taking effect.
So you'd give a command to draw a line, you'd see the line onscreen, and you could either accept it (in which case it became part of the drawing) or reject it (in which case it disappeared).
The weird thing about all this is that logically, it is exactly equivalent to an "undo" function.
And the even weirder thing is that while an "undo" function feels empowering and liberating... when the exact same function was presented as "tentative action, preview, accept/reject" it felt clumsy and laborious.
To me, anyway.
Re:"Commit" = "Undo" (Score:2)
Disclaimer: I've never used that program