Down With GUIs!

Bluntly: Graphical User Interfaces (GUIs) are not human-compatible. As long as we hang on to interfaces as we now know them, computers will remain inherently frustrating, upsetting, and stressful. GUIs have become so pervasive (or is it perversive?) that many computer users can't even think about anything else as a human-computer interface. Mobile Office magazine […]

Bluntly: Graphical User Interfaces (GUIs) are not human-compatible. As long as we hang on to interfaces as we now know them, computers will remain inherently frustrating, upsetting, and stressful.

GUIs have become so pervasive (or is it perversive?) that many computer users can't even think about anything else as a human-computer interface. Mobile Office magazine recently wrote about the rapid pace of development in voice recognition: "Before too long," the author rhapsodized, "you may not have to worry about an interface at all. You may find yourself simply speaking to your computer."

See what I mean? A voice-controlled system may have no windows but neither do telephone voice-response systems ("press 6 if you hate voice mail," and so on), and they have hellishly bad interfaces. Just because it isn't a Mac or doesn't have Windows does not mean it has no "interface." The way you accomplish tasks with a product, what you do and how it responds - that's the interface.

Since the invention of the elements of the graphical user interface at SRI and Xerox PARC in the early 1970s, and the first popularization of those ideas on the Apple Macintosh in the 1980s, we have had almost nothing really new in interface design. On close inspection, many touted new "features" are just, so to speak, window dressing.

Let's be careful. The problem with GUIs lies not in the idea of using graphics in an interface, but in the way the present GUIs are constructed. One big mistake is the idea of an operating system. Xerox PARC took the brilliant step of making the previously mysterious operating system visible and comprehensible; I am not being sarcastic, it was far better than what came before, but better is not the same as good.

An operating system, even the saccharine Mac or Windows desktop, is the program you have to hassle with before you get to hassle with the application. It does nothing for you, wastes your time, is unnecessary. Some will ask, "How can you run a computer without an operating system?" But newcomers to computers know the answer. When they first see a desktop they ask a much more intelligent question: "What is all this crap? Why can't I just get about my business?" It takes about 8.2 seconds to make new users feel stupid. Professionals tell them, "That's the way computers work. That's the great GUI which makes computers so easy to use." The clever and correct insight is squashed. But computer interfaces can be designed so that you can just get to work (or play) with no intermediate finagling.

I've built systems that work this way - let me describe how one of them looks and feels. When I come to the machine to type a letter, I just sit down and type. If the computer wasn't on, the first keystroke turns it on (and the keystroke isn't lost). The machine doesn't sit there booting for a minute while the thought I wanted to write down evaporates from my mind. I don't have to launch the word processor. I just type; typing is enough of a clue for the interface to do the right thing. If I want to draw, I just grab my GID (a Graphic Input Device such as a tablet pen, mouse, trackball, glove, whatever) and start to draw. The interface is smart enough to know that I am drawing. A button, held during the act, distinguishes cursor positioning from drawing. The important point is that I don't have to launch a drawing program or CAD package to draw, the very act of drawing alerts the system to what I need. Is this too obvious a way for a computer to behave? The same idea goes for spreadsheets, communications, databases, animation, music, and games.

Another big mistake is the concept of an application. Applications are programs that prevent you from using most of the power of your computer. They are walled cities. When I am using my CAD package, I am prevented from using the spelling checker in my word processor. When I am using my word processor, I am prevented from adjusting the gray scale of the lettering as I can in my image processor. When I am using my image processing program, I am prevented from solving equations, and so on. Make up your own list. Some operating systems build tunnels between applications that we can crawl through (Microsoft's OLE, Apple's Publish and Subscribe features, HP's New Wave, for example), but we want to run aboveground.

There's a fix for this problem. Vendors should supply not applications, but command sets, interoperable with all other command sets that you purchase. Mix and match. You like the way MacWrite does spell checking but the way Word does footnotes? Install the spell checker from one and the footnoter from the other. Is this technologically feasible? Of course. It's simpler than what we have now and a lot easier to use. Only decrepit technowonks think this is impossible or problematical. Entrenched marketers and managers, when they understand the implications, are discomforted by the idea of a cold restart with a product that threatens their livelihood.

Going back to our new interface, say I want to compose a duet for French horn and oboe. I use a command that gives me some musical staves. The command was sold to me as part of a music command set, of course. When I start making marks with my GID on and about the staff, the system interprets them as notes, rests, and the other paraphernalia that is part of the weird way we notate music. If I draw somewhere else, the system lets me draw free form. There's a lot of detail in how this all works internal to the computer that I know I am glossing over, but I don't want to turn Wired into a technical journal (or give away trade secrets). What I am trying to do is to get you to jump up and down and yell at the people who make today's dreadful interfaces. Yell something like "Why the hell don't you make your computers work more like they could? Stop lying to me about how all this stuff is great and necessary. Stop making me run around your dumb treadmill every time I want to use a computer!"

Interfaces won't improve until you complain and until interface designers come to know and accept the way the human mind works on tasks. Here's one example of a place interface designers usually fall off the boat: If we can reduce using a tool to habit then we no longer need to think about the tool and can concentrate on the task. When can we form a habit? For one thing, when a certain action always has the same effect. Imagine trying to drive a car with the brake and accelerator pedals interchanged. You'd get a few blocks, maybe, but as soon as a dog ran across the street your habits and your foot would kick in and you'd accelerate right into Fido. Think about what would happen to your typing if the "delete" key got moved to where "return" is. When a certain action (like pressing Control-I) has one effect in Application A and another in Application B, you cannot form habits. The cogs (cognitive psychologists) codify this kind of system as "modal." In the presence of modes human beings will make mode errors: We cannot be trained otherwise, it's built in to our brains, so any rational designer would make sure there are as few modes as possible. But GUIs are modal from the get-go. Now that you've read this you know that interfaces which are far less modal are possible, but you should also be warned that they are habit-forming, even addictive. Start to use them and you're hooked forever...

Designers forget that humans can only do what we are wired to do. Human adaptability has limits and today's GUIs have many features that lie outside those limits, so we never fully adapt but just muddle along at one or another level of expertise. It can't be helped: Some of the deepest GUI features conflict with our wiring. So they can't be fixed. Like bad governments, they are evil, well entrenched, and must be overthrown.