Share via


Thinking About User Interface Design

This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.

Another important aspect of solution design is the design of an effective user interface. A good user interface should be attractive, neatly laid out, and well organized. It should also be easy to use and understand. The best solutions are those that users can work with fairly intuitively, without extensive training or documentation.

Any way in which users interact with your solution is part of the user interface. Here are some suggestions for designing an effective user interface:

  • Strive for consistency in the way that the solution looks and in the way that users work with it. Be consistent with colors, fonts, and formatting. The solution should be visually appealing but not overwhelming.

  • Make it easy for users to navigate through the solution. For example, when the solution starts, you may want to display a switchboard form that provides users with a set of choices.

  • Make the solution equally accessible through the mouse or the keyboard. Set the tab order for controls on a form or Web page so that users can move from one control to the next predictably. Take into account users that may have problems seeing the screen or using the mouse or keyboard.

  • Whenever possible, provide clear visual clues so that users can figure out what's happening. For example, it's a good idea to change the mouse pointer to an hourglass during lengthy operations so that users do not think that the solution has stopped working.

  • Validate data that users enter so that you can immediately prompt users to correct themselves if they've entered the wrong type of data.

  • When you create custom toolbars and menus, make sure that they are displayed when the solution is available, and hidden when it is not.

  • Implement thorough error handling, and anticipate as many different types of errors as you can. Provide error messages that are clear and succinct.

There are several good resources available that discuss user interface design; see "Where to Go from Here" for more information.