It is my experience that badly phrased error messages are one of the most important causes for usability problems. The rule for usable error messages is simple:
However, almost all of my seminar participants and students have problems applying this apparently simple rule to create really helpful error messages.
Not constructive: Wrong file name
Constructive: File names must start with a letter
Not constructive: Illegal train selected
Constructive: The train you selected is not available on December 25th on this connection. It is available on December 23rd or December 26th. Please select a different train, date, or connection.
Incomprehensible: Error 0a45
Comprehensible: This file has been deleted since you last accessed it
Incomprehensible: Password: At least 8 characters, including upper and lower case letters, 1 number and one of the following special characters: “!_:@,#;$%”
Comprehensible: Password: At least 16 characters. Make it something that’s easy for you to remember but difficult for others to guess. For example, use four common random words: zebraumbrellaishappy
Imprecise: Something went wrong!
Precise: The pick-up date (16-Dec-2021) must not be later than the return date (13-Dec-2021)
Imprecise: An error occurred
Precise: Passwords must consist of at least 14 characters. The password you entered contains 13 characters but is otherwise acceptable.
Error messages should be clearly discernible.
Error messages are easily overlooked if they are written using a small font or positioned far from where the problem is.
Avoid invisible error messages – that is, error conditions where the interactive system provides no error message and indicates the error condition by not responding to user input because an “obvious” error condition exists.
Example: The user has not ticked the “I accept the standard conditions”-box, so the “Proceed” button is greyed out.
Impolite: ERROR! Illegal date!!
Polite: This system only accepts dates in the format 24-01-2020
Writing usable error messages
- Write error messages early; include error messages in prototypes
- Test error messages in usability evaluations, in particular usability tests with representative users. Write usability test tasks that cover common errors
- Ask a textwriter to write error messages
- Review error messages
- Use feedback from usability tests and support to improve error messages