In the previous post, we argued that minimizing cognitive load is essential for creating an efficient and enjoyable user experience. Here are some design tips and techniques to consider for reducing cognitive load in your software product:
- Use consistent naming, labelling, icons, and visual presentation to reduce any confusion.
- Try to avoid redundancy so that the same information doesn’t need to be read and processed repeatedly.
- Put related things close together, and avoid forcing the user to switch between different tabs or windows or scroll back and forth to find or enter information.
- Avoid distractions like pop-up dialogs that break the user’s concentration and flow.
- Identify and eliminate any unnecessary steps. You might allow expert users to hide instructions and turn off warning messages.
- If your application has multiple tasks or screens that share similiarities, be consistent in designing the visual appearance and workflow of these tasks and screens, so that once the user has learned how to use one, the same patterns can be applied to the others.
- Automate as much manual work as is reasonably possible. In some cases, though, you may want to allow experts to have the option of doing things manually if they need an extra level of control or precision.
- Where there is a list of steps to be followed, always make it clear how to do the next step. When possible, guide users through tasks with wizard-style interfaces rather than force users to memorize a complex procedure.
- Use visual cues and clues to avoid the need for memorization and recall. Allow options to be selected from menus instead of requiring users to memorize commands.
- Reduce delays and latency as much as possible. Give feedback quickly. If an operation will take a long time, use a progress bar or other indicator to show that the system is busy, and when possible, give an estimate of how much time the remainder of the processing will require.
- Getting started with a blank document can be confusing as users often don’t know where to begin. Where possible, provide templates or “worked examples” so that users can modify an existing document or follow a pattern.
- Avoid forcing the user to memorize data in the short term. For example, I’m aware of one system that required users to make note of a nine-digit customer number, close the window, and then go to another window and re-enter the customer number; this is absurd when the system could remember and fill in this information automatically.