Projects

Project Wonderland

Open source toolkit for creating 3D virtual worlds for business and education collaboration

Primary Research Category: Network Clients  
Principal Investigator: Nicole Yankelovich  



Project Overview

Project Wonderland is an open source toolkit for creating 3D virtual worlds for business and education collaboration. With corporate employees spread across the globe and a growing demand for distance education, there is a need for new collaboration technologies that engage participants in a rich environment with high "emotional bandwidth." Based on the Sun Labs Collaborative Environments team's research on distributed meetings and remote work, we have designed a set of tools for addressing the needs of remote workers, teachers, and learners. As Wonderland worlds are deployed in business and education settings, the Collaborative Environments team will partner with researchers in the open source community to study the effectiveness of these 3D virtual environments.

Developers can create a wide range of collaborative experiences with the Wonderland toolkit. In these worlds, for example, participants can accomplish their real work, share documents, and meet with colleagues using natural voice communication. As you explore a Wonderland world, you hear people, music, or videos in much the same way as you would walking around the physical world. Wonderland supports the sharing of both 2D and 3D Java applications as well as X applications such as Firefox, Open Office, and NetBeans.

Wonderland worlds, which can be federated together in much the same way as web sites are now connected, can be used for informal team collaboration, formal meetings, events, and remote classroom teaching. Worlds can also be created that take full advantage of the 3D nature of the environment, allowing groups to be immersed in their business intelligence data, remotely troubleshoot live systems equipped with sensors, explore complex 3D scientific visualizations, or learn new procedures in realistic, multi-user simulations.

The Wonderland open source community is a vibrant, welcoming technical community consisting of corporate members, students, faculty, 3D artists, and researchers. A short overview of the technology is provided below, or you can get started right away using the toolkit:

Whether you are a student new to the JavaTM Programming Language, or an experienced software developer, we welcome your involvement in the community. Come up with your own idea for a virtual world, or select one from our list of Wonderland Project Ideas for Students (and Others). Even if you are not a software developer, this list will give you a sense of the wide range of things that can be done using the Wonderland toolkit.

Why 3D for Collaboration?

One question we are frequently asked is why use 3D for a collaboration environment? While it might be possible to build a 2D tool with functionality similar to a Wonderland world, the spacial layout of the 3D world coupled with the immersive audio provides strong cognitive cues that enhance collaboration and allow people to intuit whom they can talk to at any given time. People have a greater sense of being in the same space as their remote collaborators. There is a growing body of research evidence that indicates that the greater the sense of presence the better the outcomes of the collaboration.

The 3D space also enables a type of informal communication that is not possible with most other technologies. It provides a natural way to organize multiple, simultaneous voice conversations. The arrangement of the objects within the space provides conversational context. If other avatars are gathering near the entrance to a virtual conference room, it is a good guess that they are about to attend a meeting in that space. It is then natural to talk to those people about the content or timing of the meeting, just as you would if attending a physical meeting. In terms of data sharing, looking at objects together is a natural activity. With the 3D spacial cues, each person can get an immediate sense of what the other collaborators can and cannot see.

Additionally, if all your regular productivity and programming tools exist within the virtual world, and they can be shared, this enables a whole new type of always-on collaboration capability. As you work in your virtual team room, you can turn and talk to any other colleagues in the team room, regardless of a person's physical location. This capability provides a single place for distributed teams to work, communicate, and collaborate.

Technical Overview

The Wonderland toolkit's client/server architecture supports the creation of a wide range of interactive, dynamic virtual worlds. This is made possible by a flexible module system. This scheme allows developers to extend not only the Wonderland client and server, but also to package up artwork and complete worlds as easy-to-install modules. Modules can also be written to connect Wonderland with an unlimited number of external services, some examples of which are included in the diagram below:

Security and federation are two other key features provided by the Wonderland toolkit. Wonderland worlds can be secured behind a corporate firewall if desired, and they can integrate with an enterprise's existing authentication and identity management infrastructure. By default, a module is provided to connect to LDAP authentication systems. For fine-grained security, any object within a Wonderland world can be associated with an access control list to govern which users can see, interact with, or edit the object. These access controls are hierarchical, so access can be applied to a single object in a space or to all objects within a room, building or other enclosing 3D structure. Security is a server-side function. This means that objects are never sent to a client that does not have permission to view the object, making it more difficult to defeat the security system.

Federation enables users of Wonderland worlds to navigate from one world to another through a number of different user interface mechanisms. These worlds can be dramatically different from one another in terms of content, code, and the organization that runs the server. For example, a user might start in a corporation's virtual lecture hall and walk through a portal to a university's submarine simulation. The lecture hall might have modules installed for virtual microphones, slide show presentations, and business intelligence analysis, while the submarine simulation may include a fluid dynamics module, a working submarine console, and integration with telemetry data from a real submarine. While much of the code to run the Wonderland worlds is shared, the specialized 2D and 3D programs that run in these worlds are not shared. Wonderland's federation scheme, which takes full advantage of the Java Programming Language's ability to dynamically load code, means that when a user moves from one world to another, the necessary missing code is downloaded on an as-needed basis. Additionally, users' avatar information is stored on their local system so that their avatar goes with them from one world to the next.

Immersive Audio and Telephony

Wonderland features tight integration of immersive, high-fidelity stereo audio. Using our open source voice bridge, jVoiceBridge, not only do you hear recorded audio in stereo at CD-quality, but you also can hear other live people at this quality. jVoiceBridge adapts to allow remote users with lower bandwidth connections to use lower audio fidelities, including telephone-quality.

If you are having a conversation, the high-fidelity audio allows you to hear people's voices coming from the appropriate directions, as you would in the real world. Since voices or other sounds become softer as you move away from them, Wonderland easily supports multiple, simultaneous conversations within the same virtual space.

A wide range of audio-related modules can be created using jVoiceBridge. For example, an in-world virtual telephone allows users without access to a computer to dial in to meeting in a Wonderland world. Virtual microphones, audio recorders, and a cone-of-silence for private voice chat are other examples of audio-related modules. In addition, recorded audio can be associated with objects in the world, including simulated characters. This allows virtual world developers to create a rich audio experience for visitors.

Shared Applications

Wonderland supports three types of shared applications. The first is direct support for 2D X applications (just about any application that will run natively on a Linux system). With this type of shared application, one user can take control and edit a document in the world while others in proximity can watch. It is easy to pass control from one user to another. These applications, which were designed for single users, are handy for troubleshooting together in a terminal window, or working together on standard desktop applications like Open Office.

The second type of shared applications are multi-user 2D Java applications. Wonderland provides a framework for creating these applications to help developers build true collaboration-aware tools - ones designed from the outset with multiple users in mind. One example of a collaboration-aware application is the slide show viewer in which every person gets a copy of the slides. Users can then either synchronize with the presenter or navigate through the slides independently. Another example is the shared whiteboard. This allows multiple users to draw on the board at the same time. These applications not only have the advantage of being multi-user, but they also perform better because the code for each application runs on the client computer and only minimal amounts of data are shared through the server to synchronize the state.

Shared Terminal Virtual Phone and multiple 2D applications Multi-user Whiteboard

With most types of 2D applications, developers can enable drag-and-drop of content from the user's desktop into the Wonderland window. For example, users can drop any .png or .jpg image into Wonderland and see it displayed with an image viewer application. Users can also drag-and-drop web pages into the world and continue browsing in a multi-user context. Any .svg documents dropped into the world will automatically instantiate an in-world whiteboard for collaborative editing of the document. After editing, the whiteboard documents can be dragged back out onto the desktop for e-mailing to others or for editing with a different application.

Dragging and dropping an image from a web browser into a Wonderland world

The last type of shared applications are multi-user 3D Java applications. Packaged as modules, these applications can contain any combination of artwork and code. An example is the audio recorder mentioned above. This small application includes code for capturing, storing, and playing back audio. It also includes artwork for the recorder, complete with reels that spin when the recorder is on and 3D buttons for Record, Play, and Stop. Applications can be as small as the audio recorder, as large as a whole world, or somewhere in between. For example the Glasshouse world from Green Phosphor includes dynamically generated, interactive 3D graphs created from data stored in external corporate data warehouses, databases, or spreadsheets. While collaborating, users can highlight rows, columns or cells, and they can drill down into the data by generating sub-graphs. Music in Wonderland is an example of music exploration world created entirely programmatically. Album art from a music sharing web site is arrayed around a geodesic dome. The program defines the animation behavior that happens when a user clicks on an album cover and handles the dynamic streaming of the audio from the music web site.

Audio Recorder Glasshouse by Green Phosphor Music in Wonderland

The ability to mix and match these three types of applications within a Wonderland world enables developers to create rich, interactive collaborative experiences for distributed groups of users.


For more information see the Collaborative Environments home page or contact Nicole Yankelovich.


Technical Reports

  • MiRTLE: A Mixed Reality Teaching & Learning Environment
    By: Bernard Horan, Michael Gardner and John Scott
    Report Number: TR-2009-182
    May 28, 2009

    News

  • RezEd Podcast Episode 38 - A Discussion on Project Wonderland
    RezEd

  • Press Coverage of Project Wonderland
    java.net


    Team Members

    Nicole Yankelovich
    Jonathan Kaplan
    Nigel Simpson
    Jordan Slott