For novel ideas about building embedded systems (both hardware and firmware), join the 27,000+ engineers who subscribe to The Embedded Muse, a free biweekly newsletter. The Muse has no hype and no vendor PR. It takes just a few seconds (just enter your email, which is shared with absolutely no one) to subscribe.
By Jack Ganssle
My wife announced that she wanted an outdoor grill, something to replace the toy unit we'd salvaged from a boat which handles maybe two burgers max at one time.
I groaned, figuring the thing would come in a box full of 5000 easy-to-assemble pieces. (One of the joys of having older kids is no longer spending Christmas Eve squinting at cryptic instructions in an egg-nog induced fog trying to put some elaborate toy together).
Sure enough, a big bag full of screws of different sizes, piles of metal and plastic parts, and a 30 page assembly manual kept me busy for a couple of nights. I'm still not sure if they supplied extra bolts, or if the half-dozen left over should have been installed somewhere. The manual was no help; the manual, in fact, was utterly wrong in places.
I advocate code inspections, but sure wish people would inspected users' manuals before shipping a new product. Wouldn't it be great if these were correct and comprehensible?
Complexity. It's not just in software. It's everywhere. Feature rich products of all sorts stump users.
And it's not just products. Trying to invoice one of those government agencies whose name is a three-letter acronym a few weeks ago my assistant discovered that they no longer take paper bills. Electronic only, a nice idea that should speed the whole process. Then she read that the process was considered "complicated," so the agency offered an eight hour class on invoicing. 8 hours! Shunning that - how hard can it be to send a simple bill? - she plodded through the process, eventually spending a half day to issue a bill for a day's work.
My video camera has 53 buttons. It sure does a lot of stuff - dubbing titles, editing and more - but is so hard to use it hasn't been powered on in years. Yet my parents had an 8 mm camera which had two controls: a roller-skate-like key to wind up the drive spring, and a "take film" button. Its simplicity meant they recorded every significant (and otherwise) event in the lives of their 5 kids.
One article (http://embedded.com/showArticle.jhtml?articleID=174403009) suggests that consumers are returning 30-40% of all DVD recorders shipped, complaining about the difficult user interface.
It's all about design. Too many web sites baffle potential customers while others offer a crisp and clear interface that invites purchases. Most PC software offers lots of features, but their often non-intuitive use is documented in a peripheral help file, while a few programs (example: CodeCollaborator http://codehistorian.com/codecollab-overview.php) explain everything every step of the way.
Some intrinsically complex products all but scream ease of use - the iPod comes to mind, its interface even more compelling when compared to competing units that offer the same functionality yet are utterly mystifying.
Most product differentiation derives from a wealth of features. Cell phones offer downloadable ring tones, built-in games, schedulers and more, all nifty enough stuff but none of which contribute to making reliable calls. When we engineers, industrial designers, and human-interface "experts" overly complicate these features, or make them incomprehensible, or steer the user to a manual instead of making their use naturally obvious, we're chasing customers away.
I finally got the grill together. It took a while, and the manual, to figure out how to light the thing. And we still don't know how to use the external burner. But big letters on the box proudly proclaim "engineered in the USA!"