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.
Comments — 2
Jan 30, 2010
Great posting. The sad thing is that none of this is actually new, and all halfway competent programmers already kind of know about it, and yet the problem prevails. Take Firefox: “Do you really want to irreparably destroy your 50 open tabs when exiting?” – Effin’ stupid question. Why the hell would I want that? Why give me the option? And yet there are “experts” working on these user interfaces.
Jan 30, 2010
> The sad thing is that none of this is actually new, and all halfway competent programmers already kind of know about it, and yet the problem prevails.
Yes it is irritating; I think the problem is that developers are reluctant or too lazy to invest time into such things.