Tuesday 7 February 2012

Good Error Message - it's a sign! (Seminar)



Imagine meeting a crossroad and you find a signboard that is written in an unfamiliar language. On your right, you spot another signboard that has been chipped off. The road is quiet and the sun is setting. You wonder, “If there is anyone who can guide me through?”

How do you feel?

Good error messages, in any form, play a crucial role in providing indicators to signal the user to perform the next course of appropriate actions. Without error messages, users will be left hanging, as if standing in a middle of a crossroad with a mixed feeling of frustration, fear and confusion.

Study has shown that users often demonstrate high level of frustration when a system or application crashes and provides an “unexpected error message”. The build on of anger comes when users have to spend a considerable long amount of time trying to decipher the message, solve the issue and are to no avail. In some cases, users receive error messages that are both misleading and exasperating.

In general, a good error message should :

a. Communicate the problem

b. Communicate how to fix it

c. Communicate why to fix it, provide incentive

For example,


Here are examples of bad/misleading error messages:



Interesting Article Review on Bad Error Message-

Invalid State Error: What’s a Poor Person to Do?


Concepts and Principles

After understanding the functions of an error message and its benefits, we now look at the concepts and principles that guide developers in developing good error messages.

1. Be explicit - Show that error has occurred through an error message box.

· When users make mistakes and get no feedback, they are completely lost.

2. Use human - readable language - Users are not detectives.

· Avoid the used of programming jargon or codes that are unfamiliar to the general public.

3. Use polite phrasing - Be courteous and friendly to users.

· Users are more driven to solve the problem at hand when they are greeted politely.

4. Be specific - Don't go round the bush, just tell me the problem.

· In order to get things done efficiently, users want to be informed of the problem quickly and directly.

5. Be helpful - Save the users.

· Provide constructive advice to assist users to overcome the problem. For example, instead of saying "out of stock," your error message should either tell users when the product will be available or provide a way for users to ask to be notified when the product is restocked.

6. Preserve as much as the user's work as possible

· Allow users correct errors by editing their original action instead of having to do everything over again. For example, in presenting search results, show a search box with the user's original query terms to facilitate revisions. If no hits were found, let users search a wider scope with a single click.

7. Reduce the work of correcting error

· If possible, guess the correct action and let users pick it from a small list of fixes. For example, instead of just saying "city and zip code don't match," let users click on a button for the city that matches the zip code they entered.

8. Educate the user - Raise awareness and learn through mistakes.

· Hypertext links can be used to connect a concise error message to a page with additional background material or an explanation of the problem.

Interesting Links:

1 comments:

Yao Long said...

A balanced mix of your view/opinion and facts, well referenced, and interesting coherent flow. The screen shots helps to illustrate your points better.

Nicely done. Very good!

Post a Comment