Title: Sharing Viewpoints in Collaborative Virtual Environments
1Sharing Viewpoints in Collaborative Virtual
Environments
Steven Valin A thesis submitted to the Graduate
School - New Brunswick Rutgers, The State
University of New Jersey in partial fulfillment
of the requirements for the degree of Master of
Science Graduate Program in Electrical and
Computer Engineering and written under the
direction of Professor Ivan Marsic. May 1, 2000
2Abstract
This thesis explores to what degree shared
viewpoints in three-dimensional collaborative
virtual environments enable effective
collaboration. A lightweight Java-based tool for
creating collaborative virtual environments was
developed and used in the study. A series of
experiments were conducted to assess the
effectiveness of shared viewpoints on two simple
tasks. Control groups were provided with
telepointers. Experimental groups were provided
with telepointers and shared views. The results
indicate that for participants with access to
both tools, shared views are preferred over
telepointers for tasks involving joint
exploration of the environment or some object of
common interest.
3Preview
- Thesis objectives
- Related Work
- cWorld System
- Experiment
- Results
- Conclusions
- Future Work
4Thesis Objectives
- The goal of this research is two-fold
- To develop a lightweight, Java-based tool for
enabling multi-user, synchronous collaboration in
a 3D virtual environment. - To investigate the degree to which shared
viewpoints help enable effective collaboration in
3D virtual environments.
In this thesis we describe the system we have
implemented and the experiments we have performed
to assess user preference for single, shared
viewpoints over multiple independent viewpoints
when performing synchronous, collaborative tasks
in a 3D virtual environment.
5Related Work
- Much work has focused on developing the VR
metaphor to the point where it attempts to
completely mimic collaboration in real
environments 3,4,6,8 - MASSIVE, DIVE, VLNET
- Much attention has been paid to user embodiment
2,4,7,21 - Issues related to user embodiment, such as facial
expression and involuntary movement, require
expensive VR software and hardware - User embodiment and complete immersion in virtual
worlds may not be necessary for a variety of
collaborative tasks that can be performed in 3D
virtual environments - In fact, much success has been reported in
enabling effective collaboration where
participation in the collaboration required
little more than a PC and a network connection
6Related WorkTheatre in the Mill study 18
- Collaborative theatre set design using a 3D VRML
model of the Theatre in the Mill - Collaborative design was accomplished by passing
stewardship of the model among team members - System was designed to enable collaborative set
design, not immersive rehearsal - Authors point out that while such an option might
be desirable, it was deemed far too expensive for
most theatre groups - 3D model was designed to make sure that the
limited time in the actual Mill Theatre was used
effectively (i.e., for rehearsal and performances
rather than set design and redesign)
7Related WorkTheatre in the Mill study
- The study reported that the use of the VRML model
proved extremely valuable to traveling theater
companies - Set designers were able to view the performance
space and try out ideas before committing to
physical construction - Performers were able to familiarize themselves
with the sets beforehand - However, there were some shortcomings with the
model - Relatively simple interactions supported by
VRMLScript could not support large scale movement
of lighting rigs and scenery redesign, often
requiring a VRML developer to modify the model - Users had to take turns editing the model due to
lack of support for synchronous collaboration
among multiple users
8Related WorkMultiple Target Video study 9
- Researcher sought to understand the issues
related to enabling effective collaboration among
multiple users in media spaces - Researchers discovered that while their system
enabled subjects to collaborate successfully on
two tasks involving remote artifacts, many
limitations were uncovered - First, despite the use of four cameras per
office, the views provided were still not optimal
for the given tasks - Second, the different views provided by the
cameras caused problems in relating different
scenes to one another - Third, the system hindered the ability to direct
the attention of remote partners, interfering
with the establishment of a mutual orientation to
relevant objects. The authors point out that the
subjects seemed to want control over their
partners views
9Related WorkEstablishing Mutual Orientation in
Virtual Environments study 12
- Repeated basically the same experiments as in the
MTV study, but this time in a collaborative 3D
virtual environment - Explored the extent to which their system
provided participants with the ability to refer
to and discuss features of the virtual
environment - Found problems due to fragmented views of
embodiments in relation to shared objects, caused
in part by limited field-of-view (55o) - Observed difficulties experienced by participants
in understanding others perspectives - Participants had great difficulty in
understanding what others could see and expressed
a desire for being in the others position - Authors proposed improved representations of
others actions and adoption of a form of
target-based navigation that would provide users
with shortcuts for orienting towards targets
10Our Approach
- In order to address the issue of being in the
others position, we propose the use of shared
viewpoints - a form of guided navigation that
allows one or more users to attach their
viewpoints to another users viewpoint - Once attached to a shared viewpoint, any
participant may then transform that viewpoint - Provides a form of strict WYSIWIS 22 in 3D CVEs
when needed - Guided navigation has been explored in 25. Our
approach differs in several ways - Users in cWorld are not arranged in a hierarchy.
Once users agree to share viewpoints, anyone can
take the lead - Once in a shared viewpoint everyone sees exactly
the same thing, while in 25 users are pulled
along in the direction of the guides movement - Attachment to the shared viewpoint is a form of
target-based navigation as in 12 - When user accepts invitation to join a shared
viewpoint, his/her own viewpoint is immediately
transformed to be the same as the viewpoint of
the user that sent the invitation
11cWorld SystemBackground and Related Work
Distributed virtual reality systems may be
classified by how the data is exchanged between
machines participating in the session
- Centralized Systems
- Use Client-Server paradigm
- Require powerful server
- Suffer from scalability problems that introduce
latency - Community Place 15 and Active Worlds System 1
- Distributed Systems
- Eliminate server process
- Peer-to-Peer communication using multicast
networking - DIVE 5 and MASSIVE-2 11
12cWorld SystemBackground and Related Work
- Since the creation of VRML 1.0, there has been
much interest in using VRML to create multi-user,
shared virtual worlds - Current VRML standard does not offer any
constructs for direct multi-user support - Recent work has focused on adding support for
shared virtual worlds - VIRTUS 19, ToolSpace 10, and 5
- Basic approach is to add proprietary extensions
to VRML and a Java layer to enable multi-user,
synchronous collaboration
13cWorld System Our Approach
- 100 pure Java
- cWorld is developed as a Java Bean that uses the
Java3D to provide 3D graphics authoring and is
plugged into the DISCIPLE collaboration bus in
order to enable multi-user, synchronous
collaboration - Overcomes the limitations of VRML, while at the
same time supports the use of VRML objects - 100 Pure Java means code portability without
special plug-ins and easy integration with other
Java APIs, such as JTAPI and Java Speech
14cWorld System Java3D API
- Part of the Java Media family of APIs
- Java 2D, Java 3D, Java Speech, Java Telephony
- Java3D API is an application programming
interface used for writing stand-alone
three-dimensional graphics applications or
web-based applets - Provides several basic classes used to construct
and manipulate a scene graph, and to control
viewing and rendering - Scene graph contains a complete description of
the entire scene, or virtual universe, including
geometric data, attribute information, and the
viewing information needed to render the scene
from a particular view
15cWorld System Java3D Scene Graph
16cWorld System Java Beans API
- Java Beans API defines a software component model
for Java - Three most important features of a Java Bean
- Properties that it exposes
- Named attributes associated with a bean that can
be read or written by calling appropriate methods - Methods it allows other components to call
- Just normal Java methods that can be called from
other components - Events it fires
- A mechanism for propagating state change
notifications between a source object and one or
more listener objects - Simplest kind of bean nothing more than a Java
class that follows fairly strict naming
conventions for its event listeners and its
methods
17cWorld System DISCIPLE
- Mixture of Client-Server and Peer-to-Peer
architecture - Each user runs a copy of the collaboration client
and each client contains a copy of the
applications (Java components) that are the foci
of the collaboration - All copies of replicated applications are kept in
synchrony and activities occurring on any one of
them are reflected on the other copies - Set of participants is represented hierarchically
as an Organization, and they meet in Places. - Organizations and Places are abstractions
implemented as multicast groups
18cWorld System DISCIPLE
- DISCIPLE workspace is a shared container where
Java Beans can be loaded very much like Java
Applets downloaded to the web browser, with the
addition of group sharing - Collaborators import beans by drag-and-drop
manipulation into the workspace - The imported bean becomes a part of a multi-user
application and all participants can interact
with it
19cWorld System DISCIPLE High-Level Architecture
20cWorld System Event Interception and Symmetric
Distribution in DISCIPLE
Event generated in local bean is (instead of
being delivered to local listener) is (1)
intercepted by the event adapter and (2) sent to
the collaboration bus. The bus multicasts the
event to all the shared beans (remote and local)
(3). Each event adapter receives the multicast
event and delivers it to all listeners (4)
21cWorld System DISCIPLE Multi-Document Editor
Framework
22cWorld System cWorld Class Hierarchies and
Relationships
23cWorld System cWorld Bean
- Enables synchronous, collaborative, multi-user
authoring of 3D collaborative virtual
environments - Built as a Java Bean
- Uses DISCIPLE MDE Framework to provide
synchronous collaboration - Provides a graphical user interface to the Java3D
API - Uses Java2 SDK v1.3.0 RC1 and the Java3D 1.2 Beta
API OpenGL implementation - Does not require any special hardware and can be
operated using the keyboard and PC mouse - Also supports the use of the Magellan SPACE Mouse
to provide a more natural six-degrees of freedom
of movement for navigating the 3D space
24cWorld System cWorld Interfaces and Functionality
- cWorld provides support for adding and removing
primitive objects such as cubes, spheres, and
cones - Once objects are added to scene, they may be
translated, rotated, and stretched - Through the use of a property editor, object
properties such as color, shininess, highlight
color, and texture mappings may be edited - Support for ambient lights, point lights,
directional lights, and spot lights - Support for VRML objects
- Telepointers
- Shared Viewpoints
25cWorld System Primitive 3D Objects
- The following simple geometries are supported in
cWorld - Spheres
- Cylinders
- Cones
- Cubes
- Objects are added to the scene by a simple
point-and-click operation with the PC mouse - Objects may be translated, rotated, and stretched
- Appearances such as material color, shininess,
and texture mappings may be edited
26cWorld System Lights
- cWorld supports
- Ambient Lights
- Point Lights
- Directional Lights
- Spot Lights
- Location of light is indicated through the use of
a mnemonic device - Mnemonic device appears as a wire-frame primitive
object whose color indicates the color of the
light - Manipulating the orientation of the mnemonic
device sets the direction of the light - Light properties such as color and attenuation
may be edited
27cWorld System Property Editor
28cWorld System VRML Objects
29cWorld System Example CVE Created Using cWorld
30cWorld System Telepointers
- When invoked, a 3D arrow is drawn from the
position and orientation of the users viewpoint
31cWorld System Shared Views
- A form of both target-based navigation and
guided navigation
32Experiment
- Purpose
- To evaluate the effectiveness of shared
viewpoints in accomplishing collaborative tasks
in 3D virtual environments - Participants
- 30 participants ranging in age from 18 to 34,
with varying levels of experience with computers
and video games - Divided into two groups (Experimental group and
Control group). Further subdivided into teams of
three participants. - Control group teams were provided with
telepointers. Experimental group teams were
provided with telepointers and shared views - Procedure
- Task 1 - Room Orientation Task
- Task 2 - Room Design Task
- Task 3 - Whats different with this room? Task
33ExperimentTask 1 - Room Orientation Task
- The primary purpose of this task was to
familiarize participants with the Magellan SPACE
Mouse and the cWorld interfaces. - The task is as follows
- Each subject is seated at a workstation where a
cWorld session has been started. - A research team member instructs participants in
the use of cWorld and the Magellan SPACE Mouse.
This training includes moving in the environment,
adding and moving objects, using telepointers,
and using shared viewpoints (experimental group
only). - Next, the researcher instructs each participant
to place a furniture object at a particular
location. - After all participants have placed their object,
they are instructed to each take turns indicating
to the other participants which object they
placed using the telepointers and shared
viewpoints (experimental group only).
34ExperimentTask 2 - Room Design Task
- This task was designed to evaluate the degree to
which shared viewpoints may enable effective
collaboration in a 3D environment. - The task is as follows
- Three participants enter a cWorld space that
contains an empty (virtual) office. - Each participant is instructed to imagine that
they will all be moving into a shared office.
They each have a desk, a cabinet, and a bookcase
that they wish to move with them. They are
instructed to use cWorld as a tool to decide
where they would like to have the moving company
place their furniture when it is moved to their
new office. - Each participant is given their own set of
(virtual) office furniture that they are asked to
place in the room however they wish, without
breaking certain rules e.g., furniture cannot
block doors or windows, desks may not be stacked
on top of one another, etc.
35ExperimentTask 2 - Room Design Task
- The task was made more difficult by the fact the
furniture fits into the room in only a limited
number of configurations. - Thus, in order to accomplish the task, all users
must participate (they have their own furniture
to place) and all users must collaborate (since
it is unlikely that all of the furniture will fit
into the room on the first try). - There are also competitive components in task 2
- Users should want to place their own furniture in
prime locations (e.g., next to the window or away
form the door), and - they may want to finish first.
36ExperimentTask 3 - Whats different with this
room? Task
- The purpose of Task 3 was to compare the results
of task 2 with a task that appeared to be more
collaborative in nature and less competitive. - The task is as follows
- Participants are placed in a cWorld environment
that contains two rooms separated by a doorway.
The two rooms are almost identical except for
some minor differences in the way the furniture
was placed. One room is designated the model
room and the other is designated the working
room. - Participants are asked to identify and correct
the differences in the working room so that it
exactly resembled the model room. - In order to insure that the participants
collaborate (and do not just immediately correct
the imperfections that they themselves only see),
we instruct them to get agreement from the other
subjects before making any changes to the working
room.
37ExperimentTask 3 - Difference 1
Model Room
Working Room
38ExperimentTask 3 - Difference 2
Model Room
Working Room
39ExperimentTask 3 - Difference 3
Model Room
Working Room
40ResultsTask 2
41ResultsTask 3
42ResultsSelected participants opinions on the
usefulness of shared viewpoints
43ResultsSelected participants opinions on the
usefulness of telepointers
44Conclusions
- Sharing viewpoints helps enable effective
collaboration in 3D virtual environments - Shared viewpoints are preferred over telepointers
for tasks involving joint exploration of virtual
environments and objects of common interest - Participants in collaborative 3D virtual
environments desire at least some form of
peripheral monitoring of co-collaborators - Java3D and the DISCIPLE framework provided an
easy-to-use, scalable, efficient means for
enabling synchronous, multi-user collaboration in
three-dimensional collaborative virtual
environments
45Future Work
- Adding support in cWorld for persistent avatars.
- Users should be able to create their own avatars
using the cWorld toolset, and then have their
avatar attached to their viewing platform. Future
experiments could explore whether it is necessary
to provide pseudo-humanoid avatars, or whether
something as simple as a hand or a pointed-finger
may suffice. - Investigation into the use of 2D maps and radar
views for supporting peripheral awareness of
co-collaborator activities. - Adding support for smooth attachment to and
detachment from shared viewpoints. - Integrating functionality provided by other Java
Media APIs. - For instance, the Java Speech API could provide
voice command functionality for navigating the
cWorld environment and manipulating objects.
Also, telephony applications could be integrated
using the Java Telephony API.
46References
- 1. Active Worlds. Corporate web page
http//activeworlds.com. - 2. Benford, S., Bowers, J., Fahlen, L. E.,
Greenhalgh, C., and Snowdon, D. User embodiment
in collaborative virtual environments. In CHI 95
Proceedings, ACM Press, pp.242-249, 1995. - 3. Benford S., and Greenhalgh, C. MASSIVE A
collaborative virtual environment for
teleconferencing. ACM Transactions on
Computer-Human Interaction, 2(3)239-261,
September 1995. - 4. Capin, T. K., Pandzic, I. S., Thalmann, D.,
and Thalmann, N. M. Realistic avatars and
autonomous virtual humans in VLNET networked
virtual environments. Virtual Worlds on the
Internet, J. Vince and R. Earnshaw, eds., IEEE
Computer Society, Los Alamitos, pp.157-173, 1998. - 5. Carson, J. and Clark, A. Multicast Shared
Virtual Worlds Using VRML97. In Proceedings of
the 4th Symposium on the Virtual Reality Modeling
Language (VRML99), Paderborn, Germany, pp.
133-140, 1999. - 6. Carlsson, C., and Hagsand, O. DIVE a
multi-user virtual reality system. In IEEE
Virtual Reality Annual Symposium, pp. 394 400,
1993. - 7. Era, T., Kauppinen, K., Kivimäki, A., and
Robinson, M. Producing identity in collaborative
virtual environments. In Proceeding of the ACM
Symposium on Virtual Reality Software and
Technology (VRST98), Taipei, Taiwan, pp. 35-42,
November 1998.
47References
- 8. Frécon, E., and Nöu, A. A. Building
distributed virtual environments to support
collaborative work. In Proceeding of the ACM
Symposium on Virtual Reality Software and
Technology (VRST98), Taipei, Taiwan, pp.105-113,
November 1998. - 9. Gaver, W., Sellen, A., Heath, C., and Luff,
P. One is not enough Multiple views in a media
space. In Proceedings of INTERCHI 93, ACM, New
York, pp.335-341, April 1993. - 10. Goddard, T., and Sunderam, V. S. ToolSpace
Web based 3D collaboration. In Proceedings of the
4th Symposium on the Virtual Reality Modeling
Language (VRML99), Paderborn, Germany,
pp.161-165, 1999. - 11. Greenhalgh, C. Dynamic, embodied multicast
groups in MASSIVE-2. Technical Report
NOTTCS-TR-96-8, Technical Report Department of
Computer Science, The University of Nottingham,
1996. - 12. Hindmarsh, J., Fraser, M., Heath, C.,
Benford, S., and Greenhalagh, C. Fragmented
interaction Establishing mutual orientation in
virtual environments. In Proceedings of the ACM
1998 Conference on Computer-Supported Cooperative
Work (CSCW'98), Seattle, WA, pp.217-226, November
1998. - 13. IBM Theatre Projects, http//www.ibm.com/sfas
p/theatre.htm - 14. Krasner, G., Pope, S. A Cookbook for Using
the Model-View-Controller User Interface Paradigm
in Smalltalk-80. Journal of Object-Oriented
Programming, 1(3)26-49, August/September 1988.
48References
- 15. Lea, R., Honda, Y., Matsuda, K., and
Matsuda, S. Community place Architecture and
performance. In Proceedings of VRML 97, 1997. - 16. LogiCad3D GmbH, Magellan/SPACE Mouse,
http//www.logicad3d.com - 17. Luff, P., Heath, C., and Greatbatch, D.
Tasks-in-interaction Paper and screen based
doumentation in collaborative activity. In
Proceedings of the ACM 1992 Conference on
Computer-Supported Cooperative Work (CSCW'92),
Toronto, Canada, pp. 163-170, 1992. - 18. Palmer, I. J., and Reeve, C. M.
Collaborative theatre set design across networks.
In Virtual Worlds on the Internet, J. Vince and
R. Earnshaw, eds., IEEE Computer Society, Los
Alamitos, pp.253-261, 1998. - 19. Saar, K. VIRTUS A Collaborative Multi-User
Platform. In Proceedings of the 4th Symposium on
the Virtual Reality Modeling Language (VRML99),
Paderborn, Germany, pp.141-152, 1999. - 20. Singhal, S., and Zyda, M. Networked Virtual
Environments Design and Implementation. Addison
Wesley, New York, 1999. - 21. Snowdon, D., and Tromp, J. Virtual body
language Providing appropriate user interfaces
in collaborative virtual environments. In
Proceedings of the ACM Symposium on Virtual
Reality Software and Technology (VRST97),
pp.37-44, 1997.
49References
- 22. Stefik, M., Bobrow, D. G., Lanning, S., and
Tatar, D. WYSIWIS revised Early experiences
with multiuser interfaces. ACM Transactions on
Information Systems, 5(2)147-167, April 1987. - 23. Sun Microsystems, Inc. JavaBeans API
Specification, http//java.sun.com/beans/ - 24. Wang, W., Dorohonceanu, B., and Marsic, I.
Design of the DISCIPLE synchronous collaboration
framework. In Proc. of the 3rd IASTED
International Conference on Internet, Multimedia
Systems and Applications, Nassau, The Bahamas,
pp.316-324, October 1999. - 25. Wernert, E., and Hanson, A. A framework for
assisted exploration with collaboration. In
Proceedings of IEEE Visualization99, San
Francisco, October 1999