Portability of User Interfaces: "Writing it once" is not enough
Joëlle Coutaz
CLIPS-IMAG
BP 53, 38041 Grenoble Cedex 9,
France
http://iihm.imag.fr/coutaz
joelle.coutaz@imag.fr
The need for ubiquitous access to information processing, the success of new consumer devices such as pocket computers and wireless networks, the availability of large electronic boards as well as the development of immersive caves, offer new challenges to the software community of HCI. In particular, user interfaces need to accomodate the variability of a large set of interactional devices without leading to costly development efforts. For example, an electronic agenda should run both on a workstation and on a handheld computer without requiring a complete re- implementation of the design solution.
This talk discusses the plasticity of user interfaces, i.e., their capacity to withstand the variations of interactional devices while preserving usability and minimizing software development costs. Portability, which relies on software and hardware independence, is necessary but not sufficient. Virtual toolkits such as the Java machine, set the foundation for platform independent code-execution. They offer very limited mechanisms for the automatic reconfiguration of the user interface in response to the variation of interactional devices. All of the current tools for developing user interfaces have an implicit model of a single class of target computers. As a result, the rendering and responsiveness of a Java applet may be satisfactory on the developer's workstation but not easily usable for a remote Internet user. In addition, the maintenance and the iterative nature of the user interface development process make it difficult to maintain consistency among the code developed for multiple target computers.
In the absence of appropriate frameworks and software tools,"writing it once is not enough" . I will present the concept of abstract user interfaceas a meansof supporting plasticity for multi-target user interfaces. From an abstract device independent description of the user interface and a number of UI-related models (e.g., modality and I/O device model of the target computer, context model, user model), a concrete user interface can be generated automatically (or semi-automatically). I will use a real case study to illustrate the requirements for the definition of the abstract user interface and present our early results towards the goal"specify once, generate usable multiple times".
