Software should know that we won't have a chance to think before accidentally throwing our work away.

Wednesday
18 Jul 2007

Never Use a Warning When you Mean Undo

UI Design Fundamentals

Have you ever had that sinking feeling when you realize — just a split second too late — that you shouldn’t have clicked “Okay” in the “Are you sure you want to quit?” dialog?

Yes? Well, you’re in good company — everybody has had a similar experience, so there’s no need to feel ashamed about it. It’s not your fault: it’s your software’s fault.

Why? Because software should “know” that we form habits. Software should know that after clicking “Okay” countless times in response to the question, we’ll probably click “Okay” this time too, even if we don’t mean to. Software should know that we won’t have a chance to think before accidentally throwing our work away.

Read more of Aza’s article on A List Apart to find out how to solve these warning woes.

by Jono DiCarlo



COMMENTS

13 Voices Add yours below.


It’s interesting that web apps are really pushing this concept, led it seems by Google (though I have no real authority to say that, it’s just my uneducated perception).


I hate it when I click too soon like this!


Yes *exactly* like this! I just mistyped the URL in my comment…


So, you’re saying our weblog should have the ability for commenters to edit their comments after posting them?

I agree!

…but I’m not going to do it today. There’s too many Enso features I need to work on. ;-)


I was quite happy to see Aza’s article on A List Apart, though I must admit that I didn’t realize who had written it until I saw the word “humane.” I promptly scrolled to the bottom of the page to confirm my suspicion that it was someone from Humanized.

Jono: Glad to see that you’re working hard on Enso. I’m just hoping that Enso supports Vista soon. :-)


Funny you should mention Vista, Joshua… we just released the patch for that. See the latest weblog post for details.


I was reading this on ALA and was thinking this is this is just a rip of Aza! Jumped to the end and there was his bio - I should have read the by line first. ;-)


Is anyone else worried about their privacy when using Google or is it just me? Googles policies have been found to be very anti privacy. I think that was by privacy watch or privacy international.


The real answer is:
“Only use a button labeled OK when you are telling the user something they are supposed to KNOW. If you want the user to make a choice that is an ACTION, use buttons labeled with VERBS.”

Example: In the “Do you want to really want to Quit?” scenario, the buttons should be labeled:
Cancel, Quit
They should NOT be labeled:
Cancel, OK
Buttons should almost never be labeled: Yes, No
Buttons are verbs - the user is acting. Don’t make the user parse boolean equations just to know what button to click. If you are asking whether or not to save, the buttons are:
Cancel, Don’t Save, Save
(with Save as the default). The want-to-save buttons should never be Cancel, No, Yes.

So, often the problem isn’t Dialog versus Undo (how do you Undo a Quit?), but rather bad dialog versus good dialog.


Thanks, Jono!


In response to Daniel:

I agree that labeling buttons with verbs is an improvement over “OK” and “Cancel”, but that’s not enough to solve the problem.

When I click a certain button out of habit, it’s not because I read the text and am confused about what it means — it’s because I don’t read the text at all. Therefore, it’s just as easy for me to form a bad habit of clicking “Don’t Save” as a bad habit of clicking “Yes”. The risk of losing work due to habituation is unchanged.

If we’re talking “bad dialog” vs. “good dialog” vs. “no dialog”, I prefer “no dialog”. Why isn’t all the stuff I create simply saved automatically? “Disk space” isn’t a good enough answer anymore — I could spend my whole life writing text and not come close to filling up my 80 GB hard drive. If everything I did was always saved, there’d be no need for this dialog box. This raises other questions, of course, but they’re not insoluble.

How do you Undo a Quit? The application should re-open with everything in exactly the same state as it was before the user selected Quit. I think this behavior would be welcome, unambiguous, and consistent with other uses of “Undo”.

There’s an implementation problem there, but that’s left as an exercise for the reader.


I really feel like this is a bit of a null point really. Of course an undo feature is good.

I don’t think it’s a design mistake though, I believe it’s a cost thing. There’s tons of usability improvements that could be made to any software, but that doesn’t mean that the value of them is good enough to warrant dedicating the time to someone creating it.


Rewritten as an inflammatory rant with shiny screen shots of Vista’s User Account Protection dialogs mixed with acusations of firewall vendors, Linux, and OS X doing the same damn thing (OS X and new programs, ugh…) and you have a /.-able article.

You could also mention how the dialog asking for your account password for a hard-drive-eating-trojan and “Hello Kitty Goes to Summer Camp Installer” can look exactly the same. *Screenshot Here*

Or what about SSL certificate mismatches, accompany with a video of 30 volunteers all giving their credit card over to a website after blindly clicking through such a warning. Well, thats probably a bit much…

Point being that it’s not just an annoying time waster: the user environment must be secure by default because anything requiring the user to stop malicious programs is bolting on an excuse parading as a solution.


POST A COMMENT

Please respect this public space


 Required

 Required



 

Live comment preview