Whenever I find a program or Web site that sucks, it’s invariably because the developer or designer forgot the user’s goals and started embellishing the program for its own sake. That violates Platt’s 3 Laws of Software. Like the 3 Laws of Thermodynamics, they’ll turn around and bite you if you do that. My laws are:
To summarize: Users don’t care about your program in and of itself. Never have, never will. Your mother might, because you wrote it and she loves you, and then again she might not; but no one else does. Users care only about their own productivity or their own pleasure.
Donald Norman discussed this phenomenon in his excellent book, “The Invisible Computer” (The MIT Press, 1999). But I see a better example in the role of sports referees. They set and enforce the context (rules of the game, operation of the program) for interactions between the parties (the two teams, the user and the business problem), while ideally taking no discernible part in it themselves. Retired NFL referee Jerry Markbreit writes of an early mentor, who said (emphasis added): “Gentlemen, this is the biggest game of the year. Maybe the biggest game in a hundred years. We must do an outstanding job today because we don’t want anyone to remember us. We must work this game so expertly that, later, it will seem as if we weren’t even there.” That should be the goal of our programs as well.
To guide the industry toward this goal, I announce the first annual Plattski Awards, for the program or Web site that does the best job of implementing Platt’s 3 Laws of Software, making its users happy while demanding as little attention as possible for itself. An example is the Carbonite automated backup program, about which I’ve written. I’d give it the nod over Mozy, its nearest competitor, because Carbonite requires somewhat less thinking and configuration.
Go to Rollthunder.com and tell me about applications or Web sites that best accomplish this goal, or that fail most spectacularly. I’ll give out gold(ish) and silver(y) medals to the best, and tin(plated) ones to the worst, in my own cranky and opinionated judgment. Do not send products: all testing will be conducted with publicly downloadable versions. The deadline for submissions is three months from the publication of this column. I can’t wait to see what you come up with.
David S. Platt teaches Programming .NET at Harvard University Extension School and at companies all over the world. He’s the author of 11 programming books, including “Why Software Sucks” and “Introducing Microsoft .NET.” Microsoft named him a Software Legend in 2002. He wonders whether he should tape down two of his daughter’s fingers so she learns how to count in octal. You can contact him at rollthunder.com.
I am with Richard. Word (and now Paint) take more thought than should be required to get the job done. To think that there are no users who find organizing commands into hierarchical structures called menus helpful is beyond me. The Ribbon itself is not terrible, not having a choice is terrible (which also goes against Platt's 2/10 article = Humanity is also about choice). Speaking of violating #3, upon going to rollthunder.com on 5/18/10, I expected to find a blog or submission form to accept my entries or comments for the contest. There is not one mention of it. No form, no blog, no instructions. It took a few minutes to try to figure it out and then I had to move on. I wasn't able to accomplish what I had set out to do. I even tested this on a colleague and they expected the same but left frustrated.
A pretty trivial article for a "legend". Moreover, these laws are obvious for every developer who's not stupid. The stupid ones will never understand these laws anyway so the point of this article is... well, pointless.
Concerning Carbonite..I'm sure users like the fact that they don't have have to configure it. They'll be happy until they need to restore a lost video file. By default, Carbonite doesn't back up video files. After instructing Carbonite to back up "this file type" it will do so only for that directory. While striving to fulfill law 3, they will most definitely fail law 2 once the users really needs to use the software.
Word might not be the best choice of examples. Getting the job done with Word has been harder for this aging user since the "Ribbon" was introduced. I would posit that it violates Law 3. I didn't have to think much about finding commands before the change. (re getting the kids to count in octal. You should have seen the "Dad is off his meds again" look I got when I told them that they could count to 1000 on the fingers of both hands)
Thank you. Back in the day before personal computers we knew these laws and did not stray. Computers have changed, software has changed, but users still just need to get the job done.
More MSDN Magazine Blog entries >
Browse All MSDN Magazines
Subscribe to MSDN Flash newsletter
Receive the MSDN Flash e-mail newsletter every other week, with news and information personalized to your interests and areas of focus.