My brother called home the other day to say that the check engine light had come on in our Mazda 626. He brought it home and we took it to the dealership. The service people looked at the car and called this morning with the verdict: the gas cap hadn’t been tightened all the way. Price: $110.
So why is this a problem? Well for one thing the gas cap really isn’t a part of the engine. So when my brother saw the light he checked the oil and coolant, and various other things that are found in the engine of the car. But he didn’t think to tighten the gas cap. That cost $110. $110 dollars because someone at Mazda thought that the gas cap was somehow a part of the engine. The gas cap goes over the gas tank which is part of the fuel system which eventually reaches the engine so it is part of the engine, though by that logic every part of the car is part of the engine and that really isn’t a helpful way of classifying the parts of a car.
When you build a web site or a car or a nuclear reactor it is important to label the parts in such a way that the people who have to use it understand what you are talking about and can react accordingly when you present them with a warning. If a nuclear reactor was designed to set off a siren and flash a warning message saying to “Check Reactor” every time someone left the front door to the plant open we see some really irritated nuclear engineers asking whose bright idea that was. They’d also be less able to respond to a real problem with the reactor, after a while they’d assume that is was just the front door, meanwhile radioactive gases are escaping to form a death cloud over the plant.
Okay, perhaps the nuclear reactor example is extreme, but the point stands, by labeling things in a way that doesn’t make sense to people using a system we undermine their ability to use the system and react properly to problems. In the Mazda this would have been fixed by using a “Check Gas Cap” light or not worrying about it since it will get fixed in a few days when we fill up again and is not likely to hurt anything before that.
On your web site you can do this by making sure that your warnings, error messages, and labels make sense to the people using the site. While “Server Error” might be accurate in the most general sense, “The site is currently receiving an unusually large number of visitors and is moving slowly. Please try again in 15 minutes” may be more useful to the visitor to the site.
When creating labels or deciding what terminology to use for a particular error message or label it is a good practice to find some typical users and ask them to tell you what they think the message or label means. This can be done in a few minutes and rather informally and it will help you catch labels that may be confusing, ambiguous, or misleading to the people reading them.