Undo

After managing to implement save/load in my demo, the next thing of course was to implement the undo function. Under the hood, the mechanism is the same — I encapsulate the entire current state of the demo, and then I stash it somewhere for whenever I need to get it back.

But from the perspective of a user, the implications are profound. An undo button frees you up to experiment, to try new things. You can make as many goofball mistakes as you want, because you know that you can always roll back time.

I remember visiting Walt Disney Animation studios some years back. The animators were all using data tablets to create their drawings.

I asked them whether they preferred the tablets to old-fashioned pencil and paper. “Oh no,” they all said. They explained that pencil and paper is far better — more expressive, more accurate, more personally satisfying — in every way but one.

When you draw on a tablet, you can hit the undo button. And when you are in the heat of production, that one detail is more important than everything else.

The undo button is one of the best things about computers. Wouldn’t it be wonderful if we could have an undo button in real life? I still recall that sad moment, in my early twenties, when I backed my dad’s car into a telephone pole…

Leave a Reply

Your email address will not be published. Required fields are marked *