Monday, March 16, 2009

Computer systems: Not ready for prime time

<rant>
Where do I begin.... I just left an internal web site to which I was prompted to visit via an internal email that demanded I certify some personal information. The request was simple; just login into the site (a link was provided), then certify that the information being displayed was correct. For the naturally suspicious readers out there, no this was not a scam - it was a legitimate request, from a legitimate source, asking me to certify some personal data. The issue? Once on the site, there was no way to perform the task. There are approximately six major menus to the site with a total of 22 sub-menus; and of course at least one hidden, obfuscated, ambiguous link that cannot be found with human visual receptors, intuition, or ESP!

Simple is not sufficient. Now I am sure that I'll get a reply to my nasty-gram that spells out in mono-syllable terms exactly how to navigate the click stream to achieve the mandatory certification. It will be simple. Once you know it. And of course, the author of the original email already knew the simple process. They won't understand. Just shoot me.

This past weekend my wife called me on the phone to be reminded of how to recharge the battery in her iPod. It is a simple process. Just plug one end of the specially designed, only ever used for this purpose, it's in the drawer with a billion other only-ever-use-once gadgets but for now we'll just call it the USB cable into the iPod and the other end into the laptop. Ba-da-boom-ba-da-bing, the iPod will be recharged! I came home two hours later and found an uncharged iPod and a very charged wife.

Sara is a very bright woman who happens to be easily taken in by studly good looks. Even though she has been surrounded (at times she would claim held prisoner) by computer technology, she is often frustrated at her inability to get things to work. It is not her fault, she is handicapped. She is handicapped by being a human that is held hostage to underly clever architects, designers, and programmers who think they understand how to build human interfaces. It would be bad enough if poor design was an attribute solely of the software business, but alas, incomprehensible user interfaces abound. Allow me to share but a few.

I hate my alarm clock. I could replace it I suppose, but for the moment let that simple logic hole pass and accept that I just loathe and despise my clock for more than the obvious reason of being un-ignorably noisy. The snooze button sits on the top of the clock so as to be easily reachable. So far, this sounds reasonable; but all of the other buttons are on the top as well. For instance, the make-it-one-hour-later button is on top. The turn-on-the-radio button is on top. The change-the-time-of-the-alarm button is on top. Now, in the clear light of day, after a cup-o-joe, these buttons are adequately placed, well marked, and apparently unambiguous. Speaking only for myself, I am generally not in full control of my faculties at the exact moment that I desperately need to silence the waves of audio ice picks that ripped me from the tropical beach above which I was floating mere moments ago.

My alarm clock has been purposely and strategically placed across my bedroom so as to require my drunken-like stumblings in order to purchase nine more minutes over the blue lagoon. By the time I arrive at my destination, the theory goes, I will have become sufficiently coherent to navigate the complex series of neurological impulses, large, and fine motor movements necessary to press a single button downward a total of one sixteenth of an inch. It's simple.

I hate my kitchen sink. Actually, my disdain covers almost all sinks and tubs that have one spigot and two control knobs. My goal is always the same; to create just the right flow of water at just the right temperature. Good so far. I have two knobs and two things to control; temperature and rate of flow. Which knob is temp? Both. Which knob is rate of flow? Both. I hate my life. More correctly, I hate living in a world that makes me choose to be an outsider because the alternative is to accept madness as acceptable.

As designers of computer systems we are often so enamored by what we can do, that we sometimes fail to consider whether a doable thing ought to be done. To us, clicking a hyper link is simple, so we spend an inordinate amount of time designing complex algorithms to build dynamic hyperlinks - astounded at our own ingenuity, that we miss the salient point that the link is unfindable in a maze of other links, or the link itself is just fine, but it's on the wrong page. Our systems ask for redundant information, and then don't ask for pertinent data. How many times have you filled out an on-line address form and been asked to provide your city, state, and zip code. Um - given the zip code, programmers can determine the city and state - there are web services that will do that - and will also do the reverse. Why ask the user for information that they could screw up, which is redundant, time consuming, and unnecessary.

I have lost count of the number of web sites that use my email address as my ID for the site. I'm actually OK with this. But during the registration process, these sites will ask you for your email address and your password - never mentioning that they do not need the actual password you use to retrieve your email. They just want you to create a password for their site. No human could possible know this! Only a software designer could work through the logic and realize, "Hey, why would they need my GMail/HotMail/POBox password to post on Craig's List?"

I hate turnstiles. The turnstiles in the lobby of my office building allow only one person at a time to pass into the building, but allow a row of people to exit the building. If you press your body against the little swing bars too soon coming in, an audible warning tone is sounded. When exiting, if you time it just right you can hit the swing bars as they attempt to return to the close position. Doing so causes the same warning sound, at the same volume, for the same duration. From the guard's perspective, they cannot tell if the alarm is indicating someone leaving the building timed their approach to the turnstiles poorly (not a problem really - they're leaving) or if someone has tried to enter the building without proper authorization (could be a problem). During lunch time there are so many false positives due to exit congestion that a heads-down guard (a frequent occurrence) can't tell when to take notice. I shouldn't complain; since they've been installed not a single plane has hit the building.

I hate elevators. Sigh, I am forever pressing the close-the-door-quickly-so-that-person-getting-on-thinks-I'm-rude button rather than the identically sized, hieroglyphicly labeled, never in a sane position open-door button.

I heard a story once about a Russian Space agency technician that was fired because he sent a command to an unmanned spacecraft to adjust its flight path. The command was a series of characters not unlike a long license plate. He typed one character wrong, and the spacecraft was lost forever. I would have fired the software designer that required humans to recall long cryptic non-words during moments of critical flight operations. History is filled with software bugs that have led to disaster. There is no end to the number of web sites that suck. If you work in the Information Technology field, you have a responsibility to encourage good design at whatever level you work. Here are some good resources for you to use:

</rant>

Follow by Email