On a closely related topic to my last post, I would like to relate a recent experience I had with a consumer product that illustrates one very important aspect of consumer products that is often not given enough importance in the product development priority list: User Interface Speed.
We have been satisfied owners of a TiVo® branded DVR from a major satellite TV provider for nearly 10 years. Recently, the hard disk, which has been providing us with a wide range of programming for nearly a decade of continuous use, finally decided it was time to ‘retire.’ The message on the screen was “can’t boot kernel”. Being quite familiar with Linux systems, I knew this was not a recoverable problem. So, I called up our provider who very kindly sent us, free of charge, a new system, with a LOT more disk space (yeah!). The only down side, as we later discovered, was that the new system was not a TiVo® branded one, but a redesigned, reengineered, improved and enhanced system built specifically for the provider.
Mind you, I love new technology. And, I love new features that improve on current technology. But, I HATE poorly engineered interfaces, and this one was among the worst. My wife and I toughed it out for nearly a month. We wanted to be completely sure it was not just that we had to learn a new system that made us so frustrated. We liked a few of the new features, but overall the system did not seem to have been tested with real people using it the way real people do. The biggest issue we had with it, by far, was the sluggishness of the interface. Here is a system, 10 years newer than our old system, that was MUCH SLOWER to respond to every command. What happened to Moore’s law here? And, I’m not talking just a little slower. It was dramatically slower. Like, one to two seconds to move down the list of recorded shows to the next one. Every menu change was an exercise in patience. And, if we made the mistake of not waiting for our last command to complete before hitting play, we would invariably play the wrong program. Ditto for any number of other command sequences.
For all you future UI (User Interface) designers out there, please take a usability class or memorize a few good books, such as those recommended on Jakob Nielsen’s website, http://www.useit.com/. Then, by all means, PLEASE, follow these simple rules for user interface design that I selected for this example:
- The delay between clicking a selection and something happening should be less than 250 ms (1/4 second).
- If the delay is going to be longer than 1/4 second, do something to indicate the command was received (change the pointer, move the screen or highlight something) and that you may have to wait (a ‘please wait’ message, an hourglass, or a screen change of some sort)
- If you are designing an embedded computer product like a TiVo®, choose a decent real-time operating system, and use interrupts correctly. The user interface commands should have enough priority to interrupt anything the system is doing so that the user can get feedback immediately! A good RT-OS will do this.
- Keep the number of selections (clicks) you have to make to do any task to an absolute minimum. Pay particular attention to the tasks you do most often.
- Be consistent. In our new DVR, when a show you played reached the end, a message would pop-up asking if you wanted to delete it (like the old system). But, if you played a folder of shows (a new feature), when a show finished playing, the system would go on to the next show without asking if you wanted to remove the one you just finished. This created a whole bunch more clicks as we have to go back and figure out which show we just watched and delete it manually. FRUSTRATING!
- Don’t remove critical features that essentially define your product, especially if you have an extremely large user base that has come to depend on it. For instance, our old system had a feature called ‘Wish Lists’, whereby you could specify an actor, keyword or title of a show you want. Then, months or even years later, when a match was broadcast, it would grab it. This is, to us, the whole purpose of the system. Grab things you like, even if they are not in the guide at that time. The new system did not have this feature (patented by TiVo®, probably).
Well, I’m happy to say this story ended well. I found a great company (weaknees.com) that, for a reasonable price (considering what’d I’d have to go through to rebuild the disk myself) sent a complete kit, wrenches included, to replace the crashed disk and TiVo® software image in our old system. We are back to our happy selves once again with a genuine TiVo® system. My wife can be heard to say at least once a day, “My stress level is SO much lower now!”
Project managers: Be sure your team is well versed in UI design principles; get real users to use your system over and over again; listen to your users’ feedback; continuously improve.