Making error messages less error prone

One of the easiest ways to improve the usability (and perceived usability) of a web application is to improve the text that appears on the screen specifically around labels, embedded assistance and error messages.

In many web applications, there is a false assumption that all of the users are already experts. In many situations, the placement of a simple bit of embedded assistance will help the novice and intermediate users know exactly what to do.

Have you ever, for example, tried to sign up for something where you enter a new password, only to get an error message that claims that your password is invalid? The error message explains that the password must contain a number, or a special symbol $%^#&~!

The best error message is one you do not have to display!

Do your best to provide the labels and/or other information to your end-users so that they can get things right the first time. Working with a technical writer and usability engineers, the text will be more clear and actionable.

For most web applications, the business analysts and developers think about the application “happy path,” that is the use case where the user knows exactly what they want to enter for each item, and they know exactly which button to press, etc. to get them through to completion. On a recent project we worked on, when talking about error messages, one developer said, “Let’s just deal with the errors on a page-by-page basis as they come up.” How’s that for a strategy?

Users are going to make errors, the system may make errors, and we are going to have to anticipate them. The sooner you accept that fact, the better your error messages are, the quicker and easier your application will be to use.

You need to think about errors in advance and develop a common error message strategy. Anticipate the types of errors that may display, and create both a visual and textual template for each. Informational messages, for example, should display and be worded differently than warnings, errors and critical errors.

Make sure that the error messages don’t blame the user (see below), but provide useful advice on what caused the error and how to solve it. Your end-users will be much more happy and productive.

Blame the user