The Inmates Are Running the Asylum · Alan Cooper · 1999
This book was a much needed call to action to get more design into software development. Don’t take it as best practice though. It was written pre-product management, and it shows in the extensive list of responsibilities given to the interaction designer.
Key Highlights
Products are not inherently hard to use. We just use the wrong process for creating them. Interactive products need to be designed by interaction designers instead of software engineers. Interaction designers base decisions on user goals, while programmers often focus on what's easiest to build.
Interaction designers think first conceptually (what is best for the user) then behaviourally (how elements of the software should act and communicate) and only then in terms of interface.
Beware of the "dancing bear" syndrome. Most software creators don't know how to make products easy to use, so they add features instead. Features in isolation seem to add utility, but together they make programs difficult to understand and use. Each marginal feature obfuscates the truly useful ones.
Beware of the dancing bear. People gather to see the wondrous sight. The bear is a really terrible dancer. The wonder isn’t that the bear dances well, but that the bear dances at all.
You can predict which features in any new technology will be used and which won’t. The use of a feature is inversely proportional to the amount of interaction needed to control it!
If you lack a clear vision for a product, you can’t assess it’s progress toward completion. Don’t let ‘shipping it’ become your only definition of completion. Describe the reaction you’d like the end user to have.
Feature-list bargaining is a result of deadline management. Features are traded for time, and time for features. Both engineering and management are instantly comfortable with it. Lost though - is the perspective needed for success. Manaage only to deadlines and feature lists and the product might arrive on time but it won’t be desirable. Instead - manage toward quality and user satisfaction and you till get to a product that users want - and it won’t take any longer.
Don’t start before you know what problem you’re solving. Coding momentum is unstoppable, and the design process starts having to respond to the needs of the programmers.
Prototypes are experiments made to be thrown out. They have too many foundational short-cuts to scale. The value of a prototype is in the education that it gives you, not the code itself.
What’s wrong with software? Products forget, they don’t adapt, they don’t tell us what’s happening, they impose an inhumane level of rationality and precision on the user.
The three primary qualities in high-technology businesses (from Larry Keeley of Dolblin group)
- Engineers - Capability → What are we capable of, what is possible
- Business people - Viability → What is viable, what can we sell?
- Designers - Desirability → What is desired? What do people want?
Anyone untrained in interaction-design tends toward self-referential design (when you imagine yourself as the user).
I’m not saying that a programmer can’t become a designer, I’m just saying that it is nearly impossible to do either task well - while attempting to do both simultaneously.
When programmers implemented Jeff Bezos’ 1-click button, they did so with a confirming question! Jeff pointed out the extra click was 100% inflation.
Often the user is overworked and the CPU is idle. Being kind to chips and cruel to users. We have to revamp our development methodology so that the humans who ultimately use them are the primary focus.
- The two most important process changes:
- design interactive products completely before beginning programming
- turn responsibility for design over to trained interaction designers.
Personas → Goals → Scenarios
Personas are the foundation of Goal-Directed Design. They're discovered through investigation, not invented. Personas help visualise design problems and user goals. Design for a single, precise persona rather than an elastic "user." Create 3-12 personas, including negative ones. Primary personas (max 3) are the main design focus. If multiple primary personas exist, they need different interfaces.
Goals drive tasks and remain stable as technology changes. Distinguish between personal and practical goals.
Scenarios are concise description of a persona using a product to achieve a goal. There are two key types of scenario:
- Daily use: Most critical, high-frequency actions. Typically <3 scenarios.
- Necessary use: Essential but infrequent actions. More numerous than daily use.
Focus on crafting interactions for frequent tasks. Less common tasks require less design attention.
Conceptual integrity is vital. Use personas, goals, and scenarios to guide product decisions. The design sequence is crucial: Design → Program → Test → Tweak. Complete design before programming.
Interaction designers should own product quality, feature lists, and schedules. They need authority and responsibility to be respected by programmers.
Organise design documents using the spiral method:
- Headline
- First paragraph
- Next 3 paragraphs
- Remainder
The four 4 principles for polite software → quality, quantity, relevance and clarity.
Subscribe Button
In the News
There is considerable debate within the AI community regarding the definition of AGI. OpenAI has internally introduced '5 Levels of AGI', a framework that’s both clear and ambiguous. We’ll know it when we see it I guess.
- Chatbots: natural conversation language abilities
- Reasoners: human-levels of problem-solving across a broad range of topics
- Agents: that can take actions independently or from human instruction
- Innovators: that aid in the invention of new ideas and contribute to human knowledge
- Organisations: capable of doing all of the work of an organisation independently
Altman has previously spoken about AI transitioning from tasks to jobs to companies before. This isn’t surprising, but few grok the scale of the ambition and scale of potential transformation ahead. Imagine spooling up 1B companies in parallel that operate at CPU cycle speed · Article
Quick Links
How to design better metrics · Article
Embracing product-led growth: Principles, strategies, and metrics · Article
Why doesn’t advice work? · Article
Starting an analytics org from scratch · Article
AAARR KPI Tree · Tweet
What can robotics tell us about AI’s hard problems · Article
Theory of Self-Reproducing Automata · John Von Neumann · 1996
At a time before computers were as ubiquitous as they are today, the work established a mathematical and logical basis for a machine that could not only create a copy of itself but also pass on instructions for reproduction. It drew direct parallels to biological processes and DNA inheritance, anticipating their discovery. This work significantly influenced the fields of automata theory, artificial life, and complexity theory, inspiring continued research into the nature of self-reproduction and its potential ramifications across scientific disciplines.
Book Highlights
Your message needs to fit the customer’s context. You can’t say everything everywhere. Tony Fadell · Build
It is not uncommon for a new competitor to overtake a market by finding the capabilities, resources, funding, technology, and know how to create an offering that gets the entire job done. Anthony Ulwick · Jobs to Be Done
The first aspect is the culture of your company. How interested are people in building a great product? Do they have the motivation and means? Do they want to collaborate to make it happen? Do they have the mandate to make it happen? Martin Christensen and Marcus Castenfors · Holistic Product Discovery
As an organization, you incur capability debt, because people (managers and technical staff) can’t improve their capabilities when they’re overburdened with too much work to do. Johanna Rothman · Manage Your Project Portfolio
Quotes & Tweets
A prototype is worth 1000 meetings. Shaaun Puri
Polite software is interested in me Polite software is deferential to me Polite software is forthcoming Polite software has common sense Polite software anticipates my needs Polite software is responsive Polite software is taciturn about its personal problems Polite software is well informed Polite software is perceptive Polite software is self-confident Polite software stays focused Polite software is fudgable Polite software gives instant gratification Polite software is trustworthy Alan Cooper