Skip to main content

Ben Shneiderman’s Eight Golden Rules of Interface Design

  1. Strive for Consistency Consistent sequences of actions should be required in similar situations; a common voice and terminology should be used in the information architecture, menus, and documentation; and a consistent colour scheme, style of layout, and font should be maintained throughout.

  2. Enable Frequent Users to Use Shortcuts As the frequency of use increases, so does the user's desire to reduce the number of interactions and to increase the pace of interaction. Abbreviations, modifier keys, hidden commands, and macro facilities are very helpful to an expert user. These are often called accelerator workflows.

tip

Go through a series of common workflows, can each of these performed on mass selections. Many kinds of action, or command, have subtle variations, these are often put behind modifier keys, are these present? Are common menu commands available as shortcuts?

  1. Offer Informative Feedback For almost every action, there should be some feedback, often this is visual and obvious, but when that’s not the case, users need to know that something has changed. Feedback can take many forms, general information, warnings and errors. These should be presented in a distinct fashion (e.g colour coded).

  2. Design Dialogs to Yield Closure Not hugely relevant to DCCs outside of (ghastly) wizard tools and account and sales related workflows, however it’s included for completeness. The idea is that sequences of actions should be organised into groups with a beginning, middle, and end. Informative feedback at the completion of a group of actions gives users the satisfaction of accomplishment, a sense of relief, the signal to drop contingency plans, and an indication to prepare for the next group of actions.

  3. Offer Simple Error Handling As much as possible, design the system so the user cannot make a serious error. If an error is made, the system should be able to detect the error and offer simple, understandable mechanisms for handling the error, or automatically correct for the error. The worst case here is simply providing an error message with no advice on how to correct the issue.

  4. Permit Easy Reversal of Actions Undo and redo are table stakes these days, exceptions to undo functionality should be viewed skeptically, to say the least. But tools such as version control and auto-save can relieve anxiety and increase trust since the user knows that errors can be undone; it thus encourages exploration of unfamiliar options.

  5. Support Internal Locus of Control Experienced users strongly desire the sense that they are in charge of the system, that they can make decisions and the software will work for them, the way they want to work.

tip

The app should allow users to start, stop, and modify actions at their discretion. They should be able to leave/ abort workflows safely at any point. You should also check that the software allows a good level of customisation, and that if warranted and mature enough, that users can save new defaults, presets or templates.

warning

Browser based software is at an inherent disadvantage here, as the lack of customisation here (and lack of multiple window support for example) can significantly impair the user experience of professional users. This is an interesting sub-topic in itself.

  1. Reduce Short-Term Memory Load Reducing short-term memory load is about minimising the cognitive burden on users by designing interfaces that allow them to recognise information and actions rather than recall them from memory. The ways in which software can reduce this burden are almost unlimited.
tip

Check that workflows don’t require users to remember information from one step of a workflow to the next. Are the next steps of a workflow clear? Is appropriate feed-forward offered? Is auto-complete present where needed? Are recent searches saved? Is information clear and succinct?