Undo is the most forgiving idea in software: whatever you just did, you can take back. Studio Notan keeps the last fifty states of your design and lets you walk back through them, and forward again. This chapter is about how that works, and about the long history of taking back a mark.
What it does
Undo and Redo are the two curved arrows in the title bar, ‘Undo (⌘Z)’ and ‘Redo (⇧⌘Z)’. On a keyboard, ⌘Z undoes and ⇧⌘Z redoes; Ctrl+Z and Ctrl+Shift+Z do the same. On a touch screen, tap with two fingers to undo and with three to redo. A tap has to be quick and still: the same fingers moving are a pinch or a pan, and never undo anything. Each arrow is dimmed when there is nothing more in its direction.
Every finished change to the shapes records one step: a cut and its flip, a shape moved, scaled or reshaped, a press of an arrow key (held down, it is still one step), an imported shape placed. So does each reset. Each step is a complete picture of the design at that moment: the sheet’s size, the three colors, and every cut with its shape, the edge it folds over, and whether it takes paper away or puts it back. Undo lays the previous picture back down; Redo lays the next one. The app keeps fifty.
Changing a color does not make a step of its own. The colors are captured with the next step, so an Undo takes the design back to the step before, colors and all, and a color change made since then goes with it.
Undo is animated. A cut that an undo takes away folds back into the sheet; one that a redo brings back plays its fold again. After a flip there is one special case. The first Undo does not remove the shape: it asks its flip question again, with the shape still waiting, so you can send it over a different edge. A second Undo, while that question is open, lets the shape go. Every Undo after that walks back through earlier work as usual.
If you undo and then do something new, the steps you undid are gone: history is a single line, not a tree. Some things start a history afresh. Opening a project file replaces the design and cannot be undone. Reloading the page brings your design back from the browser’s autosave, but not the steps that led to it. Opening a shared design over your own is different: it arrives as one more step, so Undo gives you your design back. A photo you are tracing is never part of the history.
Why it works this way
The app records the design, not the picture of it. Each step is plain data, sizes and colors and shapes written as path descriptions, rather than a copy of the drawing on screen. An earlier version saved and restored the whole scene, and left parts of the program holding on to shapes that no longer existed; plain data restores cleanly. It also means undo, the autosave and the project file all share one description of what a design is, so they cannot disagree.
Nothing asks ‘are you sure?’, because Undo is the safety net. A question asked every time is a small tax on every time you meant it; an undo step costs nothing until the one time you need it. That is why the two resets go straight through, and why neither clears the history.
The first Undo after a flip reopens the question because that is what was asked for: the shape and the edge are separate decisions, and this lets you change the edge without drawing the shape again.
Fifty is a limit because each step is a whole copy of the design. The history is not kept across a reload for the same reason: fifty full copies written out on every change is a heavy price for something few people expect to survive a reload.
The metaphor
Undo borrows from the eraser, but it is really something stranger: a stack of photographs of your table, one taken after every move. Undo lays the previous photograph back down; Redo picks up the next. Nothing is rubbed out. You step back in time.
An eraser removes whichever mark you choose; Undo removes only the most recent step, and only in order. A better old image is the palimpsest, a parchment scraped clean and written over, whose first text survives faintly under the second and can sometimes be read again. The steps you have undone are like that under-text: still there, waiting for Redo, until you write something new, and then gone for good. That is where the metaphor breaks. A palimpsest keeps its traces for centuries; here nothing survives a new action, a reload, or the fifty-first step back.
A history
In art
Painters have always changed their minds, and oil paint keeps the evidence. Italian has a word for an earlier idea showing through a later one, pentimento, from the verb for repenting. X-ray and infrared photographs of old paintings routinely find arms moved, heads turned and whole figures painted out beneath the surface we see.
Drawing had its eraser earlier than you might expect. Before rubber, pencil was rubbed out with bread. In 1770 the chemist Joseph Priestley recorded a substance excellently suited to wiping pencil marks from paper, and the English instrument maker Edward Nairne is credited with first selling it for that purpose; the material’s English name, rubber, comes from the job. Charles Goodyear’s vulcanization of 1839 made it last, and in 1858 Hymen Lipman of Philadelphia patented a pencil with an eraser on the end.
The palimpsest is the manuscript version. The most famous is the Archimedes Palimpsest: a copy of Archimedes’ works made around 950 in Constantinople, scraped and washed in 1229 so that its parchment could carry a prayer book. Under the prayers were texts known nowhere else, among them the Method of Mechanical Theorems, and imaging at the Walters Art Museum between 1999 and 2008 read them again. Some arts, by contrast, prize having no undo at all. In East Asian ink painting and calligraphy, a stroke on absorbent paper cannot be taken back or covered without showing, and the single committed stroke is the point.
In printing
Printing’s undo is the proof. A compositor set the type, pulled a proof, and a reader marked corrections in the margin in a shorthand of symbols. One of those marks is an undo of an undo: stet, Latin for ‘let it stand’, written beside a correction to cancel it and keep what was there. Once the sheets were printed, the only undo left was the errata slip, a list of mistakes and their corrections bound into the book. Typists came later and had their own: the typewriter eraser, and then correction fluid, which Bette Nesmith Graham, a typist, began making in her kitchen in 1956 and sold as Mistake Out before it became Liquid Paper.
In technology
The first computer system reported to have an undo command was FRESS, the File Retrieval and Editing System begun at Brown University in 1968. Warren Teitelman built undo into BBN-LISP by 1971, and in 1976 IBM researchers wrote that it would be useful to let people take back at least the command they had just given. Xerox PARC’s Bravo editor had undo in 1974, and PARC’s programmers put it on Ctrl-Z. At Apple, Larry Tesler and Bill Atkinson pressed for undo on the Lisa, and the Macintosh made it a rule: a standard application’s Edit menu begins with Undo. MacPaint, in 1984, kept a single previous state of the picture in a spare buffer of memory, and that buffer was its undo.
Undo with many levels spread through the 1980s. Emacs records an undo as one more edit, so that even an undo can be undone. Photoshop 5.0 added a History palette with many steps in 1998, though Photoshop’s ⌘Z went on toggling only the last step until Photoshop CC 2019. Programmers build undo in one of two ways: record each operation with a way to reverse it, or record the whole state after each operation and step between states. Studio Notan does the second, which is simpler to trust and heavier to store; fifty whole designs is where it draws the line.
In professional software
Undo and redo are nearly universal, and so are their keys: ⌘Z (Ctrl+Z) to step back and Shift-⌘Z (Ctrl+Shift+Z) to step forward. What differs from program to program is how far back you can go, whether you can see the steps, and whether the history survives closing the file.
- Adobe Photoshop. ‘Window › History’ opens the History panel, a list of states you can click to return to any of them. It keeps 50 by default, a number set in the Performance preferences, and a snapshot holds one state for the rest of the session. The history is not saved with the file.
- Adobe Illustrator. The same keys undo and redo as many steps as the ‘Undo Counts’ setting in the Performance preferences allows: 50, 100 or 200. As here, doing something new after an undo discards the steps you undid.
- Autodesk AutoCAD.
Uundoes the last operation,UNDOcan take back several at once or return to a mark you set, andREDOandMREDOstep forward again. The usual undo keys work too. - Autodesk Fusion (formerly Fusion 360). A parametric design keeps a timeline along the bottom of the window, one icon for each feature. Drag its marker back to see the design as it was, edit an early feature, and every later one is rebuilt on top of the change. That is editing the past, which undo cannot do.
- Figma. Besides undo, Figma saves checkpoints of a file as you work. Its version history, opened from the menu beside the file name, lists them, and restoring an old version keeps the current one in the list.
- Procreate. Tap with two fingers to undo and with three to redo, the same gestures as here.
What carries over. Undo freely; it is what the key is for. But undo is a safety net for the last few minutes, not a record of the work. Photoshop’s history ends when you close the file, as Studio Notan’s ends when you reload, so save a copy of anything you may want back.
Try this
- Cut three shapes, undo twice, then cut a new one. Try Redo: the two you undid are gone.
- Flip a shape, then Undo once: the question comes back. Choose a different edge.
- On a tablet, tap with two fingers to undo and with three to redo.
Going further
Read on with Reset, File and Flipping.
- Donald A. Norman, The Design of Everyday Things
- Reviel Netz and William Noel, The Archimedes Codex