A far too typical mistake we make is to think of the user as a lesser being than ourselves. This is obviously not true. Users know how to do their work, and they understand the goals they want to achieve with our software. They can easily grasp the breadth of options we lay before them and when given enough leeway they are certainly able to learn how to use any application.
Once we accept our users as reasonable people, it becomes clear that there might be a list of universal expectations. This list can then be considered for any application. Yes, it is intuitive, but each item in the list that follows requires explicit deliberation when designing the user interaction for your application.
- Don't make me hunt. For each view, anticipate the actions the user is most likely to take. Provide quick access to these actions from the view.
- Don't make me guess. Consider what important status information is needed by the user, and make sure he in informed when that information changes. Status can be communicated using subtle elements, such as icon states and colours.
- Don't confuse me. Keep the interface consistent, not only the look and feel, but also the behaviour. Avoid being too uniform: make sure that things that behave differently also look differently.
- Don't waste my time. Save the user's time by combining actions that always follow each other into composite ones. Write tooltips and help text clearly and concisely. Avoid "Are you sure?" dialogs by introducing an undo facility.
- Don't trap me. Give the user the freedom to explore the application safely. Ensure that it is easy return to well known views, and that also actions are revertable. A revertable action is one that can be undone by another action: e.g. the Enable XXX is revertable if there is a Disable XXX action.
- Don't make me wait. When an action will take some time, move it to a thread to allow the user to continue with other things. Remember to provide appropriate feedback (to avoid guessing).
- Don't make me think. Expose the conceptual model of the application clearly using appealing metaphors together with images and text cues. Choose the metaphors well and use them consistently.
User interaction design decisions are very likely to become part of the design considerations of the entire system. It is sometimes impossible to address all the user interaction issues on an older system, or one where the "server-side code" is fixed or inflexible. However, when doing greenfield development, user interaction must be discussed in detail as early as possible.
In summary, things may be less gray if you consider these seven simple guidelines. Keep on rolling out those terrific user interfaces!
0 comments:
Post a Comment