“Simple things should be simple. Complex things should be possible” from Alan Kay is one of my top product development principles
Products such as Photoshop, Outlook, Excel, Figma… began with a few simple use cases, and have evolved into sophisticated solutions to satisfy the increasing of customer expectations.
Over time, the product experience suffers as more and more features are introduced recklessly to increase the value prop, causing dissatisfaction among existing users and creating an invisible barrier to entry for the new users.
Other simpler products, focusing on the fundamental use cases for the basic users, are founded to capture the market share, Canva vs Photoshop, Slack vs Email, Airtable vs Excel, e.g.
However, without being mindful when introducing new features, they might fall into the same trap again in the future.
Being powerful while remaining simple is challenging, the product that can do “Simple things should be simple. Complex things should be possible” will have the advantage to sustain its growth.
Google Search is a strong example
Although the theory sounds simple, it is not easy to put into practice. In this post, I will walk you through my framework, the industry’s common pitfalls, and best practices.
The Common Pitfalls
Simple things are not simple
Most people start using a product to solve some specific problems, however, they easily get overwhelmed by the features that are not relevant to their use case.
Complex things are not possible
Identifying the Core Use Cases and Sub Use Cases
Core Use Cases
Solving these use cases is how your product delivers the main value prop.
- Target Population: 80% of your users, Casual Users
- Frequency: High
- Examples: Booking a hotel (Airbnb), etc.
Sub Use Cases
Solving these use cases add more value to your product.
- Target Population: 20% of your users, Power Users
- Frequency: Need-based
- Examples: Version history, Formulas, etc.
Make the Core Use Case Features accessible
Disguise the Sub Use Case Features
- Via command compalette
- Context menu
MacOS vs Windows’ Save File Modals
The simple things
The complex things
80% of core use cases can be achieved easily by any user via a friendly GUI, however, with the well-defined underlying syntax, any GUI actions can be turned into Coda programming language, which opens to unlimited possibilities.
How do I apply it in the product I built