The default answer to every dialog box is "Cancel"
The problem with displaying UI is that people will take every opportunity to ignore it. This story of how people deal with virus warning dialogs (via Don Browning) is a template for how users treat any unexpected dialog: They try to get rid of it.
We see this time and time again. If you are trying to accomplish task A, and in the process of doing it, an unexpected dialog box B appears, you aren’t going to stop and read and consider B carefully. You’re going to try to find the quickest path to getting rid of dialog B. For most people, this means minimizing it or clicking “Cancel” or just plain ignoring it.
This manifests itself in many ways, but the basic idea is, “That dialog box is scary. I’m afraid to answer the question because I might answer it incorrectly and lose all my data. So I’ll try to find a way to get rid of it as quickly as possible.”
Here are some specific examples, taken from real customers:
“How do I make this error message go away? It appears every time I start the computer.”
“What does this error message say?”
“It says, ‘Updates are ready to install.’ I’ve just been clicking the X to make it go away, but it’s really annoying.”
“Every time I start my computer, I get this message that says that updates are ready to install. What does it mean?”
“It means that Microsoft has found a problem that may allow a computer virus to get into your machine, and it’s asking for your permission to fix the problem. You should click on it so the problem can be fixed.”
“Oh, that’s what it is? I thought it was a virus, so I just kept clicking No.”
“When I start the computer I get this big dialog that talks about Automatic Updates. I’ve just been hitting Cancel. How do I make it stop popping up?”
“Did you read what the dialog said?”
“No. I just want it to go away.”
“Sometimes I get the message saying that my program has crashed and would I like to send an error report to Microsoft. Should I do it?”
“Yes, we study these error reports so we can see how we can fix the problem that caused the crash.”
“Oh, I’ve just been hitting Cancel because that’s what I always do when I see an error message.”
“Did you read the error message?
“Why should I? It’s just an error message. All it’s going to say is ‘Operation could not be performed because blah blah blah blah blah.'”
When most people buy a car, they don’t expect to have to learn how an engine works and how to change spark plugs. They buy a car so they can drive it to get from point A to point B. If the car makes a funny noise, they will ignore it as long as possible. Eventually, it may bother them to the point of taking it to a mechanic who will ask incredulously, “How long has it been doing this?” And the answer will be something like, “Oh, about a year.”
The same goes for computers. People don’t want to learn about gigabytes and baud and security zones. They just want to send email to their friends and surf the web.
I myself have thrown out a recall notice because I thought it was junk mail. And computers are so filled with pop-up messages that any new pop-up message is treated as just another piece of junk mail to be thrown away.
Automobile manufacturers have learned to consolidate all their error messages into one message called “Check engine”. People are conditioned to take the car in to a mechanic when the “Check engine” light goes on, and let the mechanic figure out what is wrong. Can we have a “Check engine” light for computers? Would it be feasible?