Creative Selection: Inside Apple's Design Process During the Golden Age of Steve Jobs
Core thesis: Great products emerge from a tight loop of demo-feedback-iteration by small, empowered teams with taste. Not from A/B tests, not from committees, not from specs — from showing the work and converging through judgment.
Core Ideas
- Demos as the unit of progress. The demo is the atomic unit of Apple’s development process. Not the spec, not the whiteboard sketch, not the Jira ticket. Making a succession of demos is how ideas go from intangible to tangible. “Whiteboard discussions feel like work, but often they’re not, since it’s too difficult to talk productively about ideas in the abstract.”
- Taste is a design skill, not a personality trait. Kocienda defines taste as “developing a refined sense of judgment and finding the balance that produces a pleasing and integrated whole.” It’s a learnable capacity — the ability to form gut opinions you can also justify with your head. Google famously A/B tested 41 shades of blue; Apple picked one and moved on.
- Heuristics over algorithms. Great products blend algorithmic correctness with human heuristics. The iPhone keyboard’s autocorrect goal wasn’t to conform typing to the dictionary — it was to give you the word you meant, given what you did. The numbers (animation duration, gesture thresholds, zoom levels) were never provably optimal; they were chosen by taste.
- People matter more than programming. Kocienda’s hardest technical problems turned as much on the social side as the software side. Culture and products are inseparable — you can’t build great products without building a great working culture first.
- Convergence, not exploration. Apple teams always moved toward the next demo. Quick choices on small details, more time on bigger questions, but never too much. Always willing to reconsider, but always converging. Progress was the one essential demo expectation.
Why It Matters to Me
This book is the best insider account of how the Smalltalk/Kay tradition manifests in modern product development. Apple’s demo-driven process is the direct descendant of Kay’s “doing with images makes symbols” — you build to think, not think to build. The tight feedback loop of demo-react-converge is exactly what Engelbart meant by augmenting human intellect through tools.
Relevance to Dave (Mar 2026):
- DO role: Standing up an engineering culture. Demo-driven development is the antidote to spec-driven waterfall. “Show, don’t tell” is already in my management philosophy — Kocienda provides the operational playbook.
- Augmentation thesis: Kocienda’s distinction between algorithms and heuristics maps directly to the human-AI handoff question. AI excels at algorithms; taste and heuristics are where humans add value. Creative selection is the process by which humans exercise judgment that machines can’t replicate.
- WCP/Show Notes: Both products need taste-driven convergence, not feature sprawl.
Key Concepts
| Concept | Description |
|---|---|
| Creative selection | The evolutionary process: generate options through demos, select the best, iterate. Natural selection applied to product development. |
| The demo | The atomic unit of progress. Must show real, working software. Choreographed to communicate a step toward the product. |
| Taste | Refined judgment that produces a pleasing, integrated whole. Gut + justification. Learnable, not innate. |
| Heuristics + algorithms | Great products coordinate both. Algorithms handle correctness; heuristics handle humanness. |
| Seven essential elements | Inspiration, collaboration, craft, diligence, decisiveness, taste, empathy — the ingredients of Apple’s culture. |
| Zarro boogs | Netscape’s humorous recognition that “zero bugs” is unattainable — you ship when it’s good enough, not perfect. |
| Convergence | Always moving toward the next demo. Quick on small decisions, deliberate on big ones, always forward. |
Cross-References
- A-Philosophy-of-Software-Design — Ousterhout on complexity; Kocienda on taste as the tool for managing it
- Use-Equals-Build — the demo loop is use=build applied to product development