Designing Usable Multi-Platform Interactive Applications
by Fabio Paternò and Carmen Santoro
Scientists at CNR propose a solution for the design and development of nomadic interactive applications, accessible through heterogeneous platforms and from different locations. This solution is supported by TERESA (Transformation Environment for inteRactivE Systems representAtions), a mixed-initiative tool supporting multiple transformations able to adapt the interactive part of an application according to the platforms employed.
A wide variety of new interactive platforms are now being offered on the market, ranging from small devices such as interactive watches to very large flat displays. This is changing the nature of many interactive applications, converting them to nomadic applications which need to support user access through different interactive devices, from various locations. Consequently, one fundamental issue is how to support software designers and developers in building such applications. In particular, there is a need for innovative methods and tools able to support the development of interactive software systems that can adapt to different targets while preserving usability.
In current practice the design of multi-platform applications is obtained through the development of several versions of the same application, one for each platform considered. Such versions can at most exchange data. This solution is somewhat limited because it implies high implementation and maintenance costs. Another solution proposed is the use of style sheets. Each platform is associated with a different set of stylesheets. Thus, the same elements are presented differently according to the type of platform available. This can be useful, but it is still insufficient; style sheets only help by trying to better support the same tasks through different platforms. However, this is not always meaningful because users often want to do different things according to the type of platform, and there may be dependencies among tasks performed through different platforms.
We have developed a solution for these thorny issues. Our approach can be summarised in four words: One Model, Many Interfaces. This means that we start with an abstract description of the activities to be supported and obtain different user interfaces for each available platform in order to support these activities. In particular, we start with a task model of a nomadic application, which describes the activities that should be supported in order to reach the users goals. Designers are able to create effective user interfaces for the various platforms considered through a number of transformations supported by our new tool TERESA (Transformation Environment for inteRactivE Systems representAtion).
This work is being carried out in the IST European CAMELEON Project. The objective of the project is to build methods and environments supporting the design and development of highly usable context-sensitive interactive software systems by providing the means to express context-dependent information and developing tools that support the use of the information contained in multiple logical representations.
Within the context of this project, the HIIS lab of ISTI-CNR has been developing TERESA, a publicly available tool. The aim is to support the design and development of nomadic applications. The method underlying TERESA is composed of a number of steps (see Figure) that allow designers to start with an idea of the overall task model of a nomadic application and then derive concrete and effective user interfaces for multiple devices through multiple levels of abstractions and related in-between transformations.
|The main phases of the method underlying TERESA.
A number of requirements have driven the design and development of TERESA:
- Mixed initiative, the tool is able to support different levels of automation ranging from completely automatic to highly interactive solutions where designers can customise or even radically change the solutions proposed by the tool. This is important to satisfy a variety of needs. Situations where the time available is short, the application domain is narrow, or the designer has no expertise call for completely automatic solutions. When designers are expert or the application domain is broad or has specific aspects, then more interactive environments are useful because they allow the designer to make important design decisions directly.
- Model-based, because the variety of platforms increasingly available can be better handled through multiple abstractions that provide designers with a logical view of the activities to support.
- XML-based, XML-based languages have been proposed for every type of domain. In the field of interactive systems there have been a few proposals that partially capture the key aspects to be addressed.
- Top-down, this approach is an example of forward engineering. Various abstraction levels are considered, and we support cases where designers have to start from scratch, first creating logical descriptions, and then moving on to more concrete representations until they reach the final system.
- Different entry-points, our approach aims at being comprehensive and supporting the entire task/platform taxonomy. However, there can be cases where only a part of the task or platform needs to be supported. For example, when only different devices (such as different brands of mobile phones) referring to the same type of platform are considered. In this case, there is no need for a nomadic task model, given that only one type of platform is involved.
- Web-oriented, due to the spreading use of the web, we decided that Web applications had to be our first target. However, the approach is also valid for generating user interfaces for other types of software environments, such as Java applications.
This approach has been applied to the development of a number of nomadic applications and has emerged as a promising and effective solution when addressing the problem of generating UIs for heterogeneous devices, capable of providing usable multimedia interfaces for a broader set of mobile devices, including vocal interaction techniques.
CAMELEON Project: http://giove.cnuce.cnr.it/cameleon.html
HIIS lab, ISTI-CNR: http://www.isti.cnr.it/ResearchUnits/Labs/hiis-lab/
Fabio Paternò, ISTI-CNR
Tel: +39 050 315 3066
Carmen Santoro, ISTI-CNR
Tel: +39 050 315 3053