Some 20 years ago, I remember reading a joke on Usenet about a king's toaster:
A great king summoned two of his advisors, and showed them both a shiny metal box with two slots in the top, a control knob and a lever. "What do you think this is?"
One adviser, an engineer, answered first: "It is a toaster," he said.
The king asked, "But how would you design an embedded computer for it?"
The engineer replied, "Using a 4-bit micro-controller, I would write a simple program that reads the darkness knob position to one of 16 shades of darkness, from snow white to coal black. The program would use that darkness level as the index to a 16-element table of initial timer values. Then it would turn on the toaster and start the timer. At the end of the time delay, it would turn off the heat and pop up the toast. Come back next week, and I'll show you a working prototype."
The second adviser, a computer scientist, immediately recognized the danger of such short-sighted thinking. He said, "Toasters don't just turn bread into toast, they are also used to warm frozen waffles. What you see before you is really a breakfast food cooker. As the subjects of your kingdom become more sophisticated, they will demand more capabilities. They will need a breakfast food cooker that can also cook sausage, fry bacon, and make scrambled eggs. A toaster that only makes toast will soon be obsolete."
The adviser suggested a future-oriented embedded computer innovation, with a forward-ready platform: "Specifically, we need an object-oriented language with multiple inheritance. Of course, users don't want the eggs to get cold while the bacon is frying, so concurrent processing is required, too.
"We must not forget the user interface. The lever that lowers the food lacks versatility and the darkness knob is confusing. Users won't want the product unless it has a user-friendly, graphical interface.
"Having made the wise decision of specifying the software first in the design phase, all that remains is to pick an adequate hardware platform for the implementation phase. An Intel 80386 with 8MB of memory, a 30MB hard disk and a VGA monitor should be sufficient. If you select a multitasking, object oriented language that supports multiple inheritance and has a built-in GUI, writing the program will be a snap."
The king had the computer scientist thrown in the moat, and they all lived happily ever after.
When I first saw this joke, I thought it was pretty funny. But now I have a toaster oven that does way more than simply make toast. It has an LED-backlit LCD pixel display (high res displays are becoming common everywhere; my thermostat has enough resolution to display serifs in fonts!) and has settings to make toast, warm bagels, defrost frozen items - and even broil! Yes, I can make bacon in this thing. So yeah, in the 1990s we laughed at such an "innovative toaster" but in 2012 I actually bought one! The market shifted, and is now receptive to this innovation.
The toaster story is a great example of how innovation happens in almost any product category. The technology that we rely on today will look quite different in only 10 years. In 20 or 30 years, we may no longer recognize that technology.
I don't believe that we can satisfy ourselves with incremental progress. Instead, look for what we should be doing. We always need to look forward to what is coming, to what's next. With IT at a higher ed institution, ask yourself: "Are we simply supporting the campus of today, or preparing our students and faculty for the world of tomorrow?
