WITH POWER AND
ELEGANCE
by Cheryl J. Weiner
Cheryl J. Weiner is the special
projects director for Data Communications. She has been involved in educational
software development since 1979.
Computer software
represents an innovative medium for creating learning, playing and
working environments. We are only beginning to appreciate its
aesthetic. We seek this by affirmation, by the impulse to suddenly say:
"Ah, yes, that can only be done with a computer," and "Yes, that is
something worth doing," and finally, "Yes, it is good."
We gravitate toward programs that speak to us
personally: spreadsheets, word processors, games. But the magic does
not occur unless we choose programs that correspond to our needs and
desires. When we do this, a transformation happens. Once we see the
possibilities, we yearn for more of what appeals to our sensibilities.
We go into the computer world in search of "power and elegance," a
phrase often used to describe good software.
In the real world, power and elegance usually go
hand in hand. Both are
necessary; neither is sufficient unto itself. Often elegance is applied
to a woman, power to a man. In Greek mythology Apollo is elegance; Zeus
is power. Power attracts, elegance captivates. Power is usually
necessary for elegance to occur, and without elegance power remains raw.
Computer scientists who refer to certain programs as
"powerful" or "elegant" are looking at the code, at the solutions to
the programming problem. A leap must be made in the application of
these standards not just to the internal program code, but to its
external execution. We, as users, must be able to recognize power and
elegance when we see it.
What are power and elegance to a software user? Trip
Hawkins, founder of the Electronic Arts software firm, came closest to
a definition when he characterized a good program as "simple, hot, and
deep." A fully functional word processing program cannot be simple, but
it should contain an interface that substitutes elegance for
simplicity. A spreadsheet program is not hot; it has no emotional
element. A spreadsheet, however, could evoke wonder if its elegance and
power allow us to play with data in a way that brings a new
understanding or a new course of action. A game need not be deep, but
it must have enough power to be challenging. Thus we can define
simplicity as elegance, depth as power, heat as that space lying
between the two when they are united in a classic manner.
The distinctions between power and elegance in
software are relative and often rely on the computer's capabilities.
Power is found in the complexity that the software can attain on a
particular machine as a function of memory capacity, speed and amount
of data in the data base. Power is epitomized in high-speed number
crunching, in computing by brute force. A spreadsheet that has only
twenty-four columns and two hundred rows is of limited use. An
adventure game becomes boring if it has only ten rooms and three
characters. We need to move quickly through rich fields of data or
decision making, and it is power that allows us to do so.
Elegance is subtler and depends less on machine
environment. Elegance is a language parser's ability to understand our
attempts to interact with the computer. Elegance is the quality of the
subject matter. The humor expressed. The reinforcements and responses.
Ease of use. The ability to move through menus, windows and options in
order to create a relationship between ourselves and the program. The
freer we are to interact with programs on our own terms, regardless of
what they were intended for, the more elegant the design.
Aesthetic Environments
The essence of the software aesthetic exists in the environments
created when power and elegance are joined. People in search of
programs that maximize the computer's capacity want graphics,
animation, flashy reinforcements and responses. Unfortunately, these
bells and whistles often add little and can be distracting. What we
should look for is the computer's ability to create regenerative
environments, worlds that we can reconfigure in ways unanticipated by
program designers-an infinite capacity to generate novel ideas,
thoughts and actions in a powerful and elegant manner. Graphics and
music could enhance these new worlds, but they have to be intrinsic to
the environment rather than extra elements tacked on for effect.
Interaction with this environment should be
effortless, whether it's a word processor, a spreadsheet or an
adventure game. We should be able to control both our actions and our
focus of attention, to move easily through the program we want. The
command structures should be intuitive. Our thoughts should be on the
content of the program, not on working with the content. For this we
need elegance.
So far, the most powerful and elegant applications
for computers belong to the spreadsheet and word processing programs.
Here the worlds are easy to regenerate. The contents are concrete and
discrete. The domains are limited. It is much harder to fulfill the
aesthetic within the recreational aspects of the computer: the
counterparts of the novel, the film, the board game.
Adventure games, however, have come closest to
linking power and elegance in regenerative environments. Unfortunately,
simulation and role playing games demand enormous amounts of computing
power. Any lack of processing power restricts the depth of the content
as well as the ease of the interface. In Infocom's Zork trilogy, for
example, we are forced to create tortuous dialogues with a language
parser. For those of us who don't like to type, this interface quickly
becomes a barrier to play. In most adventure games, the character
delineations are quite mundane and the plots are uninteresting. There
is no Wonderland to ponder, no Cheshire Cat, no language to linger
over. These programs are sophisticated in their conceptualization but
not in their execution. Their power and their elegance are constrained
by their terminology and lack of vision.
Time and Again
While we are accustomed to a three-dimensional universe, the computer
confronts us with the fourth dimension: time. Because computer
environments at their most complex have four dimensions, we have to
know where we are or we can easily get lost. In the first dimension we
move in a traditional linear fashion. With the addition of a second
dimension we can create surfaces. With a third we can rotate objects in
space and reach into the computer's depth to pull out information and
bring it to the surface. Finally, with the fourth dimension, we can
begin to grapple with time. We can create historical audit trails. We
can move through a simulation that keeps track of our movements at
different points in time. The greater our power, the further we can
move into the fourth dimension. The more elegance, the better able we
are to move from dimension to dimension without getting lost.
Thus power and elegance in the computer world are no
more nor less than the ability to simulate the power and elegance of
the world as we know it or of any world we can imagine. We become
immersed in a world easily mastered through the interfaces and become
involved with this world intellectually as well as emotionally.
Engagement is the critical factor. Challenge. Curiosity. Fun. We react
viscerally. Our palms sweat; our hearts race. The mind expands.
Ultimately, the best computer programs will combine
power and elegance in ways we can only dream of. The programs will
engage us through all our senses and emotions. We will control them
while they focus our attention in meaningful and relevant ways. They
will have unlimited memory, high-speed processing, unrestricted data
banks, and universal access wed to ease of use, transparency of design,
style and grace. A new aesthetic made manifest. True poetry in motion,
with graphics ... animation ... color ... music ... speech. Herein lies
the concept of computerness that must grow and evolve.
Return to Table of Contents | Previous Article | Next Article