by Cheryl J. Weiner

Stepping Out

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