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.

An important aspect of application design is the design of an effective user interface. A good user interface should be attractive, neatly laid out, and well organized. In addition, it should be easy to use and understand. The best applications are those that users can work with fairly intuitively, without extensive training or documentation.

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

  • Strive for consistency in the way the application looks and in the way that users work with it. Be consistent with colors, fonts, and formatting. The application should be appealing visually and not overwhelming.
  • Make it easy for users to navigate through the application. For example, when the application starts, you might want to display a switchboard form that provides users with a set of choices.
  • Make the application equally accessible through the mouse or the keyboard. Set the tab order for controls on a form or Web page, so users can move from one control to the next predictably. Take into account users who might have difficulty seeing the screen or using the mouse or keyboard.
  • Whenever possible, provide clear visual clues, so users can figure out what is happening. For example, it is a good idea to change the mouse pointer to an hourglass during lengthy operations, so users do not think the application has stopped working.
  • Validate data that users enter, so you can prompt users immediately to correct wrong data.
  • When you create custom toolbars and menus, make sure they are displayed when the application 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.

See Also

Designing Applications | The Design Process | Which Technologies Should You Use? | Designing Code for Reusability | Security Considerations | Testing Your Application | Application Deployment