What does it mean to share a World?

I mplementing Cyberspace means creating interpersonal virtual environments from interoperable components. As a way of exploring what that might mean, consider the following scenario:

This scenario exposes the complexity of the "distribution" that must be managed to make immersive social applications possible. Virtual online communities will not be designed by single authors, they will not be constructed entirely in any one language, and they will not be under any one operator's control. Rather, they will have to support continual negotiations among objects created without any knowledge of each other, some of which will be "driven" (at times) by unpredictable humans, and the effects of multiple, independently authored, more or less arbitrarily interacting application programs.

Ten Technical Requirements

We can distill our scenario into a double handful of technical requirements that will have to be met by any interpersonal/interopable VRML environment. These include the ability to:

  1. Insert/Delete objects (e.g. avatars) in scenes at run-time
    (more generally: to modify the structure of the scene graph)
     
  2. Merge multiple sound streams from distributed sources into the
    shared scene's current ambient sound (e.g. voices over music)
     
  3. Track and communicate the state/behavior of objects in real time
    (this implies a database of "who needs to know what how often?")
     
  4. Allow (sets of) objects to be "driven" by users in real time
    (i.e. provide a UI as well as an API to runtime object control)
     
  5. Let imported objects become persistent
    (i.e. make them a permanent part of the scene)
     
  6. Protect the scene from damage by imported objects
    (ultimately, this implies the whole range of data-integrity issues)
     
  7. Assign objects to a series of different "owners"
    (to insure control over access to object behavior)
     
  8. Support persistent roles (for people) and rules (for scenes)
    (i.e. a use-model for scene/object access controls)
     
  9. Link objects dynamically to external data/functions
    (in particular, to support authentication certificates)
     
  10. Support the free exchange of information among objects
    (from chat and business cards to arbitrary data containers/streams).

The Living Worlds initiative aims to provide standard VRML interfaces to support all these features; the Open Community work proposes a data model and an API with which they might be implemented as a set of interoperable components.

- Bob Rockwell


© 2001 blaxxun interactive. All rights reserved.