Poor Code Quality Contaminates Users' Conceptual Models

by Jakob Nielsen on October 28, 2001

Summary: Software bugs and system crashes result in huge productivity losses and undermine users' ability to form good models of how computers work. Website designers can help improve user confidence by prioritizing quality and robustness over features and the latest technology.

The poor quality of Microsoft Windows costs the world economy $170 billion per year in lost productivity due to crashes. This is four times Bill Gates' net worth, so we are not talking pocket change, even for him, if he were forced to cover the cost of his deeds.

The "blue screen of death" is the most noticeable effect of software's proliferating bugs. However, usability losses are probably much greater than the simple cost of crash recovery.

Poor software quality prevents users from forming a robust conceptual model of their systems, resulting in a loss of control over their own destiny. You never know quite what's going on with your computer, or why it might be acting up. But we can't just blame software vendors; many individual websites further user confusion and frustration by implementing poor-quality software on their sites.

Black Box or Black Hole?

I recently wasted half an hour trying to print a report that had many screenshots. Several of the images printed only as "X." Why? Was it a problem with Windows'98? Or with Word 2000? Or was it that the vendor had yet to update the printer driver? Maybe the printer simply had too little memory. The point is: I couldn't figure it out, and I have a Ph.D. and 28 years' experience using computers. After messing with various settings, I finally succeeded in getting my printout, but this small victory was no help the next day, when we were suffered under a different piece of software.

That day, a member of my team wasted three hours trying to get PowerPoint to work after transferring slides from her home computer to our conference computer. She struggled with this problem despite having several years' experience in a company that developed presentation software.

Ask any computer user, and you will hear more horror stories like these. We are probably talking at least a trillion dollars lost each year.

Even worse is the resulting feeling of powerlessness that dominates most people's attitudes toward modern technology. Things happen to you, and you don't know why. You don't understand how your own tools work because of their random and unpredictable behavior. Your mental model is a mess because you are trying to model a mess.

It is time to take software quality seriously and demand computers that work. Supposedly, Windows XP is 10 times more stable than previous versions. Let's hope that's true. But, even if the loss from crashes is reduced from $170 billion per year to $17 billion per year, we still have a trillion-dollar loss left, since XP will not enhance users' understanding and control of technology. As long as computers act up with any frequency, people will have severe difficulties forming a good model of their own systems.

Sweeping Your Own Doorstep

We cannot place all the blame on Bill Gates. Most websites are guilty of poor quality and low robustness as well. Here's what you can do:

  • Avoid recently released software, especially if you use plug-ins such as Flash or PDF. A good rule is to stay two years behind on upgrades. This gives software vendors time to fix their bugs and offer reasonably reliable versions, and gives users time to upgrade.
  • Avoid JavaScript in your Web pages. No code equals no risk of bugs. If you must use JavaScript, test and debug religiously on all combinations of platforms and browser versions.
  • Avoid special menu controls in your Web navigation. Stick to simple point-and-click. Fancy navigation controls often fail, especially for users who move their mouse fast or who have motor skill impairments.
  • Have spare server capacity so that your site doesn't get overwhelmed when traffic surges.
  • Run robust server software. When selecting vendors, make code quality a priority.

Having a website that works all the time greatly contributes to user happiness. It can also contribute to yours: Our studies show that a site's robustness and availability impacts users' trust in your company and thus their willingness to do business with you.

Share this article: Twitter | LinkedIn | Google+ | Email