In a multi-step task-based UI, imagine the flow below -

  1. User adds a task and a panel opens up to fill in the task details
  2. User fills the details and saves the task
  3. User closes this add-on panel
  4. User performs an undo for some reason
  5. The undo operation is applied to the closed task panel as that was the last action

However, this does not seem right as the action taken by undo isn't in the user's view. Thoughts?

  • One option we are considering: - Showing each undo action's type as a toaster message. This way, even if the undo happens on a panel tucked away, the toaster message keeps the user informed. A small con could be little visual overload here.
    – Amit Jain
    Dec 11, 2020 at 16:03

3 Answers 3


When you perform an Undo, things should generally returned to the state they were in before you performed that action.

In this case, that sounds like the closed panel should be re-opened, and its contents and keyboard focus should be reset to the state just before the user originally made the change that they just reverted.


Undo applies to the model, not view

Undo/Redo operations are applied to the system model (data), not the view (search MVC for more).

There is never a guarantee that when the user performs the undo operation, the affected data will be in the view.

If you try Miro (or any other similar app), you can add a shape, scroll it out of view, undo, and it won't re-position you to where the shape used to be (doesn't really make sense because it isn't there).

Having said that, on some applications the editor does takes you back to where what you had used to be (like on an IDE, because the undo also tracks the position in the document).

Still undos can be "per document"

In and IDE, or a word processor, undos are per document, not for the whole app. So there is higher chance that changes will be in the view.

In your specific case, after the user has created a task, I guess it will show somewhere on the screen (a table maybe)? So if the user clicks undo, that record should disappear.

Undo is normally for recent actions

So what a user undo is normally in their memory.

Undo operations have a title

Undo operations carry a title, so an undo menu item should say "Undo add task".

For keyboard shortcut triggers, you can always show a toast.


The flow is right, but you can prevent this, showing a warning from users, and asking if user wants to continue.

Here's two articles to help you! https://www.nngroup.com/articles/slips/ https://www.nngroup.com/articles/user-mistakes/

  • The issue is not about guiding the user or showing errors. It's more about, handling the situation where undo/redo happens on a UI section, not in user's view.
    – Amit Jain
    Dec 11, 2020 at 16:00
  • I saw your comment and you are considering show a toast message, I thinking my awser saying about this, the feedback from users, please be more specific Dec 11, 2020 at 16:31

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.