Skip to content

Usability

Quality Attribute · Chapter 4

Usability is how easily users accomplish their tasks with the system. It correlates directly with user satisfaction and with users’ perception of overall quality, and it is often one of the cheapest ways to improve a system. Poor usability lowers productivity — and if a website is hard to use, slow, or hard to read, users simply switch to an alternative.

Once users have learned the system, the speed at which they perform actions reflects its usability.

The degree to which new users can learn to use the system effectively (defined in ISO/IEC 25010). Covers both first-time users and experienced users learning newly added functionality. Usable systems are intuitive, so little time/effort is needed to learn a feature.

Usable software prevents mistakes, minimizes their impact, and gives feedback:

  • Validation with helpful messages when it fails.
  • Friendly, informative messages.
  • Tooltips.
  • Feedback for long-running processes (progress bars, completion/failure notifications for async operations).

The aspect of usability that helps people with disabilities or impairments — vision (blindness, color blindness), hearing, and physical (unable to type/use a mouse). Design considerations include:

  • Full keyboard operation (no mouse required).
  • Support for assistive technologies (screen readers/magnifiers, text-to-speech, alternative keyboards and pointing devices).
  • Text alternatives for non-text content (controls, time-based media, CAPTCHAs).
  • Navigation aids; enough time to read/use a screen (adjustable or removable time limits; pause/stop for auto-updating content).
  • Color choices that account for color blindness.
  • Logical tab order for controls and inputs.

Key practice: include people with impairments in requirements, design, and usability testing.

  • Requirements — use elicitation techniques such as observation (watch users work and note what does and does not work) and interviews. See Requirements elicitation.
  • Usability testing — once a working version exists, have users perform tasks while you observe pain points; use interviews and focus groups to gather likes/dislikes.

Aesthetics are part of usability.

  • Web — readability (headers, spacing, readable fonts, attractive colors, well-formatted text); thoughtful page layouts; concise content; simple navigation/menus; no broken links; tooltips; consistency (colors, icons, fonts, terms); progress indicators for waits.
  • Desktop (Windows) — proper control spacing; appropriately sized windows/controls; sensible resize behavior and minimum window size; label every control/group; correct tab order; shortcut and access keys; correct capitalization; helpful tooltips; consistency; busy/status feedback (progress bars); informative confirmation/warning/error messages.

A thorough, up-to-date help system supplements learnability: tooltips, online help, manuals, tutorials, FAQs, knowledge base/forums, training, and support-case submission. It supplements — it does not replace — an intuitive design.

Usable is not enough — software must be useful

Section titled “Usable is not enough — software must be useful”

Regardless of usability, the software must have utility: it must provide the functionality users actually need so they can accomplish their goals. A pleasant visual experience without usefulness is still a poor user experience.

  • Software Architect’s Handbook (Packt, 2018), Ch.4 “Usability”, pp. 202-212.