An Introduction to Usability Harmonics
Usability Harmonics adapts the Cognitive Dimensions of Notations framework (Green & Petre, 1996; Blackwell & Green, 2003) — originally developed for evaluating programming languages and notational systems — for the evaluation of complex professional software. The original framework provides a vocabulary for discussing design trade-offs informed by cognitive psychology; Usability Harmonics makes this vocabulary accessible and actionable for software designers.
Usability Harmonics is a form of heuristic evaluation organised around 14 usability characteristics. It provides a detailed framework for examining how complex professional software supports the work people need to do, and how its design decisions affect that work.
A general heuristic review usually centres on finding and prioritising defects. Harmonics places greater emphasis on explaining the relationships behind those findings. A difficult change, for example, may result from dependencies that were hidden from the user, or from an earlier decision that required them to commit before they had enough information. Examining those relationships helps you identify where the design reasoning went wrong and what you could do differently.
The framework can serve as a design post-mortem, recording what worked well, what caused difficulties, and the trade-offs involved. Defects can form part of that record, alongside explanations and lessons for future work. Understanding why a design succeeds is as useful as understanding why it fails; both help you improve your judgement as a designer.
One of the biggest advantages of using Conceptual design when building your software, is that when you build in terms of concepts, you can evaluate in terms of concepts. As a software designer, this will make your job much faster and easier, though of course you can still use this framework if that isn't the case, it will just take a bit longer the first time you do it.
Who can do it
Designers can use Usability Harmonics to discuss and reflect on design choices, and users can use it to articulate their experiences with a system. You do not need to be a UX professional to begin, though you will need to learn the characteristics and understand the activities you are evaluating.
When to do it
You can use Usability Harmonics at any stage of a product’s development. Review an existing design to understand its consequences, or examine a proposed workflow to anticipate difficulties and make trade-offs consciously. Keeping a record of the reasoning gives your team a body of design knowledge to draw on in future work. The framework can be used alongside general heuristic reviews, usability testing and analytics.
How to do it
Begin with a specific activity or workflow and familiarise yourself with the characteristics, such as rigidity and invisible links. Evaluate the design against each relevant characteristic, recording difficulties and successful choices. For each finding, trace the consequence back to the design decision where possible, noting any assumptions that need checking with users. Record the trade-offs a proposed change would introduce and the lesson you would carry into future work. A spreadsheet can help you keep these findings together.
One critical aspect to be aware of is that acting to change one characteristic can adversely affect another, for example if you want to lower Rigidity (to make things easier to change in your software) you might do this by introducing a new way of working, this in turn may make the Conceptual Gradient worse if the user has to learn more before they can gain the benefit of the new ideas.
In my experience, Conceptual Burden is the most useful starting point, and a ‘core review’ of six characteristics can provide a good basis for discussion. More complete reviews should be done periodically; a general heuristic review can also supplement a core review by identifying common interface problems. For the time pressed, the core six are:
- Conceptual Burden.
- Invisible Links.
- Premature Commitment.
- Real-time review.
- Rigidity.
- Visibility.
The remaining 8 dimensions — Error-Proneness, Provisionality, Secondary Notation, Role Expressiveness, Closeness of Mapping, Consistency, Diffuseness, and Hard Mental Operations — address more specific aspects of the design. They are all documented in the pages that follow and are equally valuable for a thorough evaluation.
A fundamental principle of this framework: no dimension is inherently good or bad. Each becomes evaluative only when applied to a specific user activity. And improving one dimension almost always affects others — these trade-offs are inevitable and should be made consciously, not accidentally.