While this year's Consumer Electronics Show (CES) spawned countless articles and blogs about tablet computers and Internet TVs, the article I found most interesting sounded a warning. Basically, it noted that user interfaces are not keeping pace with nifty hardware features, and that people aren't using some of those features because they appear to be too complex.
The article, titled "Richer, not Simpler - Improvements Offset by Difficulty of Use" (on-line story has different headline) appeared in the San Francisco Chronicle Jan. 8. In it, author James Temple notes that "although millions of TVs capable of accessing the Internet have been sold in the last few years, a low percentage of customers who bought them take advantage of the feature. It's less than 50 percent on average, according to some surveys."
The article quotes an analyst who said that "the crystal-clear message is that the devices need to be simpler while offering richer experiences, but it's one that didn't seem to translate to the showroom floor at CES this year."
The article further notes that various Google TV devices were pulled from the show, which is perhaps just as well given "wide criticisms of the platform as overly complex for mainstream consumers...indeed, the key challenge to a connected living room is that many of the options add new layers of complexity and require more interaction by the user. But the very draw of television for many a worker at the end of a long day is that it's a passive experience."
The User Interface is a Key Part of System Design
I think this article brings home a point made in the EDA360 vision paper -- that the needs of software applications are increasingly driving electronic system design. The most visible part of a software application, and in some ways the most important part, is the user interface. Gadgets are getting smarter and people are not, so ease of use is critical. Cool hardware features are useless if nobody can figure out how to use them.
The question we need to ask is how hardware and software developers can come together to create a good user experience. This cannot be done with a "throw it over the wall to the software guys" mentality. Hardware developers need to be aware of software applications and their requirements, and software developers need to be aware of hardware capabilities and limitations. As I noted in a recent blog post, software drivers provide a bridge between the hardware and software worlds, and they'll become increasingly important as we move towards application-driven design.
Systems companies today are working to improve user interfaces for Internet TVs. Hardware and software developers need to work together to figure this out. In the above-mentioned article, I was interested to read that by this spring, subscribers to certain Xbox services will be able to pause, rewind, and fast-forward Netflix videos using gestures and voice commands. This kind of technology required some good hardware design in areas such as signal processing and mixed-signal implementation, as well as some really clever software to make it easy to use the underlying hardware.
Whatever the end product, the user interface should be part of the system design. Prototyping it early, before hardware is built, could be a good way to get a handle on requirements and constraints for the design. Systems companies should get some early feedback from end customers as well. After all, it's the end customers who write the checks that make all this technology possible.