Vivarium History

The Vivarium Program
Larry Yaeger

The literal definition of a "Vivarium" is an enclosure or reserve for keeping plants and animals alive in their natural habitat in order to observe and study them. The Apple Vivarium program is a long-range research program with the goal of improving the use of computers. By researching and building the many tools necessary to implement a functioning computer vivarium, an ecology-in-the-computer, we hope to shed light on many aspects of both the computer's user interface and the underlying computational metaphor. We are exploring new possibilities in computer graphics, user interfaces, operating systems, programming languages, and artificial intelligence. By working closely with young children, and learning from their intuitive responses to our system's interface and behavior, we hope to evolve a system whose simplicity and ease of use will enable more people to tailor their computer's behavior to meet their own needs and desires. We would like untrained elementary school children and octogenarians to be able to make specific demands of their computer systems on a par with what today requires a well trained computer programmer to implement.

The Vivarium program began in 1986, and is overseen by its principal designer, Alan Kay. Alan, in addition to being a computer scientist, is a musician, mathematician, biologist, physicist, philosopher, cognitive scientist... and as such is able to bring a wide range of thought and influences to bear on the many issues inherent in such a grand goal, or grand direction, as Alan might prefer to phrase it. Alan is fond of pointing out that really good research simply cannot have a well stated goal, it can only have a useful direction. If you could state at the outset that you were going to now invent the flying buttress or vaulted arch, then you'd already have your goal so well defined that you'd have no need to perform the research.

Alan's early ruminations on what the most useful, friendly computer of tomorrow would look like came to be known as the Dynabook, and took form when he was among the now fabled group of computer scientists gathered at Xerox PARC (Palo Alto Research Center) in the early 1970's. Out of that team came windows and a kinesthetic/graphical user interface, object-oriented programming (Smalltalk), and the Dynabook. The Dynabook was to have been the size of a notebook, very light and portable, able to handle a couple of megabytes of text, able to create pictures with a program called "Paintbrush," and to animate those pictures, able to allow children to design and program their own tools, including games (this was well before "Pong" and the video game explosion), and it would link up directly with other Dynabooks or via telephone with the world's libraries. It was to be priced low enough - under $500 - to provide one to every school kid, and to be accessible to everyone.

The Dynabook still does not exist, but that vision served as a driving force behind many of the tools and design ideas that we - both computer manufacturers and computer users - benefit from today. The goal of the Vivarium program is to do for the next generation of personal computers and human interfaces what the Dynabook did for the first - to be, a "forcing function" for the most appropriate new technology.

The original idea for the Vivarium, the ecology-in-a-computer concept, came from Ann Marion, now the Vivarium Program Manager, when she was working with Alan at Atari. One of their projects was to try and do intelligent autonomous Warner Bros. cartoon characters, to send Bugs Bunny and Elmer Fudd into the forest, and have them play out a cartoon as a result of their personalities. Ann, however, sought to infuse life into more realistic creatures engaged in social interaction with each other and with their environment. She chose to model an aquarium, with fish that would chase and eat one other and reproduce. It was an arduous task, and one that we now seek to make as easy as child's play.

Today we use the animal in a biological ecology as a metaphor for an agent in an information ecology. That is, we hope that our research will lead us to useful ways of designing and deploying "agents" - little (or not so little) software tools that will effect our wishes in the computer, from answering the phone and setting up our calendar like a personal secretary to culling articles of interest from all the world's news sources and preparing our own personal "newspaper" to browsing the world's databases in search of information relating to a personal enquiry, be it technical, literary, or completely fanciful. (Note the recurring "personal" nature of the demands we would make on our agents; this is consistent with Alan's view of the progress of computer interfaces from "institutional" to "personal" to "intimate"... imbuing a sufficient number of uniquely personal characteristics to our machines will push them over the categorical edge into the domain of the intimate.)

We know that this problem is hard. In fact, we don't know how to solve it. So we have set our sights on a target that we believe to be in the same general direction. And we expect that by solving the various problems and issues relating to our more manageable metaphor, we will be solving some of the same user interface and computational paradigm and artificial intelligence issues that our greater goal will require. And at a minimum, we believe that there will quite naturally flow a number of innovative tools and techniques from the present endeavor, just as the Dynabook project gave birth to so many of the current aspects of computer usage.

Given our direction, and even an intermediate goal, then, we must creatively seek out the ideas that will give form to our vision. Important input to the Vivarium program comes from the members of our advisory council, including: former Disney animator Frank Thomas, creator of Bambi and other popular characters; Gossamer Albatross inventor Paul McCready; author of Society of Mind and dean of artificial intelligence, Marvin Minsky; author of The Selfish Gene and The Blind Watchmaker, Richard Dawkins; neural network expert and innovator, Geoff Hinton; author of the Hitchhiker's Guide to the Galaxy four-part trilogy and the Dirk Gently novels, Douglas Adams; and Koko, the gorilla who has learned to speak with American Sign Language. These experts on animation, user interface concepts, artificial intelligence, evolution, machine learning, humor, and animal intelligence all inform and enlighten our efforts and help push us in our chosen direction.

The main research test site of the Vivarium program is a Los Angeles "magnet" school known as the Open School. Alan chose this primary school, grades 1 through 6 (ages 6 through 12), because of their educational philosophy, founded on the basic premise that children are natural learners and that growth is developmental. Based on Piaget's stages of cognitive development and Bruner's educational tenets, the Open School was seen not as an institution in need of saving, but as an already strong educational resource whose fundamental philosophies aligned with our own. With the support of the Open School's staff, some 300 culturally and racially mixed children, and our principal liaison with the school, Dave Mintz, we have developed an evolving Vivarium program that is included in their Los Angeles Unified Public school's curriculum.

This curriculum is designed to encourage children to think more about thinking. They do this by studying and simulating strategies that help animals survive in their environments. The children use animation and graphics to design animals and the simulated environments in which they live. They animate stories that illustrate biological and sociological lessons, and create adventure games and video games, at first using VideoWorks and more recently, HyperCard. Now they are beginning to be able to program the animals' mental and behavioral characteristics, such as what they eat, how they move, and so on, and then observe the animals' resulting interaction with each other and with the environment. These activities are usually related to real world activities, such as working in a real, live garden, raising real fish in a real aquarium, and participating in various field trips. The goal is never simply to learn to use the computer; rather, the computer is a tool used to enhance the learning process.

Alan chooses to design nearly everything he does for and with children. By working with kids we are kept fresh and honest. A primary school was chosen as the best place to conduct our studies because these young children's thinking is multisensory, and not yet so bound by adult strictures and conventions. Observing how children think is itself a source of inspiration and insight into the issues surrounding the design and programming of artificially intelligent software. In addition, the lack of social inhibitions found in children of these ages means that we receive candid feedback on our new designs (and even a fair share of abuse - "This broke!" and "Why does it work like that?" and "This is pretty good, but I like HyperCard better."). And if the kids can understand and use a new invention, then its design principles are probably sound enough that adults will also.

Because we have spent so much time and effort up front working with the teachers to integrate the computers into their regular curriculum, both the teachers and the children are comfortable with the computer equipment, and are willing to suffer intrusions by hordes of techno-speaking researchers. We learn both from the day to day use of computers within the curriculum and from special trial runs of our new software designs. In fact, the valuable lessons learned in establishing a large educational network (30 Macintoshes with hard disks per classroom, Mac Plus's in the lower grades, Mac II's in the upper grades), and the strengths and limitations of existing hardware and software are of use in both the long and the short term. This feedback is of interest right now to groups within Apple focusing on education, and is perhaps one of the first tangible spinoffs of the Vivarium's research direction. We are one of the few programs nationwide that can serve as a testbed for the classroom of tomorrow where freely available computing resources will be the norm, rather than the exception. In addition, we gain ideas from these trials and tribulations about what we believe the next generation of machines and interfaces should look like, and are then able to turn around and try out these ideas as rapidly as we can prototype them.

"Playground," a word that brings to mind a place of fun and social interaction, is the working name for a very experimental and continuously evolving series of interfaces that Alan Kay, Jay Fenton, Scott Wallace, and Kent Beck have been designing and testing in the school. We would like our system to provide a place where children can interact with each other on a common ground, so there should be public areas available to all, and to various groups of individuals. We would like for individuals to have private places, perhaps to work on a project before moving it to a public space to share with others. The teacher should routinely have access to all of the public spaces, and under some circumstances to more private spaces. In general, there should be more than one view available of a body of data or a program or a behavioral specification. ("Point of view is worth 80 IQ points" - Alan Kay.)

In the process of trying to meet the many Vivarium goals, the Playground team has evolved a new concept of programming, that may be referred to as event-oriented. It is thought that this programming model may be as large and important a step beyond object-oriented programming as that model was beyond procedural programming. Object-oriented programming provided a new way of thinking about the solution to many classes of problems, and through data encapsulation and method inheritance offered an extensibility that was almost impossible to achieve with traditional, procedural programming styles. Even so, the introduction of a new class, a new functionality, into an existing set of classes and objects requires a programmer to touch some number, possibly all, of the other classes in the system in order for the new class to be able to take part in the global network of communication and computation. This is due to the "pushing" nature of communications in such systems; i.e., objects are only activated when some other object explicitly pushes a message onto the system-maintained message list addressed to that object to be activated. A new object/class in such a system will lie fallow since none of the existing objects knows of its existence, nor how to communicate with it. The event-oriented system envisioned for Playground is a "pulling" type of system, in which objects can be directed to notice their environment; i.e., they can pull messages and information from the available system-maintained list at their own discretion. So a new object, which we might now begin to refer to as an agent, can be made to notice various other agents and events within the environment, and can begin to play a role in the global communication and computation immediately upon its introduction into this information ecology.

Another important aspect of such a new user interface will be the I/O devices and workstation designs that determine one's method of interaction with the computer. Mike Clark and Tom Ferrara have been working with our advisors and with MIT and Cal Tech graduate students to design and prototype new types of input devices, many with force feedback to provide a more direct, kinesthetic feeling for interaction with one's agents and their environment. Force feedback joysticks, multiple degree of freedom mice, and adjustable-force wings are among the many such devices investigated so far, and we are always on the lookout for new and interesting tactile I/O devices. "MacDesks" for the Open School that house a completely recessed Macintosh computer (so as not to use any of the limited desk-top space), with an inset glass panel to observe and interact with the screen were also designed and fabricated by Mike and Tom. And a gorilla-proof workstation, housing a large touch-sensitive screen behind a 1/2" of Lexan (to be able to withstand a massive fist moving at speeds of up to 80 miles per hour), was designed and built by Tom. Together with software designed and written by the author, this rather special Mac II workstation will be used to give Koko the gorilla a voice.

Certainly one of the most important aspects of the envisioned Vivarium computing environment is the previously mentioned ability of its user to easily craft limited-intelligence agents, to do the user's bidding. For the ecology-in-a-computer system, the user must be able to easily craft behavior models for the creatures in her/his ecology. The nature and methods of specification of these intelligences, these behaviors, is of paramount importance to the final vision of the Vivarium program. Ted Kaehler and the author are actively involved in researching various aspects of machine learning in support of this requirement. Ted has been focusing on genetic algorithms, agoric systems, classifier systems, and code evolution. Using these techniques Ted has been attempting to coax the machine into learning some simple functions based solely on exemplar pairs of some input and the output resulting from the functions' evaluation given that input. The author has been studying and implementing various biologically-inspired neural network models. These have taken the form of "unsupervised, Hebbian-style" learning of statistical regularities in a body of text, and "supervised, Back-Prop" learning to recognize hand-written numerical digits and to translate ASCII text into phonemes plus stress. The author's next intended area of research is to attempt to combine traditional computer graphic rendering techniques with behavior models informed by his work in neural networks and inspired by Valentino Braitenberg's Vehicles to develop a biologically-motivated, genetically-engineered, polygonally-modeled ecology in a computer, called Polyworld.

As the Vivarium program moves into its third year of life, many questions remain - not just to be answered, but even to be asked. To do good research, one must admit to not even knowing all of the right questions. Indeed, it is fervently hoped that behind every answer we seek out, we will discover a better, more fundamental question. Still, ideas from the Vivarium team's experiences are already influencing other development programs within Apple, with other operating system and language development teams watching our efforts and results, education research groups observing our participation in the Open School, and researchers interested in speech and optical character recognition investigating our experiences with neural network solutions. Then, the ever-evolving Playground may break the ground for event-oriented programming the way Smalltalk did for object-oriented programming. And if some version of Playground does enable children to create reasonably behaving fish in a simulated underwater environment, then perhaps, just perhaps, those fish may someday turn into agents, and they may swim in an ocean of data, gleaning just those items of information that fit our dietary specifications. And we may be treated to the ambergris-sweet scent of knowledge, digested from bits of raw information.