[A picture of private offices at Fog Creek Software]

Joel on Software

Humane Programming

by Joel Spolsky
Saturday, December 15, 2001

Lazy programmers who didn't read about how users don't read anything:

Click for Larger View

  1. Most decent web programmers can always figure out how to design an interaction that won't fail if you hit back or reload. These techniques are even older than cookies.
  2. Having three paragraphs of text telling you not to hit back or reload isn't going to help, because people won't read it.
  3. The programmer who wrote this screen admits that 10% of users "forget this warning." It's not because they forgot. It's because humans are fallable and we're used to hitting refresh when the screen is messed up, and we're used to hitting back when we realize we went forward too soon. Don't argue with me, Yahoo, when you're the ones quoting statistics to prove it!

The main purpose of this screen seems to be so that users blame themselves when they hit reload and find themselves blown back to step one. Oh darn! I'm so stupid! say the users. Yes, that's what happens. Watch any usability test where the product is failing - the users inevitably blame "their own stupidity." Better that 100,000 users should feel stupid than one programmer admit he didn't do a very good job.

Don't let anyone tell you that as a programmer you don't have to make moral or ethical decisions. Every time you decide that making users feel stupid is better than fixing your code, you're making an ethical decision.


Have you been wondering about Distributed Version Control? It has been a huge productivity boon for us, so I wrote Hg Init, a Mercurial tutorial—check it out!

Next:

Getting Things Done When You're Only a Grunt



Want to know more?

You’re reading Joel on Software, stuffed with years and years of completely raving mad articles about software development, managing software teams, designing user interfaces, running successful software companies, and rubber duckies.



About the author.

I’m Joel Spolsky, co-founder of Trello and Fog Creek Software, and CEO of Stack Exchange. More about me.

© 2000-2014 Joel Spolsky