Down With GUIs!
By Jef Raskin
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.
Copyright
© 1993-2000 The Condé Nast Publications Inc. All rights reserved.
Copyright © 1994-2000 Wired Digital, Inc. All rights reserved.