Populated Information Terrains
Rationale
The concept of Populated Information Terrains (PITS) aims to extend
database technology with key ideas from the new fields of Virtual Reality
(VR) and Computer Supported Cooperative Work (CSCW). We define a PIT to be
a virtual data space that may be inhabited by multiple users. The
underlying philosophy of PITS is that they should support people in working
together within data as opposed to merely with data.
Our aim is therefore to explore this notion of PITS both as a means of
improving the way in which users browse and interact with data and also as
a means of actively supporting cooperative data sharing.
"Benediktine" Cyberspace and TripleSpace : In his work on the structure of
Cyberspace, Michael Benedikt argues that the attributes of an object may be
mapped onto extrinsic and intrinsic spatial dimensions. Extrinsic
dimensions specify location in space (e.g. x, y, z co-ordinates). Intrinsic
dimensions determine characteristics of the resulting point in space such
as colour, shape, size, spin, texture, vibration and sound quality. Using
Benedikt's approach, we might extend database schema notations to specify
which attributes map to which intrinsic and extrinsic dimensions. An
example of an early "Benediktine" cyberspace, TripleSpace, has already
been built on top of a triple store or binary relational database.
Q-PIT
We now describe the implementation of a prototypical PIT as a vehicle for
exploring some of the issues raised above. The current demonstrator, Q-PIT,
follows the "Benediktine" approach and has been implemented on a SUN 10
workstation using both the World ToolKit virtual reality library and the
DIVE (Distributed Interactive Virtual Environment) distributed multi-user
virtual reality system. We are currently implementing the other approaches
as preparation to a more formal evaluation of PITS). The software is
written in 'C' and runs under X-windows on the UNIX operating system.
Currently, Q-PIT can process a simple database containing a number of named
tuples, display them within a three dimensional space and then allow this
space to be shared and manipulated by multiple users.
Attribute Mapping and Schema in Q-PIT
Q-PIT maps tuples onto graphical objects according to an extended schema
notation. As an example, we will consider a database which contains tuples
representing people with the following domains: (name, age, gender,
location, occupation). For each domain in the database, we build and
maintain a list of values appearing within that domain. Each domain list is
then sorted into alphabetical order. An attribute mapping file might then
be created containing the following additional schema information:
extrinsic location x
extrinsic occupation y
extrinsic name z
intrinsic age spin_speed
intrinsic gender shape male cube female diamond
We can see the mappings from the attributes location, occupation and name
onto the extrinsic (x, y, z) axes. At the moment, these mappings are
linear, being based on the ordering of the domain list. So, for example, if
the name list is (Brian, Bruce, Steve...), then the tuples containing
"Bruce" as the value of their name field are mapped onto co-ordinate 2 of
the z axis. The intrinsic mappings currently supported are shape, height
and spin_speed. Current shapes include cubes, spheres, diamonds, pyramids,
cones, cylinders and hemispheres. We can associate a field and a field
value with a shape; this dictates the shape of the graphical object which
represents the tuple. In our simple example, we have associated the field
"gender" with the shape mappings, followed by a list of (field value,
shape) pairs. If a field value does not appear in the mapping, the shape
defaults to a cube. It is possible to have as many (field value, shape)
pairs as required, with duplication of shape mappings if necessary. If the
tuple has the value "male" for field "gender", then the matching graphical
object has a cube shape. Similarly, if the tuple is "female", the object is
diamond shaped.
Height dictates the height of an object, but we could,
for example, map age onto height; thus, the taller the object, the older it
is.
Data Manipulation in Q-PIT
Data may be manipulated in a number of ways. First, by selecting an object
via the mouse, the underlying tuple is displayed. Second, by issuing a
query, all objects "hit" are automatically selected and highlighted.
Thirdly, a user can update the values of the underlying tuple by engaging
in an interactive sequence of textual instructions. Once an update has been
completed, not only is the underlying tuple updated, but so is the
corresponding graphical object. This may entail alterations to both
intrinsic and extrinsic attributes, the latter taking the form of a smooth
animation of the object moving to the new position. We believe that the
display of smoothly animated changes in position as opposed to instant
repositioning to be particularly effective at providing people with
peripheral awareness of changes to nearby data. Lastly, again through
textual interaction, a brand new tuple can be added to the data. This is
matched by the creation of a new graphical object.
Populating Q-PIT
In the World Tool Kit implementation, a user is directly embodied as a
"monolith" (a large, thin cuboid). Associated with each user is a unique
colour, currently specified in their "user.profile" file. When two or more
users are sharing a Q-space (the space defined by a Q-PIT), they see the
others as differently coloured monoliths. In the DIVE implementation, a
user is represented by a DIVE "blockie".
Whenever a Q-PIT session is commenced, the users start in the same
location, but are subsequently allowed to change position freely and
independently of each other, so that everyone will eventually have a
distinct view of the shared Q-space. Users may either use a Spaceball (an
input device for movement with six degrees of freedom) or the more
conventional mouse to navigate. By selecting a monolith, a user can obtain
information about the other user. Direct communication currently has to be
achieved though external applications including text and audio
conferencing.
This simple visualisation of fellow users immediately provides an awareness
of presence which is not normally available in traditional databases.
Moreover, by their positioning within the Q-space, it is possible to
identify the areas or clusters of data in which other people are currently
interested. To provide awareness of activity, whenever the user selects an
object, the object changes to the selecting user's colour. This allows
other users to see what objects are currently in use and by whom.
Querying
The selecting the yellow "Query" box (shown in the pictures below) activates
the query mechanism. An X-Window pops up on the users display with an empty
record that can be "filled in" for a query. We have augmented the DIVE system
to allow simple access control, this allows us to control which objects users
can see and interact with. We use this in QPIT to allow users to submit private queries.
Objects hit from the query are shown with a wire-frame globe around them. This
view is UNIQUE for the user that sent the query. The pictures below illustrate
this - the blue user has selected all records that represent "males", the
purple user has selected the "female".
Lancaster Personnel:
Some publications:
Populated Information Terrains: supporting cooperative browsing of online information (CSCW/13/94),
A. Colebourne, J. Mariani, T. Rodden, M. Twidale, S. Benford#, R. Ingram# and D. Snowdon#
(# Department of Computer Science, University of Nottingham)
Populated Information Terrains: Virtual Environments for Sharing Data (CSCW/4/94),
J. Mariani and S. Benford* (* Nottingham University)
Populated Information Terrains: Virtual Environments for Data Sharing and Visualisation (CSCW/5/94),
J. Mariani and S. Benford* (* Nottingham University)
VR at Lancaster University
Last revision: 13th June 1995