I've noticed a trend where a few services are starting to implement an "Undo" Button within messages, providing the possibility to undo the last interaction. When deleting an email in gmail for example.

gmail undo

This pattern is propagated by a few saying it provides the user with a safety net and respects habituation. I personally think:

  • the message always presumes I did something wrong and does not respect my conscious decision.
  • The message entails visual clutter.

I don’t fancy a message asking me if I „really really“ want to do this-or-that either. But I don’t see the difference to a message retrospectively asking me if I really really wanted to do this-or-that + undo.

In my opinion this pattern is a lazy solution for not wanting to think of or implementing a better solution:

  • When accidentally sorting desktop files on a mac it remembers my manually sorted structure and recovers it when I select "none" again. No "Undo" necessary.
  • When formating text on the evernote iOS App to plain-text, in saves the old formating in the background so it can be reselected if necessary.
  • Gmail has a trash-bin.

Should I suggest implementing undo-functionality in our software to?

Edit (15/08/13) Don't get me wrong. I understand the importance of the undo feature. But why is it getting so much attention?

  • 6
    I think it is more of a way prevent you needing prompts before deleting or removing things. So instead of asking are you sure you want to do this, it provides an unintrusive undo option instead, incase you accidentally clicked an option. – User112638726 Jul 27 '15 at 7:52
  • An error message is not unintrusive @User112638726 – uxfelix Jul 27 '15 at 8:55
  • 1
    I depends on how you define unintrusive. It is unlikely to block content or prevent the user from continuing what they are doing, whereas a prompt box would.Say you were deleting multiple things then you would only require one click, instead of two to confirm deletion. The alternative would be to have nothing, and assume the user would know where their deleted contents have gone and that they are recoverable at all. – User112638726 Jul 27 '15 at 9:14
  • 2
    The message doesn't presume you have done something wrong, the alternative is a modal (or worse) popup that asks you are you sure every time you want to delete something or take an action. – Varedis Jul 27 '15 at 9:16
  • @User112638726 I would say the alternative would be to provide the undo-feature in one consistent place as is in many desktop programs and not in a message. I don't understand why this feature is getting so much attention. It's like telling the user "We believe most of the time you are doing something wrong, so we provide you with an undo after every interaction." – uxfelix Aug 13 '15 at 5:34

I think it's a good practice to provide Undo/Redo because a user can choose a function by mistake and he should be given a mechanism to leave this unwanted state. It's not a lazy solution but an option given to user for better control.

When designing a system, it's important that you first optimize the design to prevent any errors. You can refer to these usability heuristics to cover the fundamentals. Still, we cannot assume that the user will never commit a mistake. Quoting from an article on GoodUI:

Undos respect the initial human intent by allowing the action to happen smoothly first and foremost.

Therefore, it's important to provide undo for better user control over the system.

  • I am always confronted with it although most of the time I am conscious of what I am doing. For me providing a default undo prompt is not an "option". – uxfelix Aug 13 '15 at 5:21
  • Yep, "Support undo" is one of the ten usability heuristics brought down from the mountain by the prophet Nielsen. It's UX 101. – Ken Mohnkern Aug 13 '15 at 12:43

An "undo" function isn't the same as a prompt because the former keeps control of the workflow in the user's hands, whereas the latter seizes it (i.e. the user is more passive).

Undo is all about reverting state. If the previous state is:

  1. easy to remember or inspectable, and
  2. the action to change the state is easy to perform, and
  3. history (i.e. state changes) isn't important

undo may be unnecessary as users can undo a mistake as easily as making one. Another way of putting it is that "undo" isn't necessary if it's conceptually easy to reach a previous state by going forward ("I'm in state X, and I want to be in state Y") rather than backward ("X to Y, then back to X"). However, if any of these aren't the case (and the list isn't necessarily exhaustive), then having the user responsible for reverting state is less usable than "undo" because it plays to humans' weaknesses in an area that are computers' strength.

A (potential) issue with attaching "undo" to a result message is that the message is transitory. If no other method of accessing the undo functionality is available, the user has a narrow target in time to hit, which is worse than small screen targets since there's only one shot. With a small target on the screen, a user can (in most instances) keep trying (responding to certain prompts, such as "Do you want to save before exiting?", being the exception).


In GMail (and also other Google services, like Google Docs) all changes are applied immediately. In many cloud-based software there is no "Save" button. It's because of many reasons - one is to allow the user work with his web browser, which has limited capability of asking "Save before quit?", because modern browsers do not show this text (if provided by a webpage) in a modal dialog window. This requires constant saving (or backing-up) of the file/work. This is a bit different to older solutions, when only back-ups were created on the fly, but saving the original file required the user decision.

Every time a document is automatically saved, you are informed in a similar window about the fact. It makes you feel comfortable that you are not losing your work, and that something happened you might have wished to do (ie. save the file), but there is no possibility to do this in this software (there is no save button). You might want to save the file, but you will lose time for searching the "Save" button. You are informed it was made for you automatically, so you won't waste your time for searching the button.

Deleting (an e-mail, a contact, a document) is also a change to the system that is performed immediately. There is no possibility to ask you, because you can give no answer, just by closing your browser. You could have done this intentionally, but also by a mistake, having even not noticed it, because there can be a keyboard shortcut, which you do not expect in a web application (you can expect that the Del key does nothing in Mozilla Firefox). So you are informed that something happened and this is the main purpose of the message box.

The Undo button is to make you sure, that even if you did this by mistake, there is no problem. Even if you don't know about the "Trash" folder, you won't panic. You are just one click ahead to take back what happened. If you don't see the "Undo" link, you can think that this can't be taken back.

The message does presume you did something wrong. It has yellow background, so it is easily seen and attracts your attention. It has the same functionality as a modal dialog "Are you sure?". You may say that "are you sure" dialog implies you are not sure and maybe even you have some sort of schizophrenia. But most users agree that it's better to confirm one time too many than one time too few.

Also, the yellow "undo" message window is small. If you know what you're doing, you can easily ignore it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.