Populated Information Terrains


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.


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.

qpit pic

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.

qpit pic

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.


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".

qpit pic qpit pic
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