Three Unforgivable Usability Sins

to Developer |

Awful as they are, these application design errors — all the fault of lazy developers — are entirely too common.

I lived in Buckminster Fuller's summer house for a year, not long after the brilliant old man died. His grandkids hadn't really cleaned it out; the furnished house (built in 1762 as a Captain's House overlookiing the Penobscot Bay) still had his personal library, a spare pair of eyeglasses, boxes with gifts received as a visiting dignitary (such as a rikshaw in the root cellar). I learned to love Bucky, and not leastways because of his inventions and writing.

Among the tiny watts of enlightenment Buckminster Fuller shared was the wonderful concept of dymaxion, a holistic view of energy use. It's generally defined as "world-energy efficient," or "that odd three-wheeled car Buckminster Fuller designed in the '30s or '40s," but in fact the term encompasses much more. One example that I remember is the notion of a bank "saving money" by hiring fewer tellers despite a brisk lunchtime business. Bucky pointed out that hours of human creativity and production (most of which would be invested in that bank) were wasted by customers stuck in line. So the bank was wasting energy in the name of saving it. (I was so impressed that when a kitten acquired us that year, we named him Dymaxion; that was a huge mistake, as cats don't care about being energy-efficient. And Max was as dumb as a box of rocks.)

Bucky's philosophy had a big impact on me. Ever since, I am particularly irked when I see someone take a "shortcut" that saves that individual a couple of minutes, but thereafter causes extra effort from every single user. Nowhere is that more obvious than in these all-too-common errors in software design (non-)usability.

Making the User Do Something the Computer's Better At

It's happened at least a half-dozen times in the last week. I go to join an online community, or I make an online purchase, or I login to a financial site. I'm asked to type in my SSN, or my phone number, or a credit card number. But the site doesn't accept my input if my SSN has dashes, if the phone number includes parentheses, if the credit card number has spaces. Why? Why? Typing in one long string of numbers, sans spaces, is error-prone for any user and even harder to read back; why make him try? When the computer is far better at tasks like this?

It's because a developer got lazy. The algorithms to strip out formatting codes have been around since the days when COBOL dominated the earth. All it takes for a program to evaluate a credit card data entry field is to strip out anything that isn't numeric digits, make sure it has the proper number of characters, and... well, that's all there is to it. This is only a few lines of code.

Sure, developers don't want to write any more code than they have to, because it has to be debugged, tested and supported. Yet, like the people queued up in Bucky's bank example, the programming team's momentary time-savings has a long-term cost in user time and frustration.

Losing Context

This one is a little harder to explain, because by definition it's about optimizing a user task that has several steps.

Let's say that you're cleaning out or organizing a database. It doesn't matter what: it could be a list of the hundreds of books in inventory, or blog comments, or a to-do list shared

Continue Reading


Our Commenting Policies

Browse CIO Blogs

See all CIO Blogs »

Newsletter Sign-Up »

Receive the latest news test, reviews and trends on your favorite technology topics

Choose a newsletter
  1. View all Newsletters | Privacy Policy