The “Keep It Simple, Stupid” (KISS) engineering design principle gets lots of homage and plaudits, but is often ignored in practice. I'm going to add my two cents to the story and upgrade the KISS principle itself.
My version, called “Keep It Simple to Start” or KISS+, has the objective that every consumer product be designed so it works, at least at a basic level, when you turn it on. Maybe the user would have to enter one small piece of configuration data, but that should be it.
What prompted this revised principle is my recent experience of putting a new, basic burglar alarm in the house. The previous unit died after 25 years of reliable service; it had a very basic microcontroller supported by some logic and analog ICs. I went on line, found a functionally similar entry-level unit that seemed a good fit, and placed my order. The $100 system price was a good deal, especially since the existing unit was $159 in 1983!
But it is more than a good deal, and that's the problem. It's programmable in every respect. Every I/O point, timing, action, and reporting function is user defined (meaning software determined) via a complex series of keystrokes. In contrast, the older unit just had a few jumper wires that allowed me to make a few choices, and that was the end of it.
Yet that lack of flexibility, and mostly pre-set operation, was also the good part. Within a minute of powering up the old unit, I could easily tell that the unit was working, and working the way I intended. In contrast, getting any sort of basic functioning from the new unit takes several hours. If you're not careful, you can overwrite the master code, and never be able to get back into the programming mode.
It's the reality that afflicts too many “programmable” products: you can't get them to do much of anything right until you have them set to do almost everything right. And that's the problem.
Lest you think that I am being a Luddite saying that “hardwired is good, programmable is bad”, that is not the case. Good design transcends the mode of implementation. Look at Excel and its forerunner, the legendry Visicalc from Dan Bricklin and Bob Frankston, which are wonderful examples of application software. Their beauty is that you don't have to know a lot about them to start using them. You can do basic operations right away, with no need to first define, configure, know your preferences, or even read the manual.
Then as you use Excel a little more, you realize you'd like to use a specific numerical format, layout, or capability, and you invoke it as you need it. The “start quickly, then only add as needed” design approach is what more products should offer. And there is no good technical reason that most don't.
Bill Schweber , Site Editor, Planet Analog