Designer's Gallery > Design Ideas > The Message Box |
The message box is probably the most ubiquitous and overly used interface object. Its most common incarnation is the error message.
There are a number of problems with message boxes
- They are visually unappealing and the text in the box is often difficult to read.
- The Message box is a built in function of most development tools. The message box function generally has a very limited selection of button labels and icons.
- Often the system programmer is the person who writes the content of a message box because they are the ones who identify the need for some type of message. When this happens, the message and the language used in the message tends to reflect a programmers perspective of the system, rather than a users goal oriented perspective. This can make it difficult for the user to readily interpret and understand the message.
- When the system displays an error message, users tend to blame themselves for the error. This can undermine a new users confidence and result in the person avoiding the use of the system.
Solutions
Reduce the need for Messages
You can try to eliminate or significantly reduce the need for some types of message boxes. Error messages are most frequently used with data entry validation. For example, if a user does not enter a date in the correct format, many systems will display an error message when the user tries to move the cursor to the next field or save the entered information.
You could reduce the requirement for this type of error message by using some of the following techniques.
- You can write routines or functions that will accept a wide variety of formats and convert them to a standard format. For example, you could create a function that would allow a user to enter a date as "Dec 24 97, December 24, 1997, 24-12-97, etc. The routine could then convert the entry to a standard date format. The displayed format could be different from the format the computer system uses to store the actual data. Most the current visual programming systems, like Visual Basic and Delphi allow you to use third party interface components that may already include these types of functions.
- Give the user some visual information about the required data format. For example, if the screen space is available, the field label for a date field could include a sample entry in the correct format, such as "Start Date (e.g. 24/12/96):".
![]()
An error message may still be required, but will very likely never be seen because the error prevention strategies work so well.
Create your own message box object.
Most of the programming systems (e.g. Visual Basic, Delphi, etc) have built-in functions that will create the program code for displaying a standard message box. While this function can be very easy to use and reduces programming time, the end product can be very bland and generally unappealing.
It is possible to design a message box that is somewhat more appealing. For example, you could design a message box look more like a tip of the day box. In many cases, the purpose of a message box is to instruct or inform a user about the correct way to use a system or enter data.

If the user made an error in the format of the data (i.e. a typo), the message box should their entry. For example, if they typed "Jum-09-97" in a date field the message should include their entry so they can readily identify their typographical error. If the user enters data in the wrong format, the message should display their entry as well as an example in the appropriate format. This will enable the user to readily identify the difference between the format they used and the accepted format.
If your system makes extensive use of message boxes or you expect that the message boxes will be displayed often, you may want to consider using the Microsoft Agent as a message box replacement. The Agent is an animated character can convert text to speech and move about the computer screen. The character can point to screen elements. The Agent is an ActiveX component that can be used on a web page or in a programming system like Visual Basic or Delphi.
If your program will be developed in Visual Basic, you can suggest that your programmer read the "Uncover Hidden Message Box Features" article in the Visual Basic Programmers Journal, Vol.7 No.3 March 1997
Anthropomorphic Messages
Many interface design books and guidelines strongly suggest that one not use anthropomorphic messages. These are messages that endow the computer with a personality or identify. For example, an anthropomorphic message might be: "Im sorry but I cant interpret the date you entered. Please enter the date in the format ."
A study by Brennan and Ohaeri in 1994 found that people who used a computer program with anthropomorphic messages performed a task faster than those that used a system with other message styles, including messages with fewer words. Anthropomorphic messages may also tend to reduce the tendency for users to blame themselves.