There's Egg on Your Interface!
April 26, 2000
.Then it was up to you to figure out what to do next. People were known to sit for hours in front of the mysterious C prompt, glowing greenly on a night-black screen (the C prompt, silly, not the people). Eventually, some bespectacled technogeek in the adjoining cubicle would take pity and explain about "commands": terse little codes like "dir," "pip," and cd," that told the computer what action to take. Sometimes these even worked.Today, fortunately, computers are much easier to use. Now, instead of typing meaningless "commands," you move a "mouse" to manipulate a "cursor" across a "desktop." Then you open and close "windows," pull down "menus," and click on "icons." Sometimes this even works. Other times, you "swear" while you "throw" your computer out the "window." The window in your wall, that is. Don't even ask why there's a window on your desktop. Actually, the fact that you need to cope with such a metaphoric mess brings me to the point of this column: interfaces. An interface is the part of the computer that you visit with whenever you sit down to type a letter, crunch a number, or play ZilchDragon II: The Boredom Continues. It's how you and your computer talk to each other. Once, an interface consisted of the C prompt and its associated commands. Today, if you have either a Macintosh or a PC running Windows95 (otherwise known by us Mac diehards as Macintosh84, a cranky reference to the indisputable fact that we were there first), your interface is peppered with clever little pictures. Error messages are another part of the interface: both the gun-toting messages of the 1970s (ER10025: OOAKS RECORD NOT FOUND. KILL BATCH JOB?) or the relentlessly chipper ones of the 1990s (UNRECOVERABLE APPLICATION ERROR. OKAY?). If your computer provides on-line help, pestering you with little hints ("You can auto-enter today's date! May I tell you more?") while you're trying to get your work done, this is yet another interface ingredient.Why worry about interfaces? Because when a computer is so complicated that it requires a manual weighing more than you did in junior high school to explain itself, the interface is generally the culprit. That's where I come in. My name is Weiss. I carry a keyboard. Interface design is one of the ways I've been earning my living since 1981. This often means sitting in meetings with programmers, looking for diplomatic ways to convince them that the message "@&" cannot be readily deciphered by the average computer user, and that hiding the English translation of said message in the manual is not an acceptable workaround. (Programmers say "workaround" a lot. Loosely translated, it means that the people who use the computer are forced to spend an hour turning somersaults backwards in order to accomplish what the computer should have been able to do in a nanosecond, if only the interface had been designed properly in the first place.) Not that I have anything against programmers. Some of my best friends, etcetera, which is why I never make illegal copies of software and I always send in shareware fees. Really. These days, interfaces are big business. The software market is highly competitive, and "user friendly" (a phrase that makes me twitch) is the buzzword of choice for everything from spreadsheets to dishwashers. Unfortunately, there's a big difference between marketing hype and reality, and the computer industry still has a long way to go. I long for the day when a computer's interface will function like an Olde English butler (Jeeves to Bertie Wooster, say, or Mr. Hudson to the Bellamys): guiding without insisting; supporting without directing; an invisible yet steadfast presence. Until then, take heart. When you find yourself staring at a computer screen filled with incomprehensible gibberish, when it takes five phone calls to your next-door neighbor's twelve-year-old kid to coax your departmental budget out of your printer, or when you don't know whether to click once, click twice, press any key, or pour yourself a stiff drink, it's not you -- it's egg on your interface.