Coding Horror

programming and human factors

You'll Never Have Enough Cheese

This Human Factors International presentation (ppt) references something called a Columbia Obstruction Device:

hungry rodent, electric grid, cheese

I couldn't find any actual references to the Columbia University science experiment they're referring to, but it certainly seems plausible enough. The parallel with users and usability is natural. Either maximize the cheese (make your application compelling), or minimize the shock (make your application easy to use):

graph of shock vs. cheese

We may think our applications are compelling, but I seriously doubt they look that compelling to users. Unless you are providing users free mp3s, or access to pornography, it's highly unlikely you will ever have enough cheese to overcome even the mildest of electric shocks. The only variable you can really control is your application's usability. The barrier to entry has to be absurdly low to even get people to look at your software-- much less use it.

This is something that Joel talks about, too:

But there's a scary element of truth to it -- scary to UI professionals, at least: an application that does something really great that people really want to do can be pathetically unusable, and it will still be a hit. And an application can be the easiest thing in the world to use, but if it doesn't do anything anybody wants, it will flop. UI consultants are constantly on the defensive, working up improbable ROI formulas about the return on investment clients will get from their $75,000 usability project, precisely because usability is perceived as "optional," and the scary thing is, in a lot of cases, it is. In a lot of cases. The CNN website has nothing to be gained from a usability consultant.

Napster and ICQ were absolute trainwrecks in terms of user interface. But it simply didn't matter. What they delivered was so compelling, and the competition was (at the time) so inffective, that these developers could get away with terrible UIs.

Delicious cheese is a rare luxury that most developers working on typical business applications will never have. What kind of crazy user looks forward to using a document management system? If you want to have any hope at all of users actually using your application, forget about the cheese: just make sure you aren't shocking your users.

Written by Jeff Atwood

Indoor enthusiast. Co-founder of Stack Exchange and Discourse. Disclaimer: I have no idea what I'm talking about. Find me here: http://twitter.com/codinghorror