Fatal Error is an example of the fatalistic language of the world IT professionals have. This article looks at how errors should appear to non-techs.
Trying to understand what is happening when something goes wrong is the focus of error management.
Yet most people truly do not understand errors when they happen. “Why isn’t this working?”
This article is aimed at designers, developers and IT professionals to take a fresh look at their error management approach.
- The problem of language
- Managing errors
- The Effects in Real Life
[read more=”Read more” less=”Read less”]
The problem of language
Are you a geek or a nerd?
Being good at computers was traditionally seen as being geeky or nerdy. The dictionary defines these words in a general context as:
- Geek: an unfashionable or socially inept person
- Nerd: a foolish or contemptible person who lacks social skills or is boringly studious.
Ask an IT person are they a geek or a nerd and you may just get a very proud glowing response.
- Geek: interested in things that others are not interested in, know a lot about their interests, but usually do not understand underlying principles
- Nerd: intelligent, industrious, understands things
So the challenge is in the perception of words. I personally proudly call myself a nerd and am happy to be so labelled.
For some reason glasses are usually associated with geeks and nerds… maybe because we’re perceived to read so much. I personally don’t wear glasses.
Do any of these sound familiar?
- To kill a process
- You have performed an illegal operation
- A fatal error has occurred
- Fatal exception
- The blue screen of death (BSOD)
They all mean something has gone wrong but if you take the literal definitions.
- Fatal: causing death
- Illegal: contrary to or forbidden by law, especially criminal law
- Death: the action or fact of dying or being killed; the end of the life of a person or organism
Yet IT people use these words with abandon. Why?
In using the two general definitions above both mention a lock of social skills and capability.
As a result the world of computers can provide a place which offers the user total control. A god like power.
There are many popular computer games which present you with this ability to take on a God like persona.
The concept of inflicting fatal error on others is possible.
Reus, ActRaiser, Spore, From Dust, Populous, Dungeon Keeper (which became War for the Overworld), The Sims, Black and White and Gods.
The last 5 of which I have played myself at one time or another.
This sense of control can bias the language you use and allow to create scenarios which in normal conversations would be odd.
- “Command your fiendish minions to battle and call down mighty spells and rituals upon the self righteous heroes of the empire.
- Or any under-lord foolish enough to stand between you and your dominance of this realm.”
So when we develop solutions we need to learn to park working in isolation at the door and consider the user, not ourselves.
By the way for total clarity, this game is great fun and well worth trying if you like God games. A game is just a game. I played Dungeon Keeper and Dungeon Keeper 2 on the Amiga in my teens. War for the Overworld only came out in 2015. Original voice actor and all!!! Anyway, that’s beside the point and rather nostalgic. As I said, I’m a nerd and proud.
You’re in a car. You drive until there is barely any fuel left. A red light and an audible warning sound reminding you to fill up with fuel.
This causes some driver’s anxiety and yet also causes others excitement. How far can I get the car without refueling?
A metric is just a number, a value, data, upon which you can make decisions.
An error is when the car runs out of fuel. The car is no longer doing what you want it to do.
If you didn’t get a warning the car was about to run out of fuel and then just stopped, how would you feel?
It certainly isn’t a fatal error but could be dangerous if the car stops on a busy road.
As a result of computers working very fast, giving you a warning before something failing is a bit pointless as it would just go bing bing and have failed.
There are however things programmers can do to ease you in.
When you are waiting on a bus to arrive, seeing times is a massive stress reducer from the older way of just waiting for one to show up.
What is actually in focus is communication, a social skill.
Jargon is defined as special words or expressions used by a profession or group that are difficult for others to understand.
Similarly if you’ve ever had the misfortune to be sick or know someone who’s sick, the jargon of the medical profession is technical.
- Doc: Sir, you have a chondrosarcoma, which is growing in the middle of the 8th trigeminal nerve. Me: I what now?
- Doc: Sir, you have cancer in your head! Me: Oh s**t!
Luckily the message I received wasn’t a fatal error.
Being given a very detailed message is useful if the recipient understands the jargon used.
So as developers when we create an error message we will usually aim it at ourselves to help us better understand what’s happened and help faster.
We are not the only readers of our error messages.
When someone reads an error message there are three groups generally to be addressed. These groups are used for discussion purposes
- Busy: I don’t care what happened just make it work!
- Student: How do I make sure that never happens again?
- Technician: I need to understand exactly what’s going on, I might be able to fix it.
If you’re a developer, you’re probably in the last category. An error message lets you know exactly what’s going on.
The hyperbole of fatal error is a waste.
If you’re techy and using someone else’s work, then the student will probably apply. You’ve no idea what happened but you know there’s enough information presented to help you find the answer.
The vast majority of users are in the busy category. You don’t care what happened, in the shortest order possible how do I make this work, I’ve other stuff to do!
So when you communicate, do it in such a way to address the groups in order.
Make an Impression, Respond properly
So you need to get three different messages across.
As a result they go on the same screen as you need to get across the solutions in a short space of time to address your three audiences.
Level 1: Busy
- That didn’t work. Click back try again.
- That didn’t work. Please turn it off and back on again.
- If you’d like more support please contact us here.
Level 2: Student
- We don’t know exactly why it didn’t work but some general guesses are available here.
- Link to technical manual / wikipedia article to explain what’s going on.
- If you’d like more support please contact us here.
Level 3: Technician
- There error code is 0x00023723
- Library example.dll line 26 has an invalid character.
The Effects in Real Life
Meet the Hamsters
While we were developing bxp software I had an experience on a public website.
Their website failed. I didn’t get a fatal error. Furthermore someone had put a rather appealing custom error message in place.
The custom error message was the following image. “Our tired and overworked hamsters have taken a short break. Please try again later.”
It only addressed the busy user level but that worked for me at the time. I was busy.
The psychological approach really impressed me. I smiled with the instant effect the image had on me. Consequently we adapted the concept and expanded it.
Each colour was worked into the names. Asparagus = Green therefore Gus. Furthermore Snowflake is white. Also Ginger is red. And so on.
We used the psychology of colours. Consequently green was employed for the errors needing the most attention, purely to diffuse fear.
The error message on screen links to our Wixi which has over 2000 articles to provide advice and explanations on a wide variety of topics for the students.
Debug information in the message was emailed separately to the development and support teams so users never had to see the technicianal view.
We also copy the technical emails to clients who wanted more information as they desire also encouraging them to take a student approach.
One day a lady rang the support line in stitches of laughter.
“There’s a very cute hamster on his back telling me something has gone wrong. He gave me this number and said to call if there was trouble. Can you help him please?”
Not even “help me!”. The user had an error, was laughing and joking and no sense of fear.
Because of the error management solution we have in place, the technicians already knew :
- firstly which user,
- on what operating system,
- using which browser,
- also for which client,
- in which module
- finally using which tools and even which record.
The team sorted the issue in seconds and everyone was happy. The user had no need for that info but the technicians did.
No one is going to die, go to jail or have something very seriously wrong happen. It’s an error. There is nothing for users to be scared of.
Conscious of your audience
One day we were giving a presentation to a potential client espousing the wonders of our psychological approach to error management.
I introduced Gus to those present and when I looked around the room, one lady had turned away and was shaking slightly.
She had a fear of rodents which I had never considered. For her a fear of rodents was worse than a fatal error.
We expanded the system to show / not show the hamster image on a per user and per system basis.
Again sorry for upsetting you with rodents!
Consider your users
I hope this article helps you realise there is so much more to help your system stand out.
Error management is just as important as a system working.
Try to avoid the hyperbole of fatal error and other fatalistic language. It doesn’t help any one.
Your system is never going to work 100% of the time so how do you manage the less than 1% of the time it doesn’t work.
Make the experience something clients enjoy rather than scaring them.
How does your system respond? What do your error messages communication about you, your business and your product?