Site icon Nick Bradbury

Simplicity Ain’t So Simple, Part I: Decide What to Hide

Joel Spolksy is right about simplicity and the 80/20 rule:

“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.”

Simplicity is a goal all developers should strive towards, but it’s a mistake to think that simplicity means having a small feature set.  You’re rarely going to sell more copies of your software by providing less features.

If you want to sell more copies, focus on figuring out which are the features that 80% of your customers want and make them obvious, then make the other features less obvious but still easily accessible through a menu item and/or keyboard shortcut.  That way new users aren’t overwhelmed by the sheer number of toolbuttons staring them in the face, and power users aren’t underwhelmed by the lack of features.

The hard part, of course, is figuring out which features fall in the 80% category.  If you hide a feature that 80% of customers want, they might not try your software long enough to discover that it actually does what they need.

This is one place where beta versions come in handy.  Beta versions don’t have to be used just to find bugs: they can also be used to figure out which are the most important features.

Sometimes in beta versions I’ll deliberately remove (or obscure) access to a specific feature just to find out if people really use it. If a lot of beta testers complain about the feature being removed, then it’s an 80% feature that needs to be an obvious toolbutton. If only a few complain, then it’s a feature that only 20% want so it can be demoted to a menu item.

If you’re a developer, take a look at your UI and try to figure out whether all those toolbuttons really need to be there by default.  Chances are you can hide a lot of them, which will make your application simpler to learn without making it any less powerful.

Exit mobile version