We are a user experience design and software development firm
Hire us to design your site, build your application, serve billions of users and solve real problems.
I wasted eight hours trying to set up a high-end universal remote control last week. In the process, I was reminded that usability matters as much in the world of physical gadgets and desktop software as it does in the web-browser ghetto.
My new Logitech Harmony 670 Universal Remote was supposed to replace the dusty old universal remote I've been using for the past eight years. The old remote - a Home Theater Master SL-8000 - was state-of-the-art for its time, but I could never get it to replicate the functionality of my Tivo Series 2 DVR remote, perhaps the most ergonomic and usable remote control ever designed. I was happy enough with my two-remote setup till I saw the Logitech, a programmable universal remote especially designed for the DVR aficionado. It was shaped like a Tivo remote, so I figured it would combine the simplicity and elegance of my Tivo remote with the universality of my Home Theater Master.
Fat chance. Thanks to terrible software and abysmal hardware design, the Logitech sent me scurrying back to the comfort of my two existing remotes. Here are the five reasons why:
The shape, size, spacing and layout of buttons on the Tivo makes it incredibly easy to hit the keys you want, even - especially - in the dark. From the large, circular joystick for menu navigation to the ovoid volume and channel controls, the buttons are different enough from one another that you can find them by touch. Important buttons, such as thumbs-up, thumbs-down, select, fast-forward and pause, are unique in size and shape. The "Tivo" button, which toggles between menus and TV content, even has a shiny coating that gives it a different tactile feel than the matte finish of the other buttons. The layout and spacing, though, are the hidden weapons. Only the number keys are laid out in a traditional grid; everything else is arranged into arcs and circles to further train your muscle memory. Better yet, keys are separated by enough space that only the most ham-handed user would accidentally hit the wrong one.
The Logitech, on the other hand, merely mimics the curved form factor of the Tivo remote. Its actual buttons are tiny and cramped, making it easy to mis-type. Although the layout apes the curves and semicircles of the Tivo remote, the keys are too similar in shape and size. (Apparently it's the combination of differentiating characteristics that makes the Tivo buttons so intuitive.) The Logitech's joystick control proves especially crappy. It's so small that attempts to point it upward invariably send it to the right or left instead. The select button is right in the middle of the joystick, too, making it far too easy to hit by mistake.
Take-home for webapp developers: Make your clickable elements easy to hit. Avoid the misguided urge to line navigational elements up into neat little rows that make them indistinguishable from one another. Don't place elements absurdly close to one another, and don't make dissimilar items the same size just for aesthetic ends. Instead of hotlinking tiny indicator graphics, hotlink the entire area that's associated with an activity. In general, make the control for each primary action as distinctive and easy to hit as possible.
The killer differentiator between my old Home Theater Master and the sub-par Logitech is the latter's lack of dedicated device keys. The old remote has eight device keys so that you can enter DVD mode, or CD mode, or Satellite mode with a single click. The Logitech relies on a single "device" key and an onboard LCD screen with a scrollable list of devices. To control your DVD player, you have to click the device key, then scroll through your list of devices till you find the DVD entry, then click a selector key. Three clicks and a scroll just to get into the right mode, let alone actually do anything! You can't even configure what order devices appear in the scrolling list. I understand why the Logitech folks went the direction they did; they didn't want to limit their users to just eight devices. But by catering to the corner cases, they made things vastly more complicated for the majority of users who have just a handful of devices.
Take-home for webapp developers: Don't sacrifice simplicity for flexibility. Provide easy-to-access commands for the most common tasks. For instance, you may have an incredibly complex site hierarchy or application interface, but users don't need to be able to access every single page or command from every single screen. Give them simple, direct links to the pages and commands that most of them will want, then offer an advanced interface for less common options.
My old Home Theater Master remote relies on setup codes to map its keys to various A/V components. But if you wanted to fine-tune how it controlled a particular device - or if your device wasn't covered by its setup codes - you could map one key at a time using a "learning" mode in which your existing remote "taught" the universal remote via infrared. The makers of the Logitech, however, think they know best. In their quest to idiot-proof things for average users, they've hobbled their device's ability to provide absolute mastery over your living room. You can fine-tune your device mappings using their desktop software, but only by changing your answers to their various setup wizards. There's simply no way to configure the remote one key at a time. Let's say, for instance, that I want my AV receiver to be on all the time so I want to disable the remote-control power button for it altogether. That's no problem on the dusty Home Theater Master, but good luck on the Logitech.
Take-home for webapp developers: Good user-experience design accounts for a wide range of user types. Develop personas so that your application anticipates the needs of power users as well as casual ones.
The other thing that killed the Logitech for me was the assumptions its software makes about how I use my hardware. The Logitech contains "activity" buttons that act as macros, issuing commands to multiple devices at once. The "Watch a Movie" button, for instance, can simultaneously turn on the TV, set it to channel 3, turn on the DVD player, and set the A/V receiver to DVD input. But these activity buttons are useless because they assume that any device in your system that's not involved in the current activity should be turned off. If you click the "Watch TV" button, the remote will automatically turn your DVD player off; too bad if you want to flip back and forth between a DVD screening of "30 Rock" and a live sporting event. If you click "Listen to Music," it will automatically turn your TV off; too bad if you want to listen to tunes while scanning the Weather Channel.
Take-home for webapp developers: Eat your own dog food early and often. Road-test your application in the real world after every iteration. Use it yourself. Get everybody in your office to do so, too - even the folks in HR and accounting. Until a wide range of users grapple with your interface, you won't realize which potentially useful features you've left out or crippled. Your use cases and personas will only tell you so much. Get real user feedback as early as possible.
The Logitech got my dander up before I even dealt with its terrible hardware and software interface. Why? Because the software wouldn't even function on not one but two of my computers: A 2005 PowerPC PowerBook and a 2007 Intel MacBook Pro. Despite an installation process that required multiple restarts, the software immediately got caught in an infinite loop when I tried to get it to talk to the remote hardware that I'd connected via USB. The only way I ever got the remote set up was to install the Windows version of the configuration software on my VMWare Fusion installation of XP.
Take-home for webapp developers: This should be pretty obvious, but for god's sake make sure you test your application in all the A-grade browsers on as many platforms as you possibly can. This is probably the oldest tenet of web development, but it's still the most often ignored one.
Topics: Usability, User Experience, User Interface Standards
Hire us to design your site, build your application, serve billions of users and solve real problems.
Ah, Logitech, I hope you’re listening.
I’ve got a V440 bluetooth laser mouse. It’s the nicest mouse I’ve ever had. And it works great with Windows Vista — associate it with the computer once and it just works.
I don’t know what possessed me, but I installed the craplets that came with the mouse: it pops up a demented dialog box when I log in, disconnects the mouse, and makes me go associate the mouse again.
My mouse works perfectly without the craplets — why does Logitech ship it? They must be spending millions on tech support calls and returns because of problems caused by the useless software they ship. The economic carnage their software inflicts on us must be much worse: I’ve seen more than one Windows installation totaled by input device craplets.
Somebody ought to get a restraining order against Logitech against including useless software with their hardware.
Last week I got a wireless game controller from Logitech — once again, it’s a great piece of hardware and I plugged it into my Mac Mini with no problems. My son, however, took a shine to the mini-CD included in the box and wanted to put it the slot CD drive… Which would have jammed it, putting the mac out of commission as a DVD player… Who knows what kind of mischief it would have done had I installed it on a Windows machine?
In addition to the dangers of cigarettes and lead-painted toys from China, my 5 year old now has to hear that putting disks that come with hardware you buy can wreck your computer.
Comment by Masked Bandit, Friday, January 18, 2008 @ 9:36 am
review on ajaxlines
Comment by Ajax scrolling pages, Monday, January 28, 2008 @ 6:31 am