Those products were filled with features and tool buttons, and their settings dialogs contained dozens of geeky options. Customers liked them that way. I liked them that way, too.
But then I made FeedDemon. It's still a pretty geeky product, but it's not just for power users. FeedDemon users range from hardcore developers to computer newbies.
At first I built FeedDemon as though my customers were geeks like me, since that was what I was used to. Power users were happy with all the features and all the options, but the extra baggage made it harder for less technical people to use the product. It scared them away.
So with each new version I tried to simplify the user interface, and dropped features & options that complicated the product. FeedDemon became more popular as a result, but you’d never know it if you visited my online support forums.
I’d come out with new versions that I thought dramatically improved the product, only to find my forums filled with complaints from power users who wanted the return of some obscure option, or were upset that I wasn't adding the geeky features they wanted.
Sales went up, but positive feedback went down. I had built FeedDemon with the wrong customer in mind, and I paid for it by spending a ton of time defending each release.
Sure, if you're building a product for power users, make sure to cater to them. Give them everything they need. Despite the rude title of this post, I actually love building stuff for power users because they make great customers.
But if you're building a mainstream consumer product, then from day one you need to tell yourself, “screw the power users.”
That’s hard to do - after all, you’re a developer, so you’re one of the power users. You want to make people like yourself happy.
But I’d argue that’s one of the biggest problems that has plagued the software industry. We’ve all built stuff for ourselves, even though the vast majority of software users aren’t like us.
We're the ones who made computers so hard to use. And we’ve done it by catering to power users - by building software for people like us instead of for people who don’t know and don’t care about all the geeky little details.
So if you’re just starting to build something, make your mantra “screw the power users.” Unless power users are your primary customers, catering to them will only hurt your product.