How Do You Get Users To Read Error Messages?
A BOFH writes "The longer I do desktop support, the more it becomes obvious that my users don't read anything that appears on their screen. Instead, they memorize a series of buttons to press to get whatever result they want and if anything unexpected happens, they're completely lost. Error logs help a lot, but they have their limits. I've been toying with a few ideas, but I don't know if any of them will work and I was hoping my fellow Slashdotters could point me in the right direction. For example, I was thinking about creating icons or logos to identify specific errors. They might not remember that an error is about 'uninitialized data' but they might be more able to remember that they got the 'puppy error' if I showed a puppy picture next to the error message. Or for times when finding images is too time consuming, you could create simple logos from letters, numbers, symbols, colors, or shapes, so you could have the 'red 5' error or 'blue square' error (or any combination of those elements). I've even wondered if it would be possible to expand that to cover the other senses, for example, playing a unique sound with the error. Unfortunately, haptic and olfactory feedback aren't readily available. I like to think that my users would remember the error that caused them to get a swift kick in the balls. And if they forgot it anyhow, I could always help them reproduce it. Does anyone else have experience with ideas like these? Did it work?"
they memorize a series of buttons to press to get whatever result they want and if anything unexpected happens, they're completely lost.
Sounds like their jobs are easily automated. Tell them if they don't pay closer attention to error messages you'll inform their boss how to replace them with another computer program. ;)
Developers: We can use your help.
Do yourself a favour and produce a one-click tool that collects all the info that you need (logfiles, version numbers, registry listings) and sends it to you. If you can make it 0-click, even better.
If you were blocking sigs, you wouldn't have to read this.
We attempted that in our own organization, but the fact that no one read any error messages didn't change. All that did change was that we now had a large mass of grown adults who wet themselves. What we did find effective was sending the individuals to a kindergarten, where they would be taught how to read. Electroshock treatment continued, however, as a means to address the stress of the help desk personnel.
SSC
I've even wondered if it would be possible to expand that to cover the other senses, for example, playing a unique sound with the error
You're going about this the wrong way. You don't make the user remember, you make their colleagues remember. Supply your users with a 5.1 sound system attached to their PC and when the user encounters an error, the speakers blast "HEY EVERYBODY, I'M WATCHING PORNO OVER HERE".
As I said, make it a memorable experience.
8 of 13 people found this answer helpful. Did you?
I had done something very similar, but I kept it very simple for troubleshooting.
3 colours: red, amber, green
3 shapes: circle, square, triangle
Another idea I was toying with was to substitute traffic signs: ie. stop, yield, caution, etc.. but I found that people are used to ignoring those.
With my setup, it gave me 9 distinct error levels (more if I used them in combination), but 9 was good enough for me to track down most problems.
Shapes:
Circle - Bad Input (i.e. data field entry)
Square - Bad Output (i.e. printer jam)
Triangle - Back-end (db/php/html, etc..)
Red, amber, Green = error levels
"The price good men pay for indifference to public affairs is to be ruled by evil men." ~Plato (427-347 BC)
In the late 90's our startup had HP as a customer for a new on-line product. One day, about six months after they had become a customer, we get a call saying our product does not work. At the end of a SIX HOUR support call, I got on a plane for a cross-country flight because we just could not duplicate or figure out the problem. At 7:00 AM that morning I arrive, and at about 7:03 AM had the problem figured out. HP had recently made a change to their nework removing the browser ID string when employees were surfing the net. Our product needed that information for some processing. Even though the error message was CLEARLY being displayed, not once in the previous day's support call did this get mentioned. "Oh, that happens all the time, it happens with all sorts of applications, so we just ignore it." We had a fix in place by 10 AM and I was back on a cross country flight that afternoon. All because the customer ignored an error message.
Dear Slashdot,
I am filled with a black, unutterable contempt for the troglodytic users of my application. Can you suggest ways to translate this contempt into software?
Read my blog.
It's not an error. Errors prevent you from continuing. The only thing approaching an error is the little box telling you there's a problem. That is solved by the user clicking "OK".
The entire way errors are handled is wrong. I don't know what the solution is but I very much doubt it's a simple modification to the current fundamentally flawed system.
I have been wondering about this for 30 years. End users are not interested in learning how the computer software works, except for how it lets them do their job. On-screen messages, manuals, fax-back systems, wiki pages, they don't care. What they want is to pick up the phone, make a call, and have someone tell them what to do. At first, I thought it was them being lazy. However, I now think it is closer to why programmers don't like to be interrupted in the middle of a task. The user has a mental model built up of their task, and they don't want to risk losing it while they search for information on an error. Making a phone call, and having someone else walk them through the problem solving means they can maintain their task in "main memory". For them, it is more efficient.
Why, without your clothes, you're naked, Miss Dudley!
Amiga had this right. Use a little humor with your messages, it may diffuse the anger and get some sympathy.
As a corrallary: Reduce the number of errors/confirmation dialogs they see on a regular basis. If they regularly have to click-past dialogs, they get trained to do that without reading them. If the presence of a dialog means 'call helpdesk, and read the dialog to them', they are more likely to pay attention to it.
Make seeing a dialog an exceptional case, not a normal case.
'Sensible' is a curse word.
I was the alpha geek on a Help Desk at a multi-state corporation, and the CIO had worked with me as an engineer before getting the job. When people too (self-)important to call the Help Desk had a problem, they would call him directly. He would give them to me, and I would make sure they were kept happy and their issues got resolved.
One day, after a vice-president had SCREAMED at him because they couldn't log on, he asked me what I had done to fix it.
I told him that their 'caps lock' had been on.
He asked, "Doesn't the Windows error message remind users to check that?"
I told him, "His lips got tired before he read down that far."
As a game designer, and sometime game UI designer, I feel your pain.
The best way to get people to read your error messages is to have very few of them. People just tune them out. If you're tossing up error messages for things like synchronizing to network shares before the user really needs to, or connecting to 3rd party tools that the individual tool can handle the error for, cut those. They'll get to those errors later anyway, or the problem will be fixed by then. The only error messages should happen when it is impossible to do what the user asked.
The ones that you do have should be 7 words or less, and should be both meaningful and in plain english (even for engineers). "Uninitialized Data" is technobabble, and "It Didn't Work" doesn't tell you anything. "Couldn't connect to the mail server" is much better, as it tells the user exactly what was wrong, but within a small enough space that by glancing at the textbox the user has already read it.
Icons are most likely going to confuse your users unless they directly relate to the error at hand. "Warning: Trojan Detected [panda kicking a soccer ball]" might be cute, but if people are already confused they're going to have a hard time remembering even the soccer ball. The conflict of visual imagery just muddies the water. Throw a needle on the screen, and everybody will remember in a panic that the error had a needle up there, but not what the text said. If that snippet of information is not enough to work from, you'll need to find a different solution.
The ______ Agenda
Don't forget to use brilliant colors that are harsh on the eyes!
Yes, let's make it blue just to make it stand out more.
And to ice the cake, maybe we should have it so the only way to get rid of the message is a reboot.
I think I may be on to something here.
It does not work that way, NEVER! BECAUSE all damn apps are just random hex dumps of errors. When i started using Linux i was in for a major surprise: No annoying random popups, and all apps would actually GIVE me actual errors such as "can't find libPORN.h" or "Does not have acces", or similar. The point is that Windows users by default have seen to many popups, and too many of the errors where JUST a gigantic bunch of a hex dump without any real message. Now, instead of trying to get the people to read it, get a underlaying system to Email you the errors instead. Because you shall NEVER bother the end users unless its a good thing.
Boring story:
The most memorable example for me was when I was working part time as a tote at a race track during college.
There was some significant "technical problem" which was delaying the races.
I was up in the cash room and the manger was on the phone to the control room asking what was wrong.
She asked me to carry down a TV so I grab one of the dusty old little ones and carry it down thinking one of the displays must have burned out or something.
I got down to the room and the woman who was in the control room was on the phone to some tech support drone wherever the company outsourced these things to.
Turned out she'd told my manager there was something wrong with the "monitor" which had somehow translated to "TV".
I look at the screen and bouncing slowly around over everything there's a big grey box.
It covers half the screen and the only way it could make more of a point that it's there is if it was flashing in many colours.
"Current monitor resolution not supported 1200*1600"
At first I assumed she'd read this to the tech on the other end and there's something deeper wrong so I don't do anything I just hang around and listen for a few moments and it becomes very clear that she has not read this error to the tech, it's as if she has a massive blind spot where the error is.
This isn't a little error like you get in windows whenever it wants to tell you about something and which users get used to clicking right through... no this is a fairly unusual big grey box being generated by the monitor itself.
I can hear the tech asking if she can see any errors or messeges, and she says "no" ....(WHAT THE FUCK?)
All the while the clock is ticking and costing the track quite a lot of money per minute.
I tactfully hint that perhaps I being a computer nerd and a third year comp sci student who's worked tech support in the past might be able to help but she's one of those territorial types and won't allow me to talk to the tech so that I can at least read the error to him.
(You know all know someone like her:she may not have a clue how to do her job, she may not have any idea at all what she's doing but it's within HER domain)
So while she's being talked through how to let him remote in(useless in that situation I know) I lean in, change the resolution to 800*640 .
The monitor goes blank for a moment and she assumes I've broken everything.
Then it blinks back and is working again (now though some of her icons are off the edge of the screen and she starts panicing again until I arrange the icons so they're all on the screen.
Now whenever I'm at an event and hear an announcement about "technical problems" I assume that it's really some trivial crap like that.
And if I ever work phone support again I will assume everything, absolutely everything the person on the other end tells me is a blatant lie.
Is it plugged in? yes? LIER!
It it turned on? yes? LIER!
Can you see any messeges on the screen? no? LIER!
Why do they lie!??!?
I am not really sure what you accomplish by disabling the software for 15 minutes. It sounds to me that if the person ignores your error message they get a 15 minute break.
One thing IT people often forget is that their job is to make the other employee's jobs easier and more productive. This means solving problems without getting in the way of the work that actually makes the company money.
Morpheus, God of Dreams.
There should be no errors. Period. Your program should not allow errors.
So what is a program supposed to do when the hardware it talks to fails or is not plugged in? Or when the network resource it requires is not available? Shuffle its feet and hem and haw and hope the user won't notice?
Anyone who says "there should be no errors" doesn't know how the word "error" is used in computing. That there should be no BUGS may be a formally realizable goal (at least that's what my functional programmer friends tell me) but let me ask you: when was the last time you drove a car that had no error notifications on the dashboard? No idiot lights, no oil pressure gauge, no fuel gauge, nothing but a speedometer?
Never, right? That's because all machines have a physical component whose state is sometimes unable to fulfill user requirements, and we need to communicate that state to users. We call those communications "error messages" in the software world, and they cover everything from "out of memory" to "printer on fire."
On another note, I like the ball-kicking idea, but my users are mostly female, so it won't work. Recently I've had a bunch of complaints about missing hardware because they are clicking through the dialog that detects that hardware is missing, and then complaining when the main UI comes up and tells them there is no hardware connected. They never remember they've clicked through because they are so used to simply clicking OK on any dialog that comes up, a phenomenon that has gotten much worse in the past few years.
Blasphemy is a human right. Blasphemophobia kills.
I wrote the registration software for a student run job fair. Spelled out on the first page are a few ground rules "We cannot accept credit cards" etc.
Every single semester we'd get some rep that "never saw that" or claimed we "changed the rules".
The final iteration that seemed to work was a 2 - 5 digit, randomly generated 'validation codes' that was in the 2nd and 4th paragraphs.
We'd often get the HR rep that would e-mail us:
"Did you read the instructions?"
"Yes"
"Everything you need is in the instructions."
Occasionally get we'd get some irate HR rep: ...... "Your first validation code is: 23984. Payment methods are Check or Cash. No credit cards are accepted."
"You e-mailed me that they were in the instructions. I can't find them anywhere. We have to register now."
(and this is where you play dumb)
"Oh, I'm so sorry. They should be in the instructions. It may be a software bug. Could you please read the instructions to us".
"Do you have any more questions". (Although usually you'd just get a click after they hit the words "Your validation code is".
When I was doing support for a regional ISP, one of my coworkers figured out an ingenious way of forcing a customer to check whether or not a piece of equipment was plugged in. You can't just ask someone, "Can you check to make sure X is plugged in," because they'll say they checked already out of pique. Instead, he would tell them to unplug the power cord and plug in back in again, upside down, and would make up some hooey about how the power cords on these routers were flaky. Of course, the equipment in question always had a three-prong plug, but every once in a while the client would say, "Thanks, that worked!" and we'd know that he was covering to hide the fact that it hadn't been plugged in at all.
They lie because you ask the wrong questions. Do not ask if they see something. Ask WHAT they see.
Another reason for lying is that they have been trained that aswering "I do not know" is wrong.
I rather have somebody saying "I do not know." then somebody saying "I know". With the first I know I can go in babysteps and they will listen and do as I say. e.g. What do you see in the lower left of your screen "Uh, start" OK, click on that, what do you see now? Please read out everthing. The moment they are at Programs: Please click on programs, what do you see now, please read everything. At the end: Is that all or are there some signs below that? OK, click on that double arrow, what do you see now?
Might look slower then saying :Please go to Start, Programs, ... But in the end it will save you time.
Once I was asked if I thought they were stupid. The answer (al lie) was that _I_ was stupid and wanted to be sure I did not make a mistake.
Don't fight for your country, if your country does not fight for you.
I once had a user call because he "couldn't get into his e-mail." After about half an hour of being stonewalled on the phone, it turns out that:
1. He couldn't load his e-mail because he couldn't run his e-mail application.
2. He couldn't run his e-mail application because he couldn't run windows.
3. He couldn't run windows because his computer wouldn't turn on.
4. His computer wouldn't turn on because he had yanked out the previous motherboard, stuck in a new one (without a CPU, of course), and just assumed everything would work.
5. Seeing as how this was painfully stupid, he didn't actually tell the tech support this for fear that the tech support would figure out what he had done wrong.
6. And, instead of calling the hardware manufacturer's help line, he called his ISP.
My second favorite tech support call was a user who was having trouble getting online, and no matter how many settings we changed nothing seemed to fix it. "Hardware problem" you suggest? Yup. Over the weekend someone had bulldozed the wall with her network jack.
No matter how bad things might get at my current job, at least I'm not doing tech support.
The ______ Agenda
But what if... what if the cake is a lie?
When our name is on the back of your car, we're behind you all the way!
Absolutely. Asking the right questions the right way is key. For example, rather than asking if anything is on the screen (a yes/no question, doesn't require as much thought), you ask "What does the screen show right now?" (which actually requires some thought.)
Is it plugged in? yes? LIER!
It it turned on? yes? LIER!
Can you see any messeges on the screen? no? LIER!
Why do they lie!??!?
They aren't lying. They literally do not see it.
Your mind is pelted with information every day. Vast, huge, massive swaths of information that make what goes over an OC3 pipe pale in comparison. Your eyes generate a super-hi-Def video stream chock full of useful details about your life and everything around you. Your ears, your sense of smell, all are being monitored 24x7, and don't forget your senses of touch, hunger, and numerous other "metasenses".
There's far more information streaming into your brain than could possibly be processed. So what your mind does is exactly the same thing that your spam filter does at your local ISP: Your mind filters out information that you don't find useful before you are even consciously aware of it!
Studies have shown:
1) People will change lanes into a lane occupied by a motorcycle, even after clearly looking directly at the motorcycle! It's commonplace, as a motorcycle rider myself, I've seen this happen more than once! The reason is that the person isn't looking over to see if there's *anything* there, they're looking to see if a *car* is there. Since my motorcycle isn't a car, the other driver's mind actually filters that fact out before they are consciously aware of it, and to their mind, I'm simply not there. (thanks, brain!)
2) In simulation, highly skilled, trained pilots were instructed to land the "airplane" on a runway littered with stuff. Garbage trucks, buses, big, huge things that were hard to miss. In only a very small number of cases did the otherwise highly skilled, demonstrated, and experienced pilots ever see the junk on the runway, even though they could be seen to be LOOKING DIRECTLY AT THE RUNWAY. Why? Because their minds were only looking for information that was already known to be useful, and filtering out the rest.
3) Think back to when you learned to drive! Everything was bewildering, you were overwhelmed by details too numerous to process easily. Signs and lines seemed to jump out of nowhere. But somehow, it became easier and easier as your mind learned what information was actually needed, and began filtering out the rest. Your mind is trained to look for the red octagonal stop sign, and the street sign that, within your state, looks very consistent. But think about when you experience something new. For example, in my area, they started installing roundabouts where we never had them before. They were a bit disconcerting and bewildering the first few times, and I am a very safe, effective driver. (20 years, no accidents, knock on wood!) My lower brain hadn't learned to filter out all the details of the roundabout, so I had to slow down and process EVERYTHING until I had a chance to train it.
They aren't lying. They literally cannot see what's clearly and demonstrably in front of them. The lower parts of your brain filter out detail and deliver highly processed, compressed information to your cerebrum (the part that's self-conscious) in order to save expensive processing time. Be gentle, be understanding, and accept that the reason why they are calling you is because they need you to see what's wrong and fix it! Accept your pay scale accordingly, and suck it up, because that's human nature, it will always be human nature, and there's not a damned thing you or anybody else can do about it!
However, one thing I've found is that if an error or confirmation is very important, you put red lettering and make somebody type a word, such as "I will pay you $50", or "I'm ready to pay you $200 if I want to delete this" or something before proceeding. Make sure it's different for each situation! I used to just make end users type "confirm" or "accept" but they got used to that.
I have no problem with your religion until you decide it's reason to deprive others of the truth.