Automating computer-to-computer transactions and fixing problems in present computer systems are good steps toward making computers and the information marketplace serve us. But designing systems that are inherently easier to use is the really big lever. I believe that this endeavor will consume our attention for a good part of the next century.In the last decade, anyone who has uttered the phrase “user friendly” in my presence has run the risk of physical assault. The phrase has been shamelessly invoked to suggest that a program is easy and natural to use when this is rarely true. Typically, “user friendly” refers to a program with a WIMP interface, meaning it relies on windows, icons, menus, and pointing along with an assortment of pretty colors and fonts that can be varied to suit users’ tastes. This kind of overstatement is tantamount to dressing a chimpanzee in a green hospital gown and earnestly parading it as a surgeon. Let’s try to penetrate the hype by painting a picture of where we really are with respect to user friendliness and where the true potential for ease of use lies.
It is sometime in the late 1980s. A friend approaches you, excited by his ability to use spreadsheets. You ask him to explain how they work. He shows you a large grid. “If you put a bunch of numbers in one column,” he says, “and then below them put the simple command that adds them up, you will see their total in the bottom cell. If you then change one of the numbers, the total will change automatically.” The friend rushes on, barely able to control his exuberance: “And if you want to make the first number 10 percent larger, you just put in the cell next to it the simple command that multiplies it by 1.1.” His expression becomes lustful: “Do you want to increase all the numbers by 10 percent? Just drag your mouse down like this, and they will all obey.”
He takes in a deep breath, ready to explode once more, when you stop him cold. “Thank you. Now go away,” you say. “You have taught me enough to do all my accounting chores.” This is how millions of people today use their spreadsheet programs like Microsoft Excel and Lotus 1-2-3. They hardly know more than a tenth of the commands yet they get ample productivity gains.
You are happy with your newly acquired knowledge until one day you discover that you need to do something a bit more ambitious, like repeat over an entire page all the laborious operations you have set up but with a new set of initial numbers. Perplexed, you go back to your friend, who smiles knowingly and tells you that you must now learn about macros. His explanations are no longer as simple as before, and you just can’t get the spreadsheet to do what you want. This is where most of the millions who use spreadsheets give up. But instead you fight on, eventually mastering the mysteries of the macro. It’s really a computer program written in an arcane programming language that replaces you in commanding the spreadsheet program to do things you would have done manually.
You sail along for the next six months until you develop the need to do an even more ambitious task that involves designing a human-machine interface that will make your program more useful. You go back to your friend, who tells you that you have become too good for the limited capabilities of this spreadsheet application, and that you must now learn how to use a real programming language like C++. Unaware of what lies behind these three innocent symbols but unwilling to give up, you press on. This costs you your job, because you must now devote full time to a colossal new learning endeavor. Yet you are so enamored with programming that you don’t mind. In fact, you like the idea. Two years later, having harnessed C++ and a few more programming languages and operating systems, you begin a career as a successful independent software vendor and eventually become wealthy.
This happy ending cannot hide the barriers that you have had to overcome along the way. You decide to graph the effort you expended versus the ability you gained. The result is a line starting at the left and moving along to the right. There is a long slowly rising portion and then a huge hill where you had to learn a lot of new stuff in order to move further right. Then there are more slowly rising lines and more huge hills, like a mountain chain where each new mountain gets higher. You wish that someone would invent an approach with a gentler slope, one where you get ever-greater returns as you increase your learning effort, without the impossible cliffs that you had to climb. I predict that such “gentle-slope systems,” as I like to call them, will appear and will mark an important turning point of the Information Age.
The gentle-slope systems will have a few key properties. First and foremost, they will give incrementally more useful results for incrementally greater effort. They will be able to automate any activity you do that is repetitive. They will be graceful, in the sense that incomplete actions or errors on your part will result in reasonable degradations of performance rather than catastrophes. Finally, they will be easy to understand-no more complicated than reading a cookbook recipe.