A word document of this paper

advertisement
ToolSpace: Web Based 3D Collaboration
T. Goddard and V.S. Sunderam
VRML 99 Conference Proceedings pages 161-165
ToolSpace is a collaborative virtual environment (CVE) written in Java and VRML. The goal of
project is to create a common workspace where team members can interact “with shared objects
and applications in real time.” ToolSpace is also an interface application that provides a series of
“tools” for interaction with objects otherwise not available in standard VRML.
The software itself consists of three components: a client side visualization that runs on a
standard web browser with VRML plug-in, a server with any operating system that has a Java
Virtual Machine, and a set of Java classes for building all the application programs. The goals of
this project is to create a computing environment that is:
“multi-user collaborative,
distributed,
component and object based,
platform independent,
scalable with respect to computer hardware and input/output devices,
and three dimensional.”
Goddard and Sunderam see a great potential in CVE. Just recently though have 3D
environments become widely available to consumers and users. Therefore the transition from 2D
to 3D interaction and collaboration can now easily be made. There are also a wide range of
situations and applications that can take advantage of CVE. The authors site chemists working
with molecular models and architects working with buildings among many of the range of
potential uses for CVE. On a scalability level, a third dimension provides a much greater
opportunity for exploration and richness of information.
One of the first issues addressed by the paper is the human/computer interface of 3D spaces.
ToolSpace keeps the traditional input devices of keyboard and mouse but provides a “six degrees
of freedom” (6DOF) metaphor to make it more intuitive. While it is not clear what this is or how it
works, the action tool is referred to as a “virtual pointer.” Pointers can perform operations that are
standard in VRML interfaces as well as constrained movements such as moving along a line or
within a plane. Specialized ToolSpace can perform additional operations such as precisely
placing objects and non-spatial functions like copying and pasting objects.
Another key element included in ToolSpace is the use of avatars. This is an obvious inclusion for
the purposes of collaboration. Avatars give team members a passive knowledge of one-another.
In ToolSpace, users can change the property of their avatar to alert their team members of a
question they may have or for some other reason. Users can also share perspectives of their
avatars so that all the team members may see something as one does (What You See Is What I
See, or WYSIWIS).
Technology:
ToolSpace applications originate form a central server which runs Java applets to the clients.
The client using the space is updated by the server whenever a change occurs in the
environment, such as an object being moved or created. With a centralized system the server
can maintain “floor control” which is important for conflicting movements of objects by different
users. The paper also states that because the server is lightweight and written entirely in Java, it
can therefore be able to produce web pages on the fly with the necessary APPLET tag to embed
served applets. Other uses would include collision detection and scaling for increasing numbers
of observe-only participants.
The paper states the ToolSpace project is committed to using VRML as its 3D interface because
of its object format. Java is used to drive the VRML world via the EAI interface. The authors
mention that they tried using the script node in VRML but found it unreliable and awkward.
A challenge presented by this project is the technique of interaction with multiple users present.
At this writing, they had developed a couple of alignment tools for constrained movements. The
biggest hurdle was that ToolSpace could not use the client’s sensor offsets because with multiple
clients, every offset is different. Therefore, ToolSpace has to calculate these numbers itself. This
can be further complicated by in-lining files, who’s sensors overide the ToolSpace ones. The
authors were working to iron out these details.
The development environment for ToolSpace relies on the central server and a set use of specific
semantics to pull off the feat. It is a process that seems interesting but is a bit above my level of
understanding.
“ToolSpace fosters a particular type of software component called a “tool” or meta-interface. By
adding a layer of indirection between user and applications it becomes possible for more tasks to
share their user-interfaces. For instance, the act of setting the spatial position of an object is
common to a great many applications, but each one provides a different interface. By providing a
layer for such interfaces, the application developers task is simplified and the user’s choice is
increased.”
Personal Remarks:
As the authors admitted at the beginning of the paper, the goals of the ToolSpace project are
wide reaching. Consequently the depth of progress in any one area is shallow. There seems to
be many interesting features to the project, but it is hard to separate what is still an idea from has
actually been implemented. It is also unclear where the progress that has been made is headed.
There are nuggets of useful concepts to take away from this project but no real product or
example to look at.
Download