Recent years have seen the introduction of many types of computers and devices. In order to perform their tasks, people now have available a wide variety of computational devices ranging from cellular telephones, personal digital assistants (PDA’s), to Internet enabled televisions (WebTV) and electronic whiteboards powered by high end desktop machines. Users wish to be able to seamlessly access information and services regardless of the device they are using, even when the system or the environment changes dynamically. To this end, computer-based applications need to run on a wide spectrum of devices, and should adapt like a chameleon to the changing context of use. For software developers, this introduces the difficult problems of constructing multiple versions of single applications and endowing these versions with the ability to dynamically respond to changes in context such as network connectivity, user location and ambient sound and lighting conditions.
CAMELEON will focus on variation in the interaction resources available to an application (e.g. basic platform capability, accessible display area, sound and tactile interaction channels and network bandwidth). These resources will vary according to the type of device on which the application runs, as well as the physical and environmental conditions.
current situation is that creating different versions of applications for
different devices engenders extra development, and maintenance costs and
complicates the problems
of configuration management. A proliferation of
versions dilutes the resources available for usability engineering, and requires
expensive maintenance of cross-platform consistency of the user interface.
Additionally, current software architectures and development tools give little
support for creating applications that change dynamically in response to changes
in their environment, or that must share data amongst heterogeneous device types.
CAMELEON's domain is located at the intersection between software engineering
and human-computer interaction. This implies attention to systematic methods to
support the design of usable systems, tools supporting such methods,
representations able to formalise the information that the methods require and
runtime techniques able to give implementation support.
Last updated: March 14th, 2002