Holy cow, I wrote a book!
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
"Oh, I've just been hitting Cancel because that's what I always do when I see an error
"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?