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
There's a huge distance between hype and reality in many industries, but in the computer business that gap asymptotically approaches infinity.
Remember Y2K? The world as we knew it was doomed. All records would be lost; banking systems were sure to crumble. Anyone not stuffing cash into a mattress wouldn't survive.
Then there's the paperless office. With a computer on everyone's desk we can just email files to each other. No one needs hardcopies any more. Yet Staples has an entire aisle packed with boxed reams of printer paper. An entire new industry appeared to feed our computers with various flavors of specialty paper. Any big city has a fleet of document destruction trucks roaming the business district, picking up tons of waste material all generated by our paperless computing culture.
I once ran into a small office where the printer dumped directly into a shredder. That seemed cynically appropriate.
Another favorite icon of mine is the notion of computers as productivity tools. In many cases that's true, but all too often the computer brings efficiency to a near halt. How much time do you spend each week updating software, removing spyware, or just tuning the machine to work well (before the Mac and Linux users weigh in, I know this is the karmic price of being one of hundreds of millions who use Windows.)
This weekend my son and I traveled to New Orleans so he could resume his Katrina-interrupted education. Checking into the hotel - one for which we had reservations - took a good ten minutes as the receptionist furiously banged away at the computer keyboard. Though I'd planned to spend two days we finished up early, so the next morning I checked out and asked the receptionist to cut a night off the planned stay.
As one who is fascinated with the impact of computing and technology on our lives I sometimes count keystrokes when engaged in some normal but tech-thwarted activity. Since the check-in had been so painful I started counting. And counting. And counting even more. The very polite young guy behind the counter was quite the fast typist so my count was more an estimate than a precise accounting. But the simple check-out process which was once accomplished with a minimum of fuss using 3x5 cards took some 450 keystrokes.
This is a productivity tool? What were the software designers thinking?
Most airlines manage to find a reservation using the first couple of letters of one's last name, but here in the Crescent City, at this upscale hotel, first, last and middle initial were required. Then the room number (couldn't the machine correlate these two?) Check-out date. "uh, today!" After that his fingers darted over the keyboard as if he and the machine were engaged in some obscure ritual whose nature I couldn't divine.
Ironically on the flight home I read Kim Vicente's "The Human Factor," a well-written but mostly trite book about the impact of technology on our lives. He contends, as we've all experienced, that far too much of the technology we use works against us, rather than as an aid, as demonstrated just that morning in the hotel. And even more ironically, the book itself was user-unfriendly. Copious footnotes link to a section in the back of the book, which indexes notes by chapter number. not the chapter title used throughout the rest of the volume.
Engineers who build consumer products should think deeply about how our designs affect the people who use them. Though there are plenty of books about building reasonable user interfaces, I think Donald Norman's "The Design of Everyday Things" is the best book extant about how our designs should ease the user experience. You might think that a discussion of the proper placement of door knobs sounds dull, but in fact Norman's clear writing makes the subject fascinating. He draws a lot of lessons that we computer folks simply <i>must</i> learn.
What do you think? Do computers sometimes inexcusably get in your way?