10 Principles of a Good User Interface

by Joseph P Ferrari
Reprinted without permission
from STart Magazine Volume 4 No 1 (August 1989)

1. Be Consistent
Since a particular program will be only one of many that a consumer will use, the user interface should reflect the prevailing standards. Most software programs have operations common to each other – for example cut, copy and paste. When these options are always placed under the same drop down menu, for example EDIT the user can achieve productivity quickly without first struggling to learn the fundamentals.

Adhering to a common standard also helps to avoid user frustration. Assume for example that Control+X is commonly used for cut-and-paste functions; if a new program uses Control+X to exit without saving work, it will cause the user unnecessary hardship and frustration. If a user encounters enough of these frustrations he or she will eventually turn to an alternative.

2. Reduce the Workload

Operations should be achieved with a minimum of user activity. Too much “mousing around” means less time spent doing real work. For example, features that require a stream of menu operations and parameter settings to perform a single operation are clumsy.

You can reduce the user’s workload by building intelligence into the application. For example, in a work processing program, the spell checking function should not require the user to enter the dictionary path each time it is used. The program should have been set up intelligently so that each time the spell checker is used, the program doesn’t request the same information.

3. Reduce the Skill Required

Making your program accessible to the largest number of users is inextricably linked to the degree of skill a user needs to operate ot productively. The first are to consider is the user’s learning process. In many cases. the user faces multiple problems when learning to use a new application.

The user must come to terms with how the program’s functions are represented in computer actions. For example, many of the basic functions in a paint program are represented as a palette of icons representing graphic tools; in the user’s mind, the toolbox metaphor reinforces the idea that in order to apply a function , it must first be selected.

The user may be unfamiliar with the application in any form, computerized or conventional., and thus faces the task of understanding it’s concepts while at the same time using the software to perform some specific function. In the learning stages, the use of common metaphors for operations, such as the file drawer or open trash can icon on the desktop, can provide considerable reinforcement and help the user achieve a deeper understanding of the application.

One of the most important and effective means of reducing the skill required is to provide the user with visual choices. Let the user select from a panel of options by pointing and clicking and eliminate the need to memorize the available options.

4. Communicate

Keeping the user informed at all times is a vital component of sustaining or increasing productivity. There are three simple rules that should be followed :

(A) During long operations, provide continuous or regular progress reports. However, the time when you need to communicate the most information wit the greatest accuracy is during operations that have gone wrong. When an error occurs, you want to help the user recover from that error and restore normal operations.

(B) Present the available options in a clear and concise manner, leave no room for ambiguity. A an example, the user has selected the Quit option and the following alert message is displayed:

Do you want to quit ?
Continue ! Abandon

Does “Continue” mean to continue with the application or continue with the quit proceedings ? What about “Abandon” ? Leave no room for interpretation. Keep messages simple and explicit.

(C) Provide immediate feedback, both by acknowledging the users actions (in the case of selecting an icon, the standard feature is to hilight the icon) and by letting the user know whether or not the operation can be started.

5 Make What you see what you get

In a what-you-see-is-what-you-get (WYSIWYG) environment the user always has a good estimation of the final form of the document and doesn’t need to constantly invoke a preview mode. A WYSIWYG environment usually shields the user from unnecessary information. If text is in bold, it should show on the screen in bold rather than display a scheme of codes.

6. Allow for User-Configurable Preferences
Since a program or environment must cope with varying degrees of user proficiency, the product must accommodate the novice as well as the expert and be able to mold various program characteristics to the users preferences or level of expertise.

7. Provide a Stable Environment

Providing a stable environment will keep the user in a familiar atmosphere that makes learning easier. This does not mean that a dynamic menu bar cannot be employed successfully, such as in a multi-application environment where there are clear distinctions between aspects of the program, as in an integrated word processor, spreadsheet or database program. The changes would then assist the user by alerting him or her that the program is entering one of the other fundamental modes.

Graying out the unavailable options in drop-down menus or dialog boxes is also effective for maintaining a stable environment while limiting options.

8. Forgive the users Errors
An extensive undo function adds significantly to the users confidence to experiment and make changes. If the user does something that can’t be un-dine, an alert message should warn the user that the changes are irreversible.

9. Provide Keyboard Equivalents
Drop down menus are an excellent means of introducing the user to an application, but eventually the user will become proficient in specific areas of the program. At this point keyboard equivalents help the users productivity rise even more. Keyboard equivalents can also be used as shortcuts to commands that normally would require several menu selections.

10 Maintain Aesthetic Integrity
Screen layout design should not be designed to dazzle or impress the user. The guiding motive should be honest to the principle of effective communications. Simplicity is the key to clarity.

Another principle to observe is to avoid overloading the user with too much data in a screen layout. You don’t want to fill every pixel on the screen. If the pertinent data cannot fit comfortably in one screen panel the divide it logically and use as many screens as required.

One main reason that the Macintosh has become a second standard in corporate America is its user interface – and the fact that most of the software developers have adopted the interface to a significant extent. ST software developers will need to do the same to increase it’s future chances.

Joseph Ferrari was the director of Software Development for Atari Canada. After that he directed software development for Atari Corp. US, where his efforts were focused on developing the Mega/Laser printer combination as a desktop publishing workstation. He is now back in Toronto where his new company, Personal Productions Ltd, develops interactive multimedia productions. Joseph says that because the general public tends to be intimidated by computers, user interface design is the number one priority for acceptance in the multimedia market.