[A picture of private offices at Fog Creek Software]

Joel on Software

Simplicity

by Joel Spolsky
Saturday, December 09, 2006

Donald Norman concludes that simplicity is overrated: “But when it came time for the journalists to review the simple products they had gathered together, they complained that they lacked what they considered to be ‘critical’ features. So, what do people mean when they ask for simplicity? One-button operation, of course, but with all of their favorite features.”

A long time ago, I wrote: “A lot of software developers are seduced by the old ‘80/20’ rule. It seems to make a lot of sense: 80% of the people use 20% of the features. So you convince yourself that you only need to implement 20% of the features, and you can still sell 80% as many copies.

“Unfortunately, it's never the same 20%. Everybody uses a different set of features. In the last 10 years I have probably heard of dozens of companies who, determined not to learn from each other, tried to release ‘lite’ word processors that only implement 20% of the features. This story is as old as the PC. Most of the time, what happens is that they give their program to a journalist to review, and the journalist reviews it by writing their review using the new word processor, and then the journalist tries to find the ‘word count’ feature which they need because most journalists have precise word count requirements, and it's not there, because it’s in the ‘80% that nobody uses,’ and the journalist ends up writing a story that attempts to claim simultaneously that lite programs are good, bloat is bad, and I can’t use this damn thing ‘cause it won't count my words.”

Making simple, 20% products is an excellent bootstrapping strategy because you can create them with limited resources and build an audience. It's a Judo strategy, using your weakness as a strength, like the way the Blair Witch Project, filmed by kids with no money at all, used the only camera they could afford, a handheld video camera, but they invented a plot in which that was actually a virtue. So you sell "simple" as if it were this wonderful thing, when, coincidentally, it's the only thing you have the resources to produce. Happy coincidence, that's all, but it really is wonderful!

What works for bootstrapping, I believe, will not work as a good long term strategy, because there's very little to prevent the next two-person startup from cloning your simple app, and because eventually you can't fight human nature: “The people want the features,” says Norman. Just because handheld video was perfect for Blair Witch, doesn't mean every Hollywood blockbuster will use it.

Devotees of simplicity will bring up 37signals and the Apple iPod as anecdotal proof that Simple Sells. I would argue that in both these cases, success is a result of a combination of things: building an audience, evangelism, clean and spare design, emotional appeal, aesthetics, fast response time, direct and instant user feedback, program models which correspond to the user model resulting in high usability, and putting the user in control, all of which are features of one sort, in the sense that they are benefits that customers like and pay for, but none of which can really be described as “simplicity.” For example, the iPod has the feature of being beautiful, which the Creative Zen Ultra Nomad Jukebox doesn't have, so I'll take an iPod, please. In the case of the iPod, the way beauty is provided happens to be through a clean and simple design, but it doesn't have to be. The Hummer is aesthetically appealing precisely because it's ugly and complicated.

I think it is a misattribution to say, for example, that the iPod is successful because it lacks features. If you start to believe that, you'll believe, among other things, that you should take out features to increase your product’s success. With six years of experience running my own software company I can tell you that nothing we have ever done at Fog Creek has increased our revenue more than releasing a new version with more features. Nothing. The flow to our bottom line from new versions with new features is absolutely undeniable. It's like gravity. When we tried Google ads, when we implemented various affiliate schemes, or when an article about FogBugz appears in the press, we could barely see the effect on the bottom line. When a new version comes out with new features, we see a sudden, undeniable, substantial, and permanent increase in revenue.

If you're using the term "simplicity" to refer to a product in which the user model corresponds closely to the program model, so the product is easy to use, fine, more power to ya. If you're using the term "simplicity" to refer to a product with a spare, clean visual appearance, so the term is nothing more than an aesthetic description much in the same way you might describe Ralph Lauren clothes as "Southampton WASP," fine, more power to ya. Minimalist aesthetics are quite hip these days. But if you think simplicity means "not very many features" or "does one thing and does it well," then I applaud your integrity but you can't go that far with a product that deliberately leaves features out. Even the iPod has gratuitous Solitaire game. Even Ta-da List supports RSS.

Anyway, I gotta go ... it's time to go upgrade my cellphone to one that includes high speed internet access, email, a podcast catcher, and an MP3 player.


Have you been wondering about Distributed Version Control? It has been a huge productivity boon for us, so I wrote Hg Init, a Mercurial tutorial—check it out!

Next:

Elegance



Want to know more?

You’re reading Joel on Software, stuffed with years and years of completely raving mad articles about software development, managing software teams, designing user interfaces, running successful software companies, and rubber duckies.



About the author.

I’m Joel Spolsky, co-founder of Fog Creek Software, a New York company that proves that you can treat programmers well and still be highly profitable. Programmers get private offices, free lunch, and work 40 hours a week. Customers only pay for software if they’re delighted. We make Trello, easy web-based collaboration software, FogBugz, an enlightened bug tracking and software development tool, and Kiln, a distributed source control system that will blow your socks off. I’m also the co-founder and CEO of Stack Exchange. More about me.

© 2000-2014 Joel Spolsky