Design of Everyday Things Framework
Foundational design principles for creating products that are intuitive, discoverable, and understandable. The "bible of UX" — applicable to physical products, software, and any human-designed system.
Core Principle
Good design is actually a lot harder to notice than poor design, in part because good designs fit our needs so well that the design is invisible. When something fails, users blame themselves — but the fault is almost always in the design. Great design bridges the gap between what people want to do and what the product allows: it is discoverable (you can figure out what to do) and understandable (you can figure out what happened).
Scoring
Goal: 10/10. Rate any design 0-10 on discoverability, understandability, and error prevention. A 10/10 means users figure out what to do without instructions, understand what happened, and recover from errors easily. Report the current score and the improvements needed to reach 10/10.
The Two Gulfs
Every interaction with a product requires bridging two gulfs:
USER PRODUCT
│ │
├──── Gulf of Execution ────────────────→│
│ "How do I do what I want?" │
│ │
│←──── Gulf of Evaluation ──────────────┤
│ "What happened? Did it work?" │
Gulf of Execution
The gap between what users want to do and what the product lets them do. Users ask: What can I do here? Which control do I use?
Bridge with: clear signifiers, natural mappings, constraints, familiar conceptual models.
Gulf of Evaluation
The gap between what the product did and what users understand happened. Users ask: What happened? Did it work? What state is the system in?
Bridge with: immediate visible feedback, clear system-state indicators, meaningful error messages, progress indicators.
Design goal: Make both gulfs as narrow as possible — action and understanding should be immediate.
See: references/two-gulfs.md for gulf analysis exercises.
Seven Fundamental Design Principles
1. Discoverability
Definition: Can users figure out what actions are possible and how to perform them? Its five components — affordances, signifiers, constraints, mappings, feedback — are detailed below.
Test: Put a new user in front of your product. If they can't figure out what to do within 10 seconds, discoverability is broken.
Anti-pattern: "The user manual explains it." If users need a manual, the design failed.
2. Affordances
Definition: The relationship between