Even small errors can add to the load on users. Squishing them is a great route to simplifying a user experience.
A few years ago I was asked to design a current account display for an online bank. The bank wanted the service to match their brand values: friendly, approachable, and simple.
On the current account screen was a control that allowed the user to choose a bank statement. The user selected the month and year of the statement from two drop-down menus and clicked “Go.” It seemed simple enough.
But the control could generate two possible error messages. If you selected a date in the future, an error message came up that said, in effect, that you’d been stupid. If you selected a date that was over a year old, you were told to try again, since the bank only kept statements for a year. A person in a hurry could easily make either mistake, and neither error message was particularly friendly, approachable, or simple.
The problem was that the user was being asked to enter a date, when really he needed to choose from the last twelve bank statements. So I replaced the “two date controls with a single drop-down list of the available bank statements.
With the redesigned control, users could only select from what was available, so there were no error messages to design. This made the system simpler to maintain, too.
Whenever a user has to correct an error, it breaks his concentration and makes the experience feel more complex. Designers often try to prevent errors by interrupting the user (“Are you sure you want to do that?”), but in a way this approach is worse because it interrupts everyone, whether they’ve made a mistake or not.
When you’re trying to simplify an experience, looking for places where error messages are needed, or checking the error logs for common error messages, is a critical step.
Removing sources of errors is an important way to simplify an experience.
If you forget to change the year, you can accidentally request next month’s bank statement. The redesigned interface simply lists the available bank statements.