The conception, birth, and first steps of an application named Charlie

Subscribe: Atom or RSS

Opinions and Preferences

by Alister Jones (SomeNewKid)

In an episode of Seinfeld, we see the interaction between Jerry and his assistant. His assistant annoys him about the smallest little details; so much so that he sometimes forgets what he’s doing.

Software can be like that. A great example is provided by Joel Spolsky when he talks about the Find Setup Wizard.

Have you seen this dialog? Sure you have. What was your response? My initial response, and every response since, has been, “What the hell are you asking me? Why are you asking me this? What happens if I make a poor choice? Go away!”

To ensure that your own application does not become like Jerry’s annoying assistant, the authors of Getting Real recommend that you make opinionated software. An application should have its own opinions, and apply those opinions wherever possible, thereby leaving the user to concentrate on whatever it is he or she is doing. I think that’s sound advice.

Another section of the book recommends minimising the number of preferences that your application makes available to the user. Or in the words of the book, “Decide the little details so that your customers don’t have to.” This is another take on making opinionated software.

It would seem that to make software with more opinions and fewer preferences is to remove control from the user. But does it? Why is the user sitting at the computer in the first place? To mess around or to get something done? Remember that most users are not developers who will feel cheated if they cannot control every little aspect of the application. Most users just want to get something done without the software getting in the way. And that is not to say that most users do not care about the software. I don’t mean that at all. I mean that most users truly want the software to stay out of the way while they concentrate on the matter at hand.

One of the most powerful, most popular, and most productive software applications is Adobe Photoshop. With this software, users can do anything. Every magazine you read, every movie you watch, and every website you view has probably been touched by Photoshop. Yet if you look at the number of preferences it makes available, you will wonder if you mistakenly bought Photoshop Lite. If Adobe Photoshop can provide infinite flexibity with so few application preferences, you will see that opinionated software really does empower the user, not limit the user.

What does this mean for Charlie? That no preferences will be made available? No, not at all. Good software is flexible, and I’d like for Charlie to be deemed good software. What I will attempt however is to minimise the number of preferences that are exposed to the user. The flexibility will still be incorporated into Charlie, but I will set as many preferences as possible, leaving only the most important to be set by the user. In that way, I hope that Charlie will be the helpful assistant that Jerry truly wanted.

by Alister Jones | Next up: The Power of Two

0 comments

----