While browsing through the aisles of my local Staples office store, I walked through the section filled with printer ink, paper supplies, and a relic of the recent past: a typewriter. This was not part of a historical exhibit; it was a new model, for sale.
I was quite surprised. Putting aside whatever nostalgia or angst you may have at the thought of this formerly ubiquitous and indispensable writing instrument, the fact is that you don't see many of them around in offices. Sure, there may be one or two still sitting in the corner for “just in case” use, but reality is that the typewriter is used these days about as much as a quill pen. (I'll note that the IBM Selectric, a marvel of astonishing mechanical engineering and manufacturing achievement, is available for under $25 on eBay, and leave it at that.)
But what fascinated me at Staples was not the unit itself, but the 10-year-old boy who was playing with it. He was hitting a letter at a time, and carefully watching how the letter appeared instantly on the paper. You could hit a key and that letter—and only that letter—would materialize. No need to type a whole line or paragraph, no need to use a separate printer; no need to make sure the system is booted wit the right application. The human-to-paper I/O loop was short and direct: hit key (input), look at paper for results (output).
I'm not advocating that we go back to using typewriters instead of our PCs, not at all. Even if we can type 60+ words per minute with few errors, the PC-based approach is better in so many ways. The lesson here is about the importance of clear, immediate feedback to a user of your product.
Too often, engineers design the user interface with ambiguous or inadequate user feedback. The user does x, expects to see y, and instead sees z or, worse, sees nothing meaningful or at all. The result is a cloud of user confusion, and the bewildered user hits the key again, and maybe again, or starts pushing randomly in an attempt to elicit some sort of meaningful response from the unit. Meanwhile, all these unneeded or redundant inputs cause the unit to sequence into never-never land.
KISS (keep it simple, stupid), keep it consistent, and keep the feedback quick and meaningful is still a design goal to embed into whatever you design, if it has any sort of user interface and interaction. And that stipulation covers just about most products we design.