Wednesday, June 13, 2007


Consistent user interfaces

I love my BlackBerry™. I'm not addicted to it (and I find it rather annoying when people chuckle at calling them “CrackBerries”). Rather, I find it an excellent tool, which I can use how and when I want. It makes my life easier; far from making things more stressful by having me always “connected”, it reduces stress by giving me more options.

It's also a marvel of engineering, in a number of ways. They did amazing things with the power-consumption profile, such that its battery lasts far longer than one comes to expect from such devices. The roller-wheel on my model (I've had a 950, a 6230, and now an 8700) is a simple and elegant way to navigate — for a right-handed user. I'm eagerly awaiting the availability of the new 8300 model for T-Mobile (it's been initially released for AT&T only), which has a center-mounted roller that moves the cursor in four directions, instead of just two). Its audio quality is crisp, its Bluetooth support works seamlessly, and its handling of email makes me happy.

But there's one glaring flaw in the user interface: the menus are not consistent.

And this drives me crazy, short drive though that may be.

Windows™ generally deals with menu items that are unavailable in the current context by “greying” them — they're still in their normal positions, but you can't select them. Leaving those unavailable items in their normal positions means that the other items are also in their normal positions. That's very handy. But that's not optimal for a small device, where one might want to remove the clutter by not including things that can't be used anyway.

The result of the clutter removal, though, is that things are not predictable when one is moving quickly and doing things by “reflex”. The best example of this is in the email application, when one wants to delete a message or a group of messages.

Select multiple messages, click the wheel, and you get a menu that looks like this:


File Messages
Mark Unopened
Save Messages
Delete Messages

Compose Email
(The option “File Messages” is selected by default, as I show by making it bold.)

But if the most recent message you've selected is a call-log message, rather than a normal email message, the “File Messages” option is not available and is removed from the list. And what option is selected by default?:


Mark Unopened
Save Messages
Delete Messages

Compose Email
This is maddening, because it means that when I've selected batches of messages for deletion when I no longer need them, how I have to spin the wheel depends upon which messages I happen to have selected. And that means that I can't do it semi-automatically, but have to pay more attention to it than it ought to require (what usually happens is that I wheel down, away from the selected “Delete” option, and then have to wheel back to it).

The point here is that user interfaces should be designed so that there's as much consistency as possible among related functions. It's not likely that my default choice of how to dispose of six email messages will differ from my default for disposing of five email messages and a call-log message. And a difference in the user interface for those two cases will be an annoyance every time.

Still, if that's what annoys me the most about the BlackBerry, it's doing pretty well by me, isn't it?


Paul said...

There's a reason we non-users call it a "crackberry." I watch my wife run for it when it buzzes to announce a new e-mail from a business seven in the evening...on a Saturday. She can't not pick it up to read the email. She can't not business the fucking dinner table! Pardon my profanity, but the nickname is well earned.

Dr. Momentum said...

It's often a challenge to find a balance between consistent behavior and what I like to call "helpful behavior."

"Helpful behavior" is the sort of behavior that people usually refer to by saying "why can't is just do X." Sometimes, "helpful behavior" involves reading the user's mind, or guessing what the user will want. "Helpful behavior" ot one user may be extremely unhelpful to another user. That's why a consistent interface, which may be non-optimal for both but at least predictable, is better. Users have a better time learning to work with a more simple consistency.

Often, what a user refers to as inconsistent behavior is simply an unnecessarily complex behavior which is actually consistent but where all the elements that lead to the difference are not obvious to the user. Elegant simplicity is the best, but it's easier said than done.

I have some experience with designing software for handheld devices, and it's been my opinion that consistency in the menus outweighs benefits you get from context sensitivity changes, because of the tendency of people to become trained to see things in certain places and to quickly execute button presses.

I would change this to keep the grayed-out options in the menu but prevent you from being able to actually choose those options. I think that it's important to retain "scroll wheel distance" so that you can take advantage of your muscle memory when doing the same tasks.

I suspect that this is more analysis than goes into most interfaces nowadays. Many software people today will simply say "you don't need that menu item, so remove it." I've had this argument as well.

In the end, you weigh all the pros and cons, and then flip a coin. (just kidding)

Barry Leiba said...

Paul, I understand. I guess it's "crack" to some, and a tool to others. I'm perfectly happy not checking it, and I often have the email alert indications turned off (it's always either on vibrate or off; I don't believe in noise).

Anyway, it sounds like you might have interesting dinners, there, between the email and the f... uh... never mind.