The Windows Interface
A Summary of GUI Guidelines

Principles and Methodologies

General Principles of User Interface Design

An effective user interface allows the user to concentrate on tasks without the distraction of trying to figure out how to use the interface to accomplish the desired tasks.

User Control

The user should always be in control of the application. Applications should be as interactive as possible. Elapse time for processing should be brief. Modes should not restrict user interaction. If modes are necessary, they should be visually obvious to the user.

The user should be able to customize aspects of the interface, such as content and structure of menus and aesthetic qualities. However, users should not have to customize the interface. Good defaults should make the interface highly useable without customization.

Directness

The interface should provide direct and intuitive ways to accomplish tasks. 

Consistency

The interface should be consistent with the user’s experiences outside the application realm through the use of familiar concepts and real world metaphors. The interface should be internally consistent in its conceptual, visual, functional, and linguistic style and usage. It should also be consistent with the interfaces of other applications. Both types of consistency help make interfaces easy to learn and use. Internal/cross application consistency, in addition, facilitates the reuse of interface elements and improves developer productivity. Conflicting platform standards make cross-platform consistency problematic. When there is a conflict, within-platform consistency should be given priority over cross-platform consistency.

Clarity

The interface should have visual clarity. Metaphors and text should be immediately understandable. Metaphors should be simple and realistic. Text should be clear and unambiguous.

Aesthetics

The interface should be visually appealing. Spatial arrangements, groupings, and contrast should follow basic graphic design principles.

Feedback

The interface should give the user immediate feedback for actions performed within the application. Graphical feedback is most effective. Sound and text are also useful.

Forgiveness

The interface should accommodate exploration by trial and error. Opportunities for error should be minimized. The interface should handle errors gracefully, when they occur. Users should not suffer negative consequences for exploring the interface and making mistakes.

Awareness of Human Strengths and Limitations

The interface should not require extraordinary perception, memory, or reasoning capabilities. The user should not be required to perform calculations that the application can do. The user should not be compelled to recall complex sets of options. Choices should be explicitly presented.