I recently discovered a link to this little gem on fundamental laws of software from David S. Platt who writes for MSDN Magazine. (I want to give a shout-out to Alf Kåre Lefdal on twitter for finding the article in the first place.)
David lists his three laws like this.
1. Your software has zero value in and of itself. Nothing. Nada. Zero point zero zero. The only value it ever has or ever will have is the degree to which it enhances the happiness of your user in some way.
2. Software can increase users’ happiness in one of two ways. It can help a user accomplish a task that she wants done, such as paying her bills or writing this column. Microsoft Word is an example of this type of application. Or, it can place the user into a state he finds pleasurable. Games fall into this category, as does Skype, with which my daughters make video calls to their grandparents.
3. In neither of these cases do users want to think about your computer program. At all. Ever. In the former case, she wants to think about the problem she’s solving: the wording of the document she’s writing; or whether she has enough money to pay all her bills, and which unpaid creditor would hurt her the most if she doesn’t. Her only goal is to finish the task quickly and successfully, so she can get on with her life, or at least with her next task. In the latter case, the user wants to enter that pleasurable state as quickly as possible and stay there as long as possible. Anything that delays the start of his pleasure, or distracts him from it while he’s enjoying it, is even less welcome than the interruption of a work task. My parents want to see and talk with and gush over their grandchildren. Any attention that the program diverts to itself is a negative in either case.
I guess that gives an excellent description of how most of us handle tools, and in the generic form he is right, but not always.
I do agree with him on his fundamental laws, but there are cases where I think his “laws” does not fully comply with the world. Welcome to Jon’s corollary.
There is always an exception.
I do believe there are tools that also give the users a feeling of brand, exclusivity or just excellence to know that they are among a select group that uses exactly this tool.
I am a happy user of iPhone, but I am aware that this little device is not without faults, but there are user-groups out there that are quite vocal in their defense of everything Apple.
In this case there is obviously a link between the usability/functionality and the love of a brand, Apple probably would not have gotten their large number of fans without delivering reasonably well designed tools.
But as a main rule I think David has it spot on. We as developers need to open our eyes to focusing on the users and their needs even more than we have been doing so far.
- Any user can start using an Apple iPhone with a little or no training. Apple software and devices is often simpler to use than their Microsoft counterpart. (But Microsoft is getting there)
- Google has become the de-facto search-engine worldwide because of their speed and simplicity. They are continuing this tradition into their other tools, devices and services.
- WordPress have become one of the leading blogging tools because they make it easy to maintain a web publishing site.
Please tell me what you think.