Blinking Twelve O'Clock
From IEEE Spectrum Magazine, Mar. 1997
OK, I confess. My VCR blinks twelve o’clock. Whenever I walk by, it accuses me of ignorance, relentlessly flashing out its well known icon of user incompetence.
Same to you, I say mentally to the VCR. You’re the symbol of something gone wrong with the world yourself. You’re the infamous icon of complexity gone amok. So there!
I had an old VCR that relied upon mechanical commands. The poor thing didn’t have a microprocessor. But it was functional, and my family would set it to record shows when we were away. As time went by, it got old and cranky, and people started to complain. So I bought one of the new feature-rich VCRs. Now no one programs the new VCR. It just blinks twelve o’clock.
How could I, a self-respecting electrical engineer, have fallen so low? Well, you must understand that this is not my fault. I could program this thing if I really wanted to. That’s an important rationalization to any engineer. There are lots of things that I don’t truly understand, but I usually tell myself that I could understand them if I really wanted to. As long as my bluff isn’t called, I’m content with my state of virtual omniscience.
As for the VCR, well I painstakingly wrote out a checklist of steps to be taken when programming it to record a future show. I think there were about 27 steps, involving the setting of the antenna switch, the channel of the settop box, the channel of the VCR, the channel of the TV set, various switches on the settop box, television and VCR, and two pages of on-screen programming. If there is a single mistake in this list, it doesn’t work -- and there is no indication whatsoever that you have made that mistake. So I look at the VCR doubtfully, and ask myself whether I truly believe that it will come on and record channel 4 at 9 o’clock, for example. Experience has taught me to be doubtful. It can blink twelve o’clock at me all it wants; I consider it untrustworthy. I have no idea what it thinks of me.
Last week I got a new soundcard for my home PC. The box that it came in proclaimed in large letters that it was "Plug-n-play." You believe that? I guess I didn’t either, but it was much worse than I had anticipated. Once again, complexity run amok.
I had an older soundcard in my computer, and my CD-ROM was attached to it. What I wanted to do, of course, was to pull out the old card, install the new one, and attach the CD-ROM to the new card. But wait! In order to install the new card you need to load software drivers from a CD-ROM, which of course won’t exist the minute I pull out the old card. Catch-22 at its best. Furthermore, the two cards refuse to coexist, and all the drivers for the old card are buried in secret places in startup ".ini" files, the dreaded "config.sys" and "autoexec.bat" files, and a registry of unbelievable length and obscurity. This is even assuming you know what the names of the old drivers are. Completely unknown to me at that time also was that the motherboard itself was going to have a hardware conflict with the operation of the new board.
My computer was out of commission for many hours. It sat there and blinked twelve o’clock at me. Virtually, anyway. I told it what I thought of it too. I told the CEO of the company that wrote the operating system what I thought of it. I considered sending inflammatory messages to various web help sites. In the end, of course, I fixed it, and my reward was those few milliseconds of pride in having triumphed over adversity, followed by the sure realization that no one else wants even to hear about it. I’m sure that for many of you these kinds of problems are all too familiar.
The amazing thing is that I’m not talking here about the design of advanced systems. These are consumer products for the mass market! I see in them a pattern of delicately balanced complexity, whose genesis lies in the escalating arms race between Moore’s Law and Gates’ Law.
Moore’s Law assures us of an ever-growing number of transistors. It guarantees that, on some level, there will be escalating complexity. Meanwhile, Gates’ Law says that every cycle of processor power and every byte of memory will be sucked up by new larger software programs. Between the two laws, the cost of computers remains constant, while functionality increases. Meanwhile the underlying complexity increases relentlessly, while much of the growing computational power is used to hide this complexity from the ultimate user.
In a static world I believe it would be possible to shield the user from knowledge and involvement with the dungeons of complexity below the surface. But in a restless world like this is (music, please!), it doesn’t always work. Too many people with innovative ideas push the envelope of the standardized environment, and at no time does the whole thing play together as we envision that it should. Yawning chasms open up periodically, like geological faults, revealing to the user the boiling complexity below. It’s an ugly sight to see, and we resist the idea of having to go down into those dungeons. But we must, and too often.
While it is certainly true that the balance in the arms race assures increasing functionality, there is no guarantee that this functionality is useful. My blinking VCR does a lot more things than the old mechanical one it replaced. Useless things, however, for me. My new word processor has a lot more functionality too. There is a giant manual listing all the wonderful features it has. The manual is somewhere around here in case I want to discover these marvelous features. I could master all of them if I wanted to; it’s just that I have better things to do. I think.
I see behind the blinking facade of my VCR the pride that it has in its multitude of features. It can blink at me all it wants, but there’s something wrong with it in my opinion. It probably feels the same about me, now that I think about it.
Robert W. Lucky
rlucky@bellcore.com