System Support for Rapid Prototyping of Collaborative Internet Information Systems
Michael Swaby, Peter Dew, David Morris and Gyuri Lajos
Centre for Virtual Working Environments, Internet Computing Group
School of Computer Studies, University of Leeds, LS2 9JT, UK
ms@scs.leeds.ac.uk
This work is investigating mechanisms for user centred design of internet-based collaborative information systems. Of key importance is the design of metaphors through which users interact with these information systems. This paper summarises progress with DiMe (Display Metaphor), an object-oriented scripting language for the automated creation of virtual working environments [Morris et al.1997]. DiMe enables modelling of user-to-user and user-to-system interaction within collaborative application scenarios. DiMe then supports the generation of Web user interfaces from these models, incorporating integrated access to domain information sources and groupware tools. We have found DiMe to be a useful design tool in developing prototype collaborative systems before crystallising a final implementation. The DiMe language is used to specify HTML and VRML user interfaces using a recursive container-component approach. Atomic 2D and 3D Web interface components (eg. a HTML heading or VRML sphere) are synthesised using inheritance and overriding to form increasingly complex compound metaphors(eg. a HTML page containing frames, forms etc. or a VRML office containing desks, chairs and other objects). The DiMe system architecture is shown in Figure 1. The architecture is based upon a standard 3-tier client-server model, consisting of information management, application and presentation layers. Each application user is assigned a personal DiMe interpreter and metaphor set. This enables interfaces to be customised for particular roles although many metaphors may, of course, be shared between roles.
DiMe integrates data access within metaphors by supporting query resolution via a runtime information manager. The information manager is responsible for federating underlying data sources into an entity-relationship graph that is made available to DiMe via a uniform interface. Metaphors may also trigger events within applications, e.g. execution of a groupware session upon selection of an object on a page or in a scene. A typical DiMe metaphor describes how to generate a particular user interface for an information (or application) object within a specified interaction style. For example, Figure 2 shows an officemetaphor used to provide an interface to a person information object within a 3Dinteraction style. Here, the $ token denotes information object access and the Actionsyntax denotes invocation of application operations (in this case, groupware tool execution).
Once a DiMe application has been constructed, it may be reconfigured rapidly by modifying the collection of DiMe metaphor scripts that define its user interfaces. Changes in the underlying information model can be accommodated dynamically by updating the information manager and recoding data access metaphors for those users affected by the change. DiMe has been used to produce prototype HTML and VRML Web interfaces for collaborative design and virtual consultancy scenarios. A library of several hundred re-usable DiMe metaphors has been built up through the development of such applications. Future work aims to develop a toolset around the DiMe architecture and metaphor library to provide a modelling and design environment for collaborative internet information systems.

user a
user b
user ..
Figure 1:
DiMe system architecture
define OfficeMetaphor
extends RoomMetaphor
used_to_display PersonObject
in_style 3D
set floor to_contain {
add desk1 as Desk(name=$user) at 2,3
add chair1 as Chair() at 3,3 }
set desk1 to_contain {
add tele1 as Telephone() at 0,0
Action select call $user audio
add video1 as Videophone() at 1,1
Action select call $user video }}

Figure 2:
DiMe metaphor example
ACKNOWLEDGEMENTS
The authors would like to thank Richard Drew, Neil Hunter, Diane Willows, Greg Platt, Thorsten Blaise and Rik Wade who have made valuable contributions. Michael Swaby would like to acknowledge support from EPSRC and BT Laboratories.
REFERENCES
Morris, D.T., Lajos, G., Dew, P.M., Drew, R.S. and Willows, D. (1997) DiMe: an
object oriented scripting language for the automatic creation of virtual
environments. In Proceedings of EurographicsUK Conference, April 1997.
