I'm building a collaborative writing platform, but with version control and a social layer, it's more like GitHub than Google Docs. It's a bit of a jump from existing tools, and I'm continually talking to users to make sure I'm on the right track.
Yesterday, a new member mentioned that he switched from a competing service. When I asked why, his response was surprising:
[Competitor] is really nice, but recently was getting more and more features, which I don't need.
Yes, really. Too many features!
Less is more
We all know less is more, but when we get to building, most of us err on the side of more features. Why? Bunch of reasons:
- feels like progress
- makes pricing page look full (so many features for the money!)
- another excuse to email blast the users
- compensating for insecurities
- good for press
- exciting, bleeding edge tech
Features are disguised as work, but slopping on features is actually one of the easiest things you can do. It's incredibly satisfying, and let's be honest, building new features is just plain fun.
Books have pages and museums have wall space. Software, on the other hand, is virtual, boundless. Anything is possible. When anything is possible someone inevitably tries to make something do everything.
- Jason Fried, 37signals
It's an easy trap to fall into.
The real work is figuring out why the last ten features you added aren't being used. Or which ones to keep and which to kill. This means asking the right questions, digging through data, talking to users, and even admitting you're wrong (which is totally fine). It's not easy. It's draining, and kind of sad - nobody wants to throw something away that they poured their heart into.
The worst part is the utter lack of visible progress.
For the project repository page on Penflip, I started with something akin to GitHub and stripped it down. Then I stripped it down again and shipped it. I loved the simplicity.
Turns out it wasn't simple enough - nobody knew what was going on. People familar with GitHub got it, but most didn't. Project owners were overwhelmed with options, and their collaborators... oh boy.
Back to the drawing board. I ripped out the low-value features, cleaned up the interface, shipped it again, and stood back to admire my progress. But there was no progress. There was less on the page than before. And less code behind it. I felt like I made a huge mistake. Did I undo all my hard work? Nobody wants something this simple. Should I have spent my time adding more stuff?
There was no backlash. No complaints. Only positive remarks and an email from my new friend.
Less code, less features, and happy users. Imagine that :)