The Coalition for User's Rights
Useful Design Rules
Visual interfaces don't make programs easier to use. They make them easier to learn. Most people consider anything easy to use once they're used to it, even wristwatches and the postal system. However, the quality of the design makes a big difference is how much easier it is to learn and how annoying it is once one is used to it. These design rules are intended to help flatten the learning curve and reduce the annoyance level.
- The code must handle all cases, but the design must consider the probabilities.
- Different is often worse. Good designs should be copied. If it already works well, then don't change it without a good reason.
- Unless there is a strong consensus for how something should work, the correct way for a program to operate is not to do it one way or the other, but rather to give the user the choice of doing it either way.
- Make everything available via the menus and make it easy to back out and/or undo the result so the user can explore without fear of destroying or losing anything.
- If the user can see it, and it's not a constant, let them change it right there, in place.
- Be sure to include consistent visual clues to tell the user what is constant and what is changeable. As an example, in a dialog window, changeable text has a border around it, while static text doesn't.
- Avoid disrupting the user's productive flow
- Don't force them to shift from keyboard to mouse without a reason
- Avoid error messages
- Constrain the user so that mistakes are impossible
(e.g. using a slider instead of an input field)
- Fix problems automatically
- Don't force the user to be idle.
- Perform long tasks in the background.
- Always give the user the option to cancel at any time. [3]
Copyright © 1998 by John Lindal.
References
[1] Cooper, Alan. About Face, The Essentials of User Interface Design. Foster City, CA: Programmers Press, 1995.
[2] Norman, Donald A. The Design of Everyday Things. New York, NY: Currency Doubleday, 1988.
[3] Daniel Lyddy
Back to the CUR Main Page