Isys Information Architects - Making information usable

Interface Hall of Shame

Writing Effective Error Messages

1. Reconsider the need for the message

The vast majority of user errors occur because the programmer allowed the error to occur. Most error messages therefore, can be eliminated by reducing the possibility of errors:

Prevention of errors requires that the designer anticipate the potential mistakes the user is likely to make. This is often the most difficult aspect of designing an effective user interface, since the designer's familiarity and knowledge of the program interferes with his or her ability to view the program as a novice might.

Before you decide to interrupt the user and demand a response, make sure you have exhausted all methods of preventing the error from occurring.

2. Describe the problem in plain terms

Never assume that the user has the same knowledge of computers that you do. While you may be comfortable with such expressions as "File Specification Error", and "Unable to establish network connection", it is less likely that new users will understand such terms.

Try to write you messages in terms that will assist the new user in understanding the problem. One method that helps us write effective messages is to imagine that they are going to be read by our mothers or grandmothers. For some programmers, it might also help to imagine that the message needs to be understood by the president of your company. If the president of your company and your grandmother can both understand the message, then it's likely that your users will also.

3. Don't shout at the user!

Your application is supposed to cooperate with the user, helping him or her to complete some task. Using exclamation points in your messages, either in the title, the message, or the message icon, transforms your program from a cooperative partner to a pompous, arrogant ass.

Exclamation Mark Benign Message Icons

The exclamation point icon should never be used in a message. It is instantly interpreted as shouting. It is the desktop equivalent of posting a forum or usenet message in all capitals. While your intent might be to alert the user that an error has occurred, the fact that a message is displayed at all has already alerted the user. The question icon or the information icon can enhance the visual quality of the message, without making your program appear arrogant.

4. Do not use the word 'Error'

The term 'error message' is relevant only to the programmer; it has no equivalent in our day-to-day interactions with other people. If you have forgotten to endorse a check, the bank teller does not shout, "Fatal Error! You've made a mistake." He or she simply asks you to endorse the check.

'Error' has strong negative connotations, usually because it has erroneously come to mean that the user has done something wrong. It adds nothing to the interaction between the computer and user, and can only decrease the spirit of cooperation between the user and the computer.

5. Phrase the message as a question

One method to reduce ambiguity in error messages is to phrase the message as a question that can be answered with a simple 'Yes' or 'No'. Compare the following messages:

Original Message Alternative Message

Years of computer experience tend to make it difficult for programmers to understand that new users would have difficulty understanding the choices provided by the first message. The second message provides choices that are more readily understood by new users: 'Yes, allow me to select a different printer', and 'No, don't print the document.'

6. Use the appropriate title

The title of the message box should be the name of the application that produced the message. As engaging as your program may be, it is likely that the user will have other programs running at the same time. By providing the application's title, the user is instantly aware of which program caused the error.