Not Everything Deserves Equal Billing
Jason Fried talking about The Obvious, the Easy, and the Possible:
Unless you're making a product that just does one thing – like a paperclip, for example – everything won't be obvious. You have to make tough calls about what needs to be obvious, what should be easy, and what should be possible.
I've been thinking about the products I am involved in for a long time. The correct working practices, the right things to focus on and how to get the right balance. The thing is, most products fail this balance completely. They either hide everything behind seventeen layers of menus, making the obvious impossible to find, or they plaster every possible action on the home screen like a teenager's bedroom wall. Neither works.
When I built Micro Social, I spent far too long trying to make everything obvious. Every feature, every interaction, all sitting there on the surface begging to be noticed. The app felt cluttered before I'd even shipped it. What pulled me back from the edge was realising that not everything deserves equal billing. Some things need to be there when you need them, not screaming at you when you don't.
Reading books on micro.blog is a perfect example. It's possible through the web interface, but it's buried enough that most people don't know it exists. The timeline is obvious, posting is obvious, but books? That's for people who go looking. Not everyone needs to track their reading, so why force it on them?
The hard part is deciding which category something belongs in. Your users will disagree with you, they always do. Someone's "this should be obvious" is another person's "why is this cluttering my screen". You end up making choices that please nobody, or worse, you try to please everyone and build something mediocre.
The paperclip analogy is perfect, it does one thing brilliantly. No settings, no customisation, no feature bloat. You pick it up, you know exactly what it does. The moment you start adding "smart" paperclip features, you've lost the plot. Most software isn't a paperclip, it can't be. My blog does dozens of things, my phone does thousands. The question isn't whether to add complexity, it's where to hide it. Make the common stuff obvious, the useful stuff easy, and tuck everything else somewhere reachable when needed.
We rarely stop to think through this hierarchy before building. We just add features, stack them up like bricks, and hope users figure out which ones matter. Then we wonder why people get frustrated or never discover half of what we built. The obvious should require zero thought. When you open an app, the main thing you're there to do should be right in front of you. Easy should be one or two taps away, requiring minimal hunting. Possible should be discoverable if you need it, invisible if you don't.
Apple used to get this. The iPhone launched with one button, everything obvious flowed from that. Now the OS has gestures, widgets, shortcuts, focus modes, action buttons, and a hundred other things that used to be impossible but are now just confusing. They lost the thread somewhere around iOS 13.
When everything tries to be obvious, nothing is. When everything's hidden in the name of minimalism, you've just created a different problem. The sweet spot is narrow, and most of us never find it on the first try. I don't have this figured out, and Learning to say no to feature requests has been harder than building the features themselves.
Framing it as obvious, easy, and possible at least gives me language for the decisions. Instead of "should this be here", I can ask "which category does this belong in". You don’t need all three categories, but that you need to know which one you're designing for at any given moment. Stop trying to make everything obvious. Stop hiding things that should be easy. Start being deliberate about where things live.