I've been thinking about this a lot lately because it's bitten me in the behind a few times.
Think of the Windows User Account Control in Windows Vista (and to a lesser extent Windows 7). The idea is that when something that can break your machine happens (like malware trying to install or opening a system folder), the UAC pops up and makes sure that you're aware of what's going on.
As a power user, I get the UAC control a lot. To the point where I automatically dismiss it. So the one time where it could have saved me (a website was hacked and was installing a virus on my machine) I automatically clicked yes.
Another scenario on the Xbox, you get a lot of "are you sure you want to do this" prompts. Again I automatically accept those.
Well there was one time that I accepted it without thinking then saw "this will wipe your profile saves on all attached storage, do you really want to do this" as the dialog I just accepted went away. With the net result being that I lost a year's worth of game saves from my Xbox. Boxers in Fight Night, Racers in Need for Speed, Fully powered up warriors (and 60 hours of gameplay) in Blue Dragon were all gone because I had become so inundated with "are you sure" prompts that by the time I really needed to pay attention, I had been indoctrinated to ignore them (like how everyone automatically clicks accept on the EULA and Terms of Service dialogs).
Is it a matter of crying wolf? Or is there something more to it. How do I keep the user aware of important events without innundating them?
Answer
Mostly it’s crying wolf. Ninety-nine percent of the time the user selects the command, that’s exactly what they mean to do, so they very quickly get in the habit of smacking the OK button without more than a glance at the message. Designers don’t help the situation often providing vague, incomplete, or jargony messages, so that if users do take the time to actually read them, they don’t get any helpful information to decide if they really should proceed or not. Instead, users are rewarded with just getting past them as fast as they can.
As for solutions:
Use warnings as little as possible. They should only appear for truly exceptional situations. If normal use of your app results in a message box, then your UI is wrong.
Rely more on making it clear what will happen before the user selects the command (e.g., clear labels in user’s language, dangerous controls spaced away from common controls). If deleting a profile also deletes saved games, then the screen should graphically show that a profile includes the saved games.
Make it possible to reverse any action at least as easily as it is to commit it. This can be through an Undo feature. If it’s easy to revert, you don’t need a warning. Don't delete the profile. Recycle it.
Make dangerous commands less dangerous so they don’t need a warning. Maybe you don’t want Select All to have the Ctrl-A accelerator in your app if users rarely need to select all and it can lead to accidentally deleting an entire document. Can we make it so that deleting a profile does not delete any saved games? Can we make deleting a saved game a separate operation?
Make the warning effective with a single glance. Even if you do it right and only have warnings when they are really necessary, users click-OK reflexes are so well-trained from other apps, you still have to assume they’re going to look at you warning only long enough to see how to get past it. You want to maximize the chance they get the key elements of the warning despite the users’ training.
The text should be as terse (but complete) as possible. Don’t say: “You are about to delete your profile for Boxer Craig Crusher, which will delete all saved games associated with this profile. Are you sure you really want to do this?” Say “Delete Craig Crusher and his saved games?”
Label the execution button with the action to commit (e.g., “Delete”), not simply “OK” or “Yes.” At least you can count on users looking at the button, and if they meant to hit “Copy,” they’ll see they’re wrong.
Consider giving each message a unique icon or picture to represent the consequences. A clear picture can be processed with a glance. Show graphically what will happen (e.g., Craig Crusher dissolving away). If what’s being affected can't be shown in its entirety parent window, then show it in the message box.
See my answer to Verification of Consequences for an example. I’ve more on dealing with the plague of message boxes at Of Dialogs and Detritus.
No comments:
Post a Comment