Towards Model-Based Design of

Context-Dependent Applications

Fabio Paternò

CNUCE - C.N.R.

ABSTRACT

The increasing penetration of mobile devices engenders the need for context-dependent applications. It becomes crucial to find methods that are able to design user interfaces taking into account not only the tasks users want to accomplish but also in which context such tasks will be performed. In this position statement I discuss a model-based approach to designing context-dependent applications

Keywords

Context. Model-Based Design. Integration of Task and Context Models.

INTRODUCTION

In Human-Computer Interaction a lot of work has been dedicated to find methods and techniques able to identify the more effective user interfaces to support user tasks. The advent of mobile devices, which are likely to increase over the coming years, raises specific issues with respect to traditional desktop applications: users can interact with the same application from very different contexts. Thus, always providing the same interface could be rather limiting from various perspectives:

  • the usability of the interface could be improved if it takes into account the current context (for example, in noisy environments the graphical media is more suitable than a vocal output);
  • some functionality can be context-dependent (which mainly means that some of them can be enabled, disabled or triggered depending on where the user is).

However, what is likely to happen is that people will still use desktop applications or other types of devices. Thus, the most realistic scenario is that people will work in heterogeneous environments with the ability to access the same application from a wide variety of possible devices ranging from cellular phones, PDAs, to large screens, all with Internet connections available. This implies that context-dependent applications will also be:

  • Adaptive applications, in order to better exploit the features of the devices available, the location from where they are used and the ability of the current user;
  • Cooperative applications, because whatever type of device is used, it will always be Internet-enabled thus allowing communication and cooperation with other users, but this cooperation will be adaptive with respect to the aspects mentioned before (location, device, user, ..).

For example, we can imagine an application supporting cooperation and interaction between salesmen and customers. Both are mobile users and want different interfaces depending on where they are. If they are both in their offices they want interfaces able to show detailed information about products and to support elaborated negotiations. If they both are travelling in a car, in a hurry to make it to an appointment, what they want is just a user interface able to support quick and essential interaction, putting off more detailed communication until a later time.

ENVIRONMENTS FOR DESIGNING AND DEVELOPING CONTEXT-DEPENDENT APPLICATIONS

If we consider researches on the development of context-dependent applications, we note that most of them provide specific answers for specific problems. There is a lack of more general approaches able to support designers in designing and developing context-dependent applications. One exception is the context toolkit [4].

The interactor model [2] is useful for analyzing and comparing toolkits for both desktop applications and for context-dependent applications. If we use this logical structure we can note that the main difference is what the input triggers and input data may be.

For example, while in toolkits for desktop applications the triggering events are mainly clicks, in context-dependent applications a specific position or a proximity to a specific object or person can trigger some functionality or a system reaction.

Most current user interfaces development environments assume that users will work in desktop environments. Model-based approaches [1] aim to facilitate the development of effective user interfaces by providing semi-automatic support for their design starting with logical, declarative specifications and arriving at the definition of a concrete user interface. The rise of mobile devices does not remove the need for such approaches but requires a thorough revision of how to obtain methods and tools able to generate effective user interfaces from logical descriptions of the activities to perform. Some work [5] has recently begun in this direction but we are far from identifying definitive solutions.

To this end, we have set out to develop a method that takes a cooperative task model and aims to identify user interfaces for the device currently in use. This requires a context template that provides the specific values for some important context-dependent aspects indicating where the user interface will be rendered.

Thus, we obtain a method that is mainly based on three steps:

  1. Identify activities to support and objects that these activities need to manipulate;
  2. Identify specific context of use;
  3. Generate effective user interface for supporting the activities in the specific context.

The context of use is defined in terms of a number of parameters such as:

  • Screen size; if it is limited then less tasks can be supported and the related interaction techniques should use the minimal space possible;
  • Multimodality supported; this is useful to try to understand how to allocate media to support tasks; if the screen is limited more tasks could be performed by voice/audio channels;
  • Position; many data could be provided taking into account the position of the user; for example, in a tourist application people want first to know what is closer to where they currently are. Some tasks could be enabled or disabled depending on where the user is.
  • Important items proximity. In this case it’s not the absolute position the important factor but whether or not the user is close to somebody or something that is still a mobile entity. For example, if the user is close to a certain bus he would like to see immediately the itinerary of that bus. Another example is an application that allows hiding some information presented on the screen when certain people are close to the user.

It is clear that the values of these parameters can vary over time and this may require changing dynamically the user interface as well. Then, the problem becomes to allow the user to understand the reasons of such changes [3] in order to avoid their disorientation.

CONCLUSIONS

In the position paper I have outlined some ideas for developing a model-based approach to the design and development of context-dependent applications. The increasing request of this type of application cannot be fully supported by current toolkits for user interface design and development.

A useful solution could be based on a set of rules that take into account the tasks that an application has to support and the dynamic context of use and prrovide suggestions for effective adaptive interfaces. In my group we have started to work on the design of two specific case studies (a ERP - Enterprise Resource Planning - application and a virtual museum application) following this approach.

REFERENCES

  1. F.Paternò, Model-based Design and Evaluation of Interactive Applications, Springer Verlag, November 1999
  2. F.Paterno', A Theory of User-Interaction Objects, in Journal of Visual Languages and Computing, Academic Press, Vol.5, N.3., pp.227-249.
  3. F.Paternò, C.Mancini "Effective Levels of Adaptation to Different Types of Users in Interactive Museum Systems", JASIS, Volume 51, Number 1.
  4. Salber, D., Dey, A., Abowd, G., “The Context Toolkit: Aiding the Development of Context-Enabled Applications, Proceedings CHI’99, pp. 434-441, ACM Press, 1999.
  5. Thevenin D., Coutaz J., “Plasticiy of User Interfaces: Framework and Research Agenda”, Proceedings INTERACT’99, pp. 110-117, IOS Press, 1999.