Effective applications let the user know what is
happening with the application, but without
revealing implementation details. Proper communication
between the user and the application increases user
satisfaction. There are three guidelines for
communicating from the application to the user:
provide feedback,
anticipate errors, and
provide warnings.
Give the User Feedback
Feedback lets users know that the computer has
received their input. Give users feedback
whenever they have selected a component or Menu item by
highlighting the component or Menu item in some way. In
addition, if certain operations take more than
a few seconds, you should let the user know that the
computer is working on that operation by providing a
message or by changing the pointer to a
working pointer.
Anticipate Errors
Anticipate the errors that are likely to occur. By anticipating errors, you can avoid them in your design, enable the support of recovery attempts, and provide messages informing the user of the proper corrective action. For example, one technique for avoiding excessive error messages is to dim interface components when they cannot be used.
Context-sensitive help aids understanding, reduces errors, and eases recovery efforts. Help information text needs to be clear, concise, and written in everyday language. Help information needs to be readily accessible and just as readily removable.
Many users are most comfortable with learning how to use
software applications when they use a natural,
trial-and-error method. An undo function supports
learning by trial and error by minimizing the cost of errors.
An undo function allows the user to
retract previous actions, and fosters a spirit of exploration and
experimentation that is essential.
Use Explicit Destruction
Explicit destruction means that, when an action has irreversible negative
consequences, it should require the user to take an explicit action to
perform it.
For example, while a worksheet can be saved simply
by clicking on a Save PushButton,
erasing the worksheet should require clicking
on an Erase PushButton and answering
a warning question like
"Are you sure you want to erase this worksheet?"
with a button click in the warning DialogBox.
Warnings protect the user from inadvertent destructive operations, yet allow the user to remain in control of the application. Warnings also encourage the user to experiment without fear of loss. Operations that can cause a serious or unrecoverable loss of data should warn the user of the consequences and request explicit confirmation.