Principle 10: Good Software Works the Way People Expect It To

Definition

Software should behave according to user expectations, not the developer’s assumptions. Interfaces need to match users’ mental models, cultural conventions, and prior experiences.

Why It Matters

When software defies expectations, users become confused, make mistakes, and lose confidence. Meeting expectations creates a sense of control, trust, and satisfaction, making the product feel intuitive and reliable.

Example – Good vs. Bad

  • Good: On most websites, clicking a logo in the top-left corner returns the user to the homepage. This meets a widely held expectation.
  • Bad: On some apps, the same action opens settings or does nothing. Users feel lost and frustrated because the system behaves unpredictably.

Do’s

  • Conduct user research to understand expectations and mental models.
  • Follow platform and industry conventions where possible.
  • Provide consistent behaviors across all parts of the application.
  • Test interactions with real users to ensure they align with expectations.

Don’ts

  • Don’t invent new interaction paradigms without clear reason.
  • Don’t ignore common user conventions (e.g., buttons, links, navigation).
  • Don’t assume users will read manuals or guess system logic.

Key Takeaway

Users should never feel the software is “weird” or unpredictable. Intuitive products fit naturally into the way people think, allowing them to achieve goals efficiently and confidently.

more insights

Consistency means that similar things look and behave the same way, both within a product and across platforms.
Affordances are visual or physical cues that suggest how something can be used. A button looks “clickable.” A slider looks “draggable.” Good design makes functionality obvious at first glance.
Great UX strikes a balance: new users can succeed quickly without training, while experienced users can work efficiently without being slowed down.