We’ve all seen it before: dialogs which ask you whether you are absolutely, completely, invariably sure that you want to close without saving changes. And you click “Yes” in your haste, and then realise that you actually kind of needed that unsaved presentation that you’d been working on all evening.
A flawed design
It’s a pretty common design in applications even today, although flawed. The problem is that it is often linked with a permanent, destructive action, and doesn’t take two important behaviours into account:
- People don’t read
- Humans being humans, we all make mistakes
It also offloads the responsibility of managing data – which often is important – to the user, and forces them to make a choice about what they want to do, a choice which often cannot be undone. But hang on, why should an action that I want to perform be completely, irreversibly destructive anyway? We have the Recycle Bin to provide a safety net for accidental deletion in the filesystem, so why shouldn’t closing a Word document without saving or unsubscribing from an RSS feed be reversible too?
Alongside this, the dialog is irritating in most situations:
- “Why are you asking me this?! I clicked on the button because I wanted to perform the action… duh” – when we’re in a hurry and just want to delete something, we have to then go through another modal dialog to accomplish the action.
- “Shiii- I needed that and I just clicked on Delete” – due to the fundamental flaw in nature of the design, it’s easy to accidentally go ahead with the action anyway.
A better design
I like the design that Gmail have implemented when you want to delete a message: the message is soft-deleted and a bar is displayed prominently notifying the user that a potentially destructive action has just taken place, but that it isn’t permanent and can be quickly undone by clicking the Undo button.
This is a great design because it caters for most use cases: if you want to quickly go through and delete messages, you can do without being inhibited by modal dialogs. However if you accidentally delete something that you don’t want to, the action can be easily reversed.