First Principles of Interaction Design

Foundational interaction design principles from Apple's first human interface designer, covering everything from anticipation to visible navigation.

  1. Anticipation

    Bring users all the information and tools they need for each step. Predict what they’ll want next rather than making them search for it.

  2. Autonomy

    Give users control over their environment while maintaining sensible boundaries. People feel most comfortable when they can explore without hazard.

  3. Color Blindness

    Never use colour as the only means of conveying information. Roughly 10% of men have some form of colour blindness.

  4. Consistency

    Maintain consistency at multiple levels—platform, application, and within features. But break consistency deliberately when it aids understanding.

  5. Defaults

    Choose intelligent defaults that serve most users. Make them easy to change and use clear language to explain what restoration options actually do.

  6. Efficiency of the User

    Optimise for human productivity, not machine efficiency. People cost far more than computers, so save their time first.

  7. Explorable Interfaces

    Let users move freely backward and forward through workflows. Clear, visible navigation encourages people to complete tasks.

  8. Fitts' Law

    Target acquisition time depends on distance and size. Make important controls large and position them near screen edges where the cursor stops naturally.

  9. Human Interface Objects

    Create objects that behave consistently and can be manipulated directly. Users should be able to predict how objects will respond.

  10. Latency Reduction

    Reduce actual wait times and make unavoidable delays feel shorter. Acknowledge input immediately and show progress indicators.

  11. Learnability

    Balance learnability with usability for experienced users. The ideal interface works well for both novices and experts.

  12. Metaphors

    Use metaphors that help users understand new concepts through familiar ones. But don’t let the metaphor limit what the software can do.

  13. Protect Users' Work

    Ensure users never lose their work through system failure, their own error, or misunderstanding. Save continuously and enable recovery.

  14. Readability

    Text must be readable. Use high contrast, appropriate sizes, and avoid visual tricks that sacrifice legibility for style.

  15. Track State

    Remember where users are and what they’ve done. Restore their context when they return rather than forcing them to start over.

  16. Visible Navigation

    Make navigation visible and predictable. Users should always know where they are, where they can go, and how to get back.