Too often, developers of software—and hardware, for that matter—fail to connect with the needs of real users. This disconnect is the result of one important fact: most developers are not experience designers. Correction, that’s not a fact. Most developers are experience designers—they’re just bad ones. What they design is often horribly inconvenient, not very practical, and sometimes, dangerous, life-threatening solutions. Software design guru David Platt explores this issue (and more) in his new book, Why Software Sucks and What You Can Do About It.
“Computers make users feel dumb,” Platt writes. “Literate, educated people can’t make that infuriating little box do what they want it to do, and instead of marching on Microsoft with torches and pitchforks and hanging Bill Gates in effigy (or in Redmond), they blame themselves and say, “Gee, I must be dumb.” In a society where nothing is ever the fault of the person doing it, where people sue a restaurant when they spill their own coffee, getting users to blame themselves for anything is an magnificent accomplishment, albeit probably not the main one that the software vendor intended. Why do programmers design applications that make people feel this way, and why do people meekly accept this abuse from their computers? “
Platt makes the case for software design improvements (among other things) by exploring the “lazy programming” that lead to the development of the terribly irritating Are you sure…? dialog box. You know the one. You’ve seen it many times. It pops up just after you try to order products, delete files, change permissions, etc. You know what you want to do, but the computer programmer wants you to be sure, really sure. The dialog box warns you that “This action cannot be undone”, something that is, well, a lie. Nearly any computing task that can be completed can indeed be undone. But, it takes some effort on the part of the developer. And, it takes an “Undo” button. And in some cases, a “Multiple Undo” button.