John Chamberlain
Developer Diary
 Developer Diary · You Heard It Here First · 23 December 2003
The Three Bears of Software
In the story of Goldilocks there are exactly three bears. Just like this story software design has three bears. The papa bear is power, the mama bear is speed, and the baby bear is simplicity. The balance of a good design can be found by keeping the three bears in mind.

The most important element of a program is its power: what it can do. Belittling the power of a piece of software by thinking of its abilities as features is the first step on the road to impotence. Enumerating features leads to the false idea that somehow one feature is like another and the most important thing is the number of features. Power comes first and more power is a function of quality not quantity. It is better to have one superstar than ten layabouts. Design to a vision of a few great powers instead of a multitude of features.

A common feature of good programs is a command line interface. This allows the developer to make as much power as possible available to the user because many variables and functions will not have a graphical interface. Power is not only the program's abilities but also the user's ability to query and control the program.

The second priority of development is speed, both of the program and more importantly the user. The user will notice how fast the program performs an operation but the user will notice even more how long it takes themself to perform an operation. The theme of speed is the elimination of mouse clicks and the addition of hot keys. Eliminating a mouse click is worth as much as halving an operational run time.

The final priority of development is simplicity; never too much or too little, it should be just right for the use. If you cut power for simplicity you have made your biggest mistake. Simplicity is easing the access to power, not removing it. Whilst elimination of mouse clicks gains speed, improving the arrangement of clicks and controls gains simplicity. Simplicity is like a workshop that has a place for every tool in the most convenient location. It's a matter of arrangement.

To make a product design sit back and consider the three bears in their natural order: 40 minutes for power, 20 minutes for speed, 10 minutes for simplicity. Like Goldilocks you will end up with something that is just right.

return to John Chamberlain's home · diary index
Developer Diary · · bio · Revised 23 December 2003 · Pure Content