Are you in feature hell?
There comes a moment, when a market loves a nascent product very much, that they start to put strain on the developer.
↓
"Another way to do this?" I whimpered, "this is endless?!"
I wasn't supposed to be feeling this way. The new version of my app had been a thorough rewrite, razing the front-end and installing a fresh, modular foundation. And it was working! When someone asked for some small change like this one, it now took a mere 15 minutes for me to implement, instead of 15 hours, or 15 days.
When you accomplish an engineering feat in 1/60th the time as it used to take you, you're supposed to push that baby to production and savor it. Mission accomplished.
But for me, here in this bog, that triumph never came. As soon as I delivered that new feature, they'd try it once and ask for another one — oh, yes, that's great! Now I need that number to be adjustable too. "Well can't you use the new input?" Oh, no, sorry, not that number, but the rate of change of that number. Can you give me an input for that too?
I wanted to say no ... so very badly. Instead I hid my torment.
"Yes, that would be better, wouldn't it ... "
O wretched man that I am — who shall save me from this body of death?!
This is Success?
There comes a moment, when a market loves a nascent product very much, that they start to put strain on the developer.
It starts out fun; we're quick to offer up these cheap tricks. 'I want you to want me ...' as the song goes. A small change here, an improvement there. An input? Yes 🐙, yes yes.
They've got a taste now, and start to crave our product the way a toddler craves a milkshake. It's delicious. But with our narrow capacity, we soon learn we are the straw, and it sucks.
WWSJD
This is an old tale of torture, and startup culture appears to have an antidote — the opinionated master builder. The VC crowd channels their shallow understanding of Steve Jobs (indies, DHH) and tell the world that if the product was supposed to have a goddamn button there it would already have one.
"Look at Microsoft Word? Do you want to be like Microsoft Word?!"
Hell no, we say. That bloated pile of shit. We have taste!
And so we wield our opinions to cut down scope. This is what it does. Do you not feel that? Do you even understand gestalt? This product puts you in a mood. It massages your senses, if you have them. If not, then perhaps, like that banana taped to that wall over there, it just isn't for you.
Paradise Lost
Once you adopt this mindset, it's hard to go back. It walks and talks a lot like saying no 🐙, which is what we're supposed to do! And within a large enough audience, there will always be some subset of people that share our opinions, or don't have enough confidence in their own to have a strong preference. We win — at least a little.
But then something strange starts to happen. The market starts to feel a bit smaller. First it's defensibly cozy, but then, je nais se quois ... constrictive?
Quick, we need a story to make sense of this plunge into the chasm.
"Genius Founder Sacrificed on the Altar of an Unsophisticated, Ungrateful Market."
That'll do.
Mental Reset
Humans know 10 is more than 1 and have a good sense for the difference. Fingers help a lot!
We do not have any intuition for how many more 1,000,000 is than 10.
And so it's also not intuitive how, within large numbers of people, certain people — say, those 10,000 people who share our strong opinions, are going to be distributed, clumped, or arranged 🐙.
Yes, within our immediate sphere, there are bound to be a few people that share it. That only makes sense — we drink from the same streams.
And if we're lucky, that pattern repeats to the next level of the social graph. But soon enough, it stops. "This product isn't for me." 🐙 Revenue slows, retention rules, we plateau.
Maybe this level of in-market success is fine with you. No judgement; it gets personal 🐙, after all.
As for me ... I observe that this is a fine little fishing boat that costs $25,000.
And this is a boat that costs $250,000.
Hmph.
10x is a lot, isn't it? Suddenly, even my inner Steve can feel it.
Letting Go
When customers demanded new features out of my rebuilt (for the second time) release of Summit, I blanched. Where had I gone wrong? Had I not made it clear that what I had given them was the better way? Why can't they appreciate the beauty of its power and simplicity?!
Deep breath. Ooda, Matt. OODA 🐙.
- Observe: People are asking for lots of things. Lots of different things. This thing. That thing. Another thing. Then over here another thing.
- Orient: No matter how much I give them, they want more, because these things have nothing in common. In fact, what they have in common ... is that they have nothing in common.
Oh my.
What they have in common is ... they have nothing in common ...
They're asking for flexibility.
Okay. Okay. I like this. That's a word I can put on it. Flexibility. They need it to be flexible. So what's the problem with that?
My goodness — I'm the problem. I'm the bottleneck. They're trying to do something, to express something, and every time they need a new, a new ... piece, a new building block, a new color ... I'm forcing them to ask me before they can have it.
Well ... isn't that ironic.
It's as if I've created some kind of writing medium, invited them to use it, but then forced them to submit a feature request any time they want to write a word that's not on the approved list.
What have I done?
- Decide: Summit isn't a product at all. What is it 🐙? Some sort of medium for expression? People are trying to express themselves. I need to give them that ability. That's what people want!
- Act: What choice do I have? I've got to tear this down again and give them something more like — a language? Something where they can become the developer, where I'm out of the way.
Four months later, Summit relaunched as "a whiteboard that does math", a visual canvas for users to create and define their own mathematical building blocks, powered at its core by a language user's could write themselves.
I was out of their way.
And the requests? They stopped.
(Summit before, Summit after.)
Bloat is Beautiful
There was a vision, once upon a time in the 1960's and 70's, that the future of software would be creative. That users, like us developers, would be engaged in products that allow them to express their thoughts in new ways and mediums.
To some degree, we've realized that.
But I also observe a persistent hatred for "bloated" tools like Microsoft Word, PowerPoint, Excel, Adobe Photoshop (and inevitably, Figma) that exposes a lingering, gross misunderstanding.
These products are insanely successful. Yacht-to-canoe more successful than the more opinionated products that piously resist the urge to add buttons when users ask for them.
Is this because the mass market has inferior taste? Because no Steve Jobs has yet descended to teach the market they only need 4 buttons, not 400?
Far from! These buttons and inputs, clumsily implemented as they may be, give the user the widest, most powerful and flexible set of options through which to build their own things, in their own image.
Hate the thought of more buttons? Maybe you can offer them their own scripting language. Maybe you can ship a textarea for a configuration file. Maybe you can provide a tiny escape hatch or sandbox where they're allowed to run amok.
However you meet the need, this freedom matters far more to the user than our opinions.
Are all of their creations beautiful? No. Do they make the right choices given that flexibility? Definitely not. Will they jam too much into that tiny space you gave them and wonder why it's crashing? Certainly.
But are they happier? Very much so.
And as a founder searching for greater fit, nothing else matters.