Chapter 1. Usability Principles

Design for People
Don't Limit Your User Base
Accessibility
Internationalization and Localization
Create a Match Between Your Application and the Real World
Make Your Application Consistent
Keep the User Informed
Keep It Simple and Pretty
Put the User in Control
Forgive the User
Provide Direct Manipulation

This section explains some of the basic principles behind the more specific technical guidelines recommended in this document. We believe that these principles are important for all application development.

Design for People

Remember that the purpose of any software application is to enable some group of people to accomplish a specific set of tasks. So, the first things to establish when designing your application are:

  1. who your users are

  2. what you want to enable them to do

For example, you may be designing an application that will enable engineers (software, electrical, or mechanical) to create diagrams. You may be designing an application that will enable system administrators to configure and monitor a web server. You may be designing an application that will help elementary school students to learn math.

The important thing is that you know your audience, and you understand both their goals and the tasks necessary to achieve those goals. There are a large number of professional interaction designers who write books and teach courses on design methods that can help with this process, many of which are extremely useful— see the Bibliography for a selection. Most of these methods, however, boil down to specific ways of understanding your users, understanding the tasks you want to help them accomplish, and finding ways to support those tasks in your application.