Recently I’ve been thinking about how we look at the most visible aspect of the programs we build.
I’m talking about the interfaces – the way that users (oh, how I hate to call them users, but I’ll make an exception here) operate/steer/manipulate the stuff we build for them.
It’s a big issue. In the past 24 hours, I’ve been “interfacing” with Outlook, Excel, a TV remote control, the Hertz Neverlost GPS system, a Palm Pilot, a cell phone (moving from a Nokia to Motorola phone or vice versa is an interface struggle in and of itself) MusicMatch Jukebox and a voice-activated, long distance dialing system, and I don’t think that kind variety is unusual for most of us.
And I think I’ve got it figured out.
Application interfaces are designed to optimize the experience of the most highly experienced users of the product or application in question. But the designers don’t seem to recognize that most users are not, and will never be, highly experienced users of any single application, and that most use several applications and multiple GUIs on any given day
Most of the interfaces I deal with are extraordinarily rich. That could be a good thing, except that I don’t use any of that richness, and its very existence seems to make the applications I use all the more confusing.
For example, the interface on the HertzNeverlost system is colourful, voice-activated (makes sense when you’re driving), and supplemented by a control wheel with eight (!) direction arrows. Very impressive.
Now if I were driving every day in areas I didn’t know well, or if I had to find addresses I hadn’t been to every day, eight hours a day, five days a week, I’m sure that I’d be a master of that interface; I’d probably even have some suggestions for the interface designers based on my vast experience.
I am not, however, such a user, and most us aren’t. So the power and range in that interface is not only lost on me (pardon the pun), but is in fact somewhat confusing. Confusing especially since I have to struggle with a dozen other interfaces in any given day, all of which look different. I’m fairly sure the interface designers weren’t thinking about that when they built the one featured in my rental car.
I also note that many of the applications we build feature “user-configurable” interfaces – giving users the ability to change their look and feel by moving icons around, hiding or showing certain functions or attaching them to different menus. And that’s supposed to be a good thing?
Confession time: I can hardly figure out how the damned things work in standard form right out of the box. The chances that I’m going to custom configure an application interface to my own set of standards is next to zero unless, and only unless, this application is the primary tool that I use most of the day. That is, unless I am that rare cat known as a “power user.”
And therein lies the problem. Most of us aren’t power users, most of us use multiple interfaces and multiple applications every day, none exclusively, and none extensively, but the interfaces seem to be written for those who do; those who do are, I suggest, a small minority.
Let’s hear it for the reduce-and-simplify school of programming. After all, didn’t that famous architect-guy Mies say that less is more? Why are developers writing interfaces for the high-end, power-user portion of the market when most of their customer base is neither?
Thinking back on what I’ve seen in the last couple of weeks, I can point to two interface designs from different eras that seem to have figured this out. First is Apple, with its brilliant, one-wheel iPod, and the designers of an aged, simplistic automated routing map I recently saw in a dingy Metro station. Push a button representing where you are, push another representing where you want to go, and the appropriate Metro lines light up – simplicity itself.
As an average user of applications, and the user of sometimes a dozen different application interfaces in a day, here’s my plea: think about those of us, the silent majority, who are struggling with interface overload. What I’m looking for is the application equivalent of the universal remote control. Give me as few controls as possible, don’t let me screw around with them, and make them consistent across as many applications and products as possible, even if they don’t optimize the high-end experience.
That interface richness thing may be great for your power user, and a mental challenge for the best programmers, but I don’t think it represents the best solution overall.
On behalf on the non-power user majority, thanks for your time and attention.
Hanley is an IS professional in Calgary. He can be reached firstname.lastname@example.org.