What
Give the user an option to easily undo an action.
Example image
Remember the milk gives users the option to undo their actions.
Use when
- Whenever there is an opportunity to lose work, the program should allow undo actions.
- The more costly it is to lose data, the more important it is to provide undo.
Why
- Undo increases user’s feeling of being in control.
- Software that allows you to undo is software you can trust.
- We all make mistakes, for example, end up clicking “OK” on the “Are you sure you want to quit” dialog. We don’t pay attention to what we click because we have clicked “OK” for so many times.
- Therefore, instead of warnings/confirmations popups, provide undo function.
- Never use a warning when you mean undo.
How it works
- Start by deciding which operations need to be undoable, and creating an undo stack.
- After an undoable action, show and highlight info text for undo at the top of the page (tell the user what he just did) and provide an undo link/button with it.
History
The first version (1.0) was created on March 15, 2008 by Janne Lammi. It is inspired by Aza Raskin’s article “Never Use a Warning When you Mean Undo”.
Pattern Gallery
More photos in Flickr group "UIPatternFactory.com" tagged with undo



This is a pattern/feature that I’m seeing more and more lately, which is great because it really is essential when users are accustomed to the desktop environment where Undo has been standard for many years. It should have been implemented in web apps long ago, but better late than never.