We are in the middle of an endless conversation* in the office :

Should undos have a timer before disappearance or should they be displayed until next action?

In our discussion, closing or changing pages is an action but clicking in white-space is not (this also can be debatable).

I am not going to beat about the bush: I am against the timer. I feel it is stressful and the time chosen is completely random. Every user can take her own time to read and execute things within the application. This does not prevent me from being open to discussion.

Gmail does have a timer in its optional undo for sending mail for instance :

Screen shot of GMail undo send email banner

This leads to my next question: if a timer is the best option, should the application display a countdown or not ?


Case 1: An accounting software for non accountants - like double entry bookkeeping for those who are interested, so it means undoing is kind of sacrilegious but a mistake is really bad and ugly. The action we are dealing with here is a new line in the book.

Case 2: A time-track workflow and the action we are dealing with is validating the calendar and sending it to the manager for validation. It does not have to be real time.

I know it is impossible to be in the middle of an endless conversation

Furthermore : Do you have any examples of undos message? Using a timer or not.

  • 3
    Does the timer control the message indicating the availability of an Undo feature or does the timer control the availability of Undo? The Gmail example conflates the presence of the message with the availability of the function. Commented May 7, 2013 at 15:30
  • 1
    Really interesting question. In our minds the undo feature and the message were the same, but you are absolutly right: they have to be considerated separately. Actually in Gmail there is a timer for the undo feature but non for the "has been sent" message, wich fades when another action. Commented May 7, 2013 at 15:38
  • 2
    Short so no answer, but I think in standard use UNDO is unlimited. The Gmail case is an exception because there comes a point where the message cannot be revoked. The workflow of email requires that once it is sent(it's not really sent in gmail until the timer hits 0) it is no longer in the control of the emailer. So an undo becomes impossible. So if you can undo the action allow it forever, if you can't give it a timer until the action is then performed and finalized.
    – Frank B
    Commented May 7, 2013 at 17:05

2 Answers 2


Case 1: You do not have a timer and the notification stays till it is manually dismissed.

There is nothing wrong what-so-ever with this approach. You display a message for undoing and it stays till the user has read and consciously dismissed it. Great persistent feedback and lesser chance of missing it even if you are distracted somewhere for a while. The benefit is, the message need not be an attention hog and can remain in the peripheral view

Case 2: If you want to implement a timer. Make sure the user is aware of it.

'This message will be dismissed in 1 minute'

Also, in such a case you have to make the message prominent. It needs to be in the user's face since he has to choose whether he wants to undo the action within the time frame or forfeit the ability to do so.

This makes sense in something like, You've sent the email and can cancel that within 1 minute. It makes sense to have a timer for this kind of action.

Timer is needed in a situation where the action can be undone only in a given time frame, eg: undo a sent email. But if the action has no (short) time frame then the timer is not needed, eg: undo mark as spam.

A common example:

Mac (windows has similar afaik) shutdown prompt: enter image description here

If you do not take action in a minute, you cannot undo the action :)

  • I do not want the timer in any case actually. I feel you do not want it either: tell me more... Commented May 7, 2013 at 15:32
  • @GildasFrémont look at the last section
    – rk.
    Commented May 7, 2013 at 15:34
  • Thanks. I really agree with you, unfortunatly there is a debate about what (short) time is. Commented May 7, 2013 at 15:40
  • @GildasFrémont You can think of the session as the longest time frame (no messages once session is terminated). Anything less than 1 minute depending on the context, can be considered a short amount of time.
    – rk.
    Commented May 7, 2013 at 15:51

Limiting the time for undoing actions limits also the undo feature to 'oops...' functionality only/mainly. It will not let user undo some actions they performed in past after getting some more information about whatever is related to this action, or the element the action was performed on. So having an endless undo feature is a value from user experience point of view.

The main question is: what is the cost for providing user with non-expiring undo feature? I can see two main factors:

  • system logic - if remembering these actions is problematic from the system point of view (while working on big data for example or if it could interfere somehow with some other system logic in background)

  • cluttering the interface.

I would say (for some systems, where data has great value and losing it would be harmful for system, user or organization) providing a non-expiring option to undo actions is important. Anywhere else (especially if the data entered is simple and can be quickly redone) it can be time limited or even not available.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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