Undo

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

Show Your Pattern Examples Here!

Add your examples to this pattern by adding them to flickr.com group UIPatternFactory.com and tagging with this tag:


photos in UIPatternFactory.com tagged with 	undoMore photos in Flickr group "UIPatternFactory.com" tagged with undo

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

4 Response to “Undo”


  1. 1 MikeWhoBikes

    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.

  1. 1 La importancia del Undo en las Aplicaciones Web
  2. 2 uxdpxn » Blog Archive » Design of Flow
  3. 3 Sjors Timmer » Blog Archive » Design of Flow

Leave a Reply