Traditionally, the development of virtual environments has been limited to particular technologies and the associated constraints on environment definition and interaction. However, with advances in both graphics hardware/software and the availability of new input/output devices, many of the restrictions on virtual environment development have been removed [10]. Rendering rates are now reaching acceptable levels on desktop machines, new interaction technologies are being enabled, both through physical devices e.g. Spaceballs and 3D position trackers, and logical metaphors e.g. cursor based flying [5], and high-level application programming interfaces, i.e. via toolkits like Manchester University’s MAVERIK [6], are being used in the virtual environment development process. As these technologies mature and become adopted in a wider range of applications, there is a need to understand how this technology can be accommodated in software engineering practice. Unfortunately, it is difficult to find reports that detail the process used to develop virtual environments, but given the maturity of the technology it would seem reasonable to suggest that prototyping and exploratory development play a significant role. Smith and Duke [11] observe that it is common for designers to move directly to working prototypes and use toolkit based development environments to test-bed ideas and customise the design and implementation of the virtual environment “on-thefly”. However, if or when the technology of virtual environments becomes adopted in mainstream software systems and products, exploratory approaches become rather less attractive. Software developers must be concerned with making use of the most appropriate technology in a way that meets the requirements of the client, including quality criteria such as usability, robustness, maintainability, error-tolerance, etc [12]. The designer’s concern is not so much with the physical devices such as headsets and data gloves that have come to characterise virtual environments, but rather with addressing the highly interactive and dynamic nature of user-system interaction that this technology supports. One ideal of virtual environment applications is to provide an environment where the user can interact freely with a 3D space and the entities within it. Virtual environments attempt to build on latent human knowledge by providing cues that reuse appropriate representations. The problem is that our mental representations come with other expectations as to how the environment may behave, expectations that are not necessarily met by a virtual environment. The technology to provide a level of realism close to a real world experience, somewhat akin to Star Trek: The Next Generation’s [8] vision of a “holodeck”, is currently in the realms of science fiction. To reproduce a real environment in every aspect would demand incredible computational and graphics performance [4]. It is likely to be some time before this level of performance becomes available. However, a step towards this goal is in reducing the limitations that are imposed by the humanmachine interface. This is an issue that has been extensively studied in the domain of human computer This work was supported in part by the UK EPSRC INQUISITIVE project, Grant GR/L53199.
[1]
Roy Kalawsky,et al.
The science of virtual reality and virtual environments - a technical, scientific and engineering reference on virtual environments
,
1993
.
[2]
Mieke Massink,et al.
Towards Hybrid Interface Specifications for Virtual Environments
,
1999,
DSV-IS.
[3]
Karen Holtzblatt,et al.
Contextual design
,
1997,
INTR.
[4]
David Harel,et al.
Statecharts: A Visual Formalism for Complex Systems
,
1987,
Sci. Comput. Program..
[5]
Mieke Massink,et al.
The Hybrid World of Virtual Environments
,
1999,
Comput. Graph. Forum.
[6]
Donald A. Norman,et al.
The invisible computer
,
1998
.
[7]
Shamus P. Smith,et al.
Virtual Environments as Hybrid Systems
,
2001
.
[8]
Shamus P. Smith,et al.
Binding Virtual Environments to Toolkit Capabilities
,
2000,
Comput. Graph. Forum.
[9]
Amnon Naamad,et al.
Statemate: a working environment for the development of complex reactive systems
,
1988,
ICSE '88.