Saturday, January 23, 2010

Control vs. complexity

Forget the trained chimp scenario: Today I could almost have been replaced by a dippy-bird positioned over the "Enter" key. But my job sending data from one format into another (with the more-than-occasional slap on its fanny) was certainly less fun than that of the system administrator, who spent the day trying to upgrade developer workstations--no thanks to Microsoft and the ludicrous interdependence between its software packages (not to mention the incessant reboots).

Despite the fact that one of us was working with home-brew tools and the other with installer programs from an A-list software company, our time was largely consumed by the conundrum that comes from giving the user control over the experience. Don't get me wrong: I'm not knocking user control; in fact, I'll freely own to being a control freak in any number of ways. My point is merely that control frequently comes at the price of complexity.

Now, I'm not a gambling person by any stretch, but I'm willing to wager dollars to doughnuts that you just nodded at the previous sentence and read on. Yet I have yet to see an interface written to accommodate every last whim of the user that, once in place, didn't have them complaining that it was "too busy." And this even from people who, if not programmers themselves, work cheek-by-jowl with the programmers and software designers. In other words, people who should darned well know better. But please note that I said, "written" and not "designed." The classic mistake in those cases was the failure to make a mock-up on paper before the first line of code was typed. Something that seasoned programmers should have known to do.

Any competent UI designer/programmer should thoroughly understand the cost of control; the particularly good ones will find ways to drive down the complexity to a bargain-basement price. But they'll be a lot more effective if they're allowed to play a part in triaging the bells & whistles that go onto the workaday forms/screens vs. those that can be pushed to and advanced or "administration" section.