Principles of interaction design
Posted by Dan on October 18, 2010
- Justify the functionality (see page 192 of Designing the moment book: Weather widgets on government sites don’t make sense).
- Use instructive design to get users up to speed
- Maintain consistency from one screen to the next (for learnability)
- Leverage design patterns to make interactions more learnable and repeatable
- Cater for each stage in the interaction: invitation, manipulation, completion (each needs simple and clear feedback)
Also from his book Designing the moment:
- Build only what’s absolutely necessary.
- Quickly turn beginning users into intermediates.
- Prevent errors whenever possible and handle the errors we cannot prevent gracefully.
- Reduce and refine interactions and task flows until even the most complicated applications are clear and understandable.
- Design to support a specific activity.
- Make constant, incremental improvements to your processes and applications.
- Ignore the demands of users and stick to a vision. (debatable)
The book About Face 3 is full of useful principles.
- On innovating: only break convention if doing so adds value.
- Remove features. The more features you have, the more complexity you have.
- Hide features. Use menus, tabs, dropdowns, etc. to make features available, but not seen until needed.
- Organize features. Cluster like features, content, and controls together under a single area (which can be hidden).
- Tightly align the user’s mental model with the product’s conceptual model. The closer you get, the simpler it will seem.
- Make every choice visible. Rather than hiding all choices under a dropdown, for instance, show them all.
- Conversely, hide some choices if there are too many to be reasonably scanned.
- Reduce choice. Take away customization and limit choices to the most often used.
- Smart defaults. Have them. Make them visible.
- Shortcuts. Make shortcuts to the most used actions in the product.
- Distribute functionality to the right platform. Decide where functionality should logically be located: device, desktop, web. Don’t cram everything onto one platform unless it makes sense to do so.
- Usability. Peak performance comes when user goals are met consistently through flawless functionality and error-free interaction. If the product breaks down, it will slow down user productivity and cause frustrating disengagements.
- Usability. Seamless interaction depends on the quality of the feedback and direction designers are able to incorporate into navigation elements, warning messages, notifications, and the like. If users are left wondering what to do or believing something is not working right, they will no longer enjoy using the product.
- Familiarity (convention) and ingenuity (innovation). Ingenuity in design is a powerful emotive tool because it engages the user at a deeper level: its novelty excites and its out-of-this-world character converts early adopters into raving fans. Curiosity feeds more positive emotions than familiarity and creates new touch points that resonate with specific user needs.
- Remove stuff till the design breaks.
- If novices can use it, chances are intermediates and expert users will quickly also find what they’re looking for.
- Links are for navigation, buttons are for actions
- When to use radiobuttons versus dropdowns versus link lists versus …
Usability is highly correlated with NPS. Read more that at
Possible indicators of low usability (to ask users; from one questionnaire: the System Usability Score) :
1. I think that I would like to use this system frequently. (stickyness)
2. I found the system unnecessarily complex. (simplicity)
3. I thought the system was easy to use. (ease of use)
4. I think that I would need the support of a technical person to be able to use this system. (simplicity)
5. I found the various functions in this system were well integrated. (navigation?)
6. I thought there was too much inconsistency in this system. (consistency)
7. I would imagine that most people would learn to use this system very quickly. (learnability)
8. I found the system very cumbersome to use. (intuitiveness)
9. I felt very confident using the system. (ease of use / task performance speed / error rate) +praised by link (do you feel stupid?) Rational: if a system makes user feels stupid
10. I needed to learn a lot of things before I could get going with this system (learnability)
- Is it clear? Not ambiguous
- Is it logical?
- Does it flow well? Within the page and from page-to-page.
- Is it comfortable?