Design Tidbits

back Tidbits Overview

Tools for Design and Visualization


Interaction Design

Screen Design


Visual Design

Design Process

Web, Web Applications, Web Design





Error Prevention Comes First

By Gerd Waloszek, SAP AG, SAP User Experience – September 15, 2000

Writing error messages – helpful ones, which users understand – is not easy. It is also often not easy to find a suitable screen location for displaying error messages. Should the message appear immediately when the error occurs, in a status bar, or in a dialog box? No wonder that error handling is not among the favourite tasks of developers and documenters. But why do they submit themselves to their fate? Aren't there any escapes from this dilemma? There are. Here we present one possible approach – the one, which in our opinion makes most sense and which may often lead to the simplest solution: prevent errors instead of handling them.



Preventing errors instead of remedying them has the following benefits:

  • Users cannot come into error situations – many users have problems with recovering from errors
  • The users' work is not interrupted by errors and error messages
  • Users are not confused by cryptic error messages
  • There is no need for a screen area or popup window which displays the error messages



Often it takes some rethinking and giving up of "old habits" in order to find design solutions that prevent errors. But it is worth the effort. While there are no general rules how errors can be prevented, there are some typical "patterns" which may help you to find new solutions. Below we provide ideas and examples. Not all of these examples prevent errors themselves, but they help reduce the possibility of errors, which is a step in the right direction. While some of these ideas are well known to application developers, they seem to have been forgotten on the web.

Prevent Wrong or Invalid Inputs

  • Numeric fields: Prevent users from entering letters or other invalid characters by parsing the input string
  • Date and time fields: Provide "intelligent" date and time fields that are preformatted, or provide selection controls instead of input fields (dropdown lists, spin buttons, calendar controls)
  • Currency fields: Use preformatted fields for the different units

Prevent Incomplete Inputs

  • Indicate required fields (e.g. through a red asterisk * and an explanatory text)

Prevent Invalid Actions

  • Disable pushbuttons that cannot be used in the current context
  • Do not offer functionality that is not needed (reduces complexity)

Prevent Disastrous Actions

  • If actions can have severe consequences for the user, add explanatory texts to the respective buttons and inform the users about the consequences
  • If users might lose data display confirmation dialogs

Use the Correct Screen Elements

  • Do not use screen elements that may lead to false user expectations.
    Example: Do not use tabstrips for views that depend on each other and cannot be viewed at random.
    Example: Do not use checkboxes for single-selections.

Follow the Usual Flow of Control

Typically, the flow of control on a screen goes from left to right and from top to bottom. If this direction is changed arbitrarily, users may be puzzled and, for example, overlook the consequences of their actions, or not know how and where to proceed.

Do Not Obscure the Screen and its Purpose

Often important information is hidden while irrelevant information dominates the screen. In other cases users simply have no clue what a screen's purpose is. Thus, provide the necessary information and arrange it so that relevant things are recognized first – this way users know what to do on a screen and how to do it.



 Errors and error messages are not a given fate. There are ways to do without many of them. Your users will be grateful for any effort you take here.


top top