Alice: An Easy to Learn 3D Interactive Programming Environment

Randy Pausch, Matt Conway

User Interface Group, Department of Computer Science
The University of Virginia, Olsson Hall
Charlottesville VA, 22903


voice: 804 982 - 2200 fax: 804 892 - 2214



Usability and User-Centered Design.


virtual reality, rapid prototyping, interpreted languages, usability, programming environment, toolkit


The current state of 3D user interface development is remi niscent of the early days of 2D GUI development. Now, as then, programmers see a huge new design space with opportunities for important strides in user interface devel opment. Progress remains slow, unfortunately, because the development tools are still primitive and because most sys tems are still hampered by the edit-test-compile cycle imposed by C and C++. To help alleviate this problem, we have created a programming environment called Alice which encourages programmers to experiment and to explore three-dimensional programming techniques in an interpreted, object-oriented environment.

Alice's primary design goal is to be accessible to people who don't necessarily possess a great deal of mathematical training or graphics programming experience, without unduly tying the hands of the expert programmer. To reach this goal requires powerful abstractions, careful pedagogy and useful on screen tools to make the specifications of interactions and animations as easy as possible. In those cases where programming is necessary, the scripting lan guage needs to be easy to learn and interpreted so that users can ask "what if" without suffering a recompile.

Alice's ease-of-learning will be achieved through the aggressive usability testing of the programming interface and of the beginner's tutorial.

While Alice must be easy to learn, it must also be expres sive and powerful enough to serve as our graphics platform for the exploration of new interaction techniques for "immersive" (i.e. using a head tracked display) Virtual Reality (VR) interfaces. With Alice, we have developed a number of new interaction techniques that have been pub lished in the literature.


All these papers are available on line at:

A Brief Architectural Overview of Alice, a Rapid Pro totyping System for Virtual Reality, The User Interface Group, IEEE Computer Graphics and Applications, May 1995.

Amortizing 3D Graphics Optimization Across Multiple Frames, Jim Durbin, Rich Gossweiler, Randy Pausch, Fourth Annual Symposium on User Interface Software and Technology, November, 1995.

Navigation and Locomotion in Virtual Worlds via Flight into Hand-Held Miniatures, Randy Pausch, Tommy Burnette, Dan Brockway, Michael E. Weiblen, ACM SIGGRAPH `95 Conference Proceedings, Com puter Graphics, July 1995.

Virtual Reality on a WIM: Interactive Worlds in Min iature. Richard Stoakley, Matthew Conway, Randy Pausch, Proceedings of ACM SIGCHI `95, Denver.

Alice and DIVER: A Software Architecture for Build ing Virtual Environments, Randy Pausch, Matthew Conway, Robert DeLine, Rich Gossweiler, and Steve Miale. Short paper in InterCHI `93.

DIVER: A Distributed Virtual Environment Research Platform, Rich Gossweiler, Chris Long, Shuichi Koga, Randy Pausch, IEEE Symposium on Research Fron tiers in Virtual Reality, October 25-26, 1993, San Jose, CA.


We study interactive 3D graphics. Until recently, machines have not been fast enough to update changes to 3D scenes in real-time, but impressive hardware advances in recent years make it possible to render synthetic 3D scenes at ani mation speeds, 10-12 new images each second, sometimes faster. This new capability has opened up hard user inter face questions regarding the control, manipulation and description of these tiny "virtual worlds." Generally, we can look at the field as being made up of two camps: desktop systems and immersive systems. The Alice software works well in both.

Desktop 3D graphics involves generating computer imag ery on traditional desktop color monitors, while immersive 3D graphics, sometimes referred to as Virtual Reality (VR), or Virtual Environments (VE) display their graphics on a display worn on the user's head. The head mounted display (HMD) is usually implemented as two tiny displays, one for each eye. With care, if the displays are configured to show slightly offset views of the synthetic scene, the user can be made to fuse the two images into a single stereo scopic image. In VR, the user's head motions are detected with a tracking device of some kind and interpreted as cam era motions controlling the synthetic camera. While immersed, the user is faced with a lack of good user inter face controls. Keyboards and mice become useless, leaving other technologies such as voice and gesture recognition to take their place. Much research in VR centers around improving the user interface.

It is interesting perhaps to note that the lack of adequate control that able bodied users experience in VR is some what analogous to the experiences that disabled users often have in using more mainstream computing facilities.


A good on-line source for VR literature and searchable bib liographies in a research vein is:

A good general (popular) treatment of VR technologies can be found in:

Myron Krueger, Artificial Reality II, Addison Wesley, 1991.

For a recent description of the state of the art and an outlin ing of the hardest problems in VR:

Nathaniel Durlach, Ann Mavor, eds. Virtual Reality: Scientific and Technological Challenges. National Research Council, National Academy Press, 1995.

Alice is heavily inspired by the following works: Seymour Papert, MindStorms: Children, Computers, and Powerful Ideas, Basic Books, New York, 1980.

Randall B. Smith, The Alternate Reality Kit: An Ani mated Environment for the Creation of Interactive Simulations. Proceedings of the 1986 IEEE Computer Society Workshop on Visual Languages, 1986, 99- 106.

Usability testing of the kind that we will use in Alice is described in

Jakob Neilsen, Usability Engineering, Academic Press, Boston, 1993.


Perhaps the most profitable collaborations would be with the areas of "Speech and Natural Language Understanding" and "Other input Modalities" due to the lack of good input modalities for an immersed 3D computer generated envi ronment. Keyboard and mouse are not viable from inside a headmounted display.


Clearly, exploring more speech-based input schemes would be profitable.