WEB TECHNOLOGIES
ERCIM News No.41 - April 2000 [contents]

Separation of Concerns in Multimedia Services

by Olle Olsson


What can you do to make your customer feel good when (s)he accesses some service you offer via the web? A good approach is to personalize the service to his/her interests, and adapt the form of presentation and interaction to the situation at hand.

The ESPRIT project MAPPA (Multimedia Access through Persistent Personal Agents) is targeted on supporting multimedia-based services adapted to the individual user. The two-year project (running 1998 - 2000) is performed by a consortium of six partners, from Sweden, UK and Ireland.

The goal of the project is to develop technology and methods that enables adaptable systems to be built. Such systems offer personalized service access, based on the paradigm of a automated personal agent interacting with the user via multimedia assets. The personal agent is able to build and evolve a model of user preferences based on the user’s interactions. As the personal agent is persistent, it is able to track changes in user preferences over time.

The application goals are to provide services to registered customers to a vendor, support their explorations of available products and provide announcements of new products that match the interests of the customer.

The technical goals are to develop generic models of multimedia product presentations, of user preferences, and of the tasks that the personal agent can perform.

Part of the agenda of the project is to explore how customers can access the offered services via a range of devices and network technologies.

Individualized Services

The broadened acceptance of the World Wide Web as a medium for access to information and services has recently been accompanied by a growth in the spectrum of commercially available devices through which the web can be accessed. Service providers are becoming aware of the need to offer services that provide satisfaction to their users, and packaging these services in a way that makes them accessible on a wide range of access devices. The technologies range from public kiosks, desktop PCs and laptops, to palmtops and mobile phones; connected through broadband WANs, called-up connections, or wireless connections.

The emergence of XML offers relief in certain aspects; the markup languages used for information delivery can be handled within a common framework. But having a common basis for representation languages does not solve the real problem; how to optimally provide individualized services.

One of the aims of the MAPPA project is to explore ways of dynamically adapting user interaction to the context in which interaction occurs. The approach is to provide a clear separation between the semantics of the services and the way the services are presented when they are communicated across the web.

A second way of decomposing the problem is the separation of Multimedia asset representation of information from the tasks that the user performs on the basis of this information. The tasks correspond to what happens in the system when the user interacts with the multimedia assets. Information representation and presentation is basically what XML and other markup languages support. Support for tasks are typically provided through scripts embedded in the document itself, or via cgi-bin processing.

Individualised multimedia access depends heavily on dynamic adaptation at the user interface. Ideally, the full service implementation could be sent to the user’s access device, eg in the form of Java applets managing/controlling both the multimedia presentation and the actual service tasks. But this is in conflict with the desire to be able to support access from WAP-phones, as Java applets are not (yet) supported on such phones.

A goal pursued in this project is to enable service tasks to be automatically configured and distributed to the user’s access device. There are a number of constraining factors influencing this, eg what representation, presentation and execution resources are available in the access device? What communication resources are available? What behavioral patterns are expected of the user? ‘How do the tasks map to response-time priorities’? What are the sizes of the different kinds of data-sets that support the tasks and to what extent should data and task implementations be protected from exposure in the access device?

We have developed a set of models corresponding to different perspectives on an interactive service. These include domain models, view models, interaction models, presentation models, and action models. A representation of interactive access to a service is constructed by instantiating these models, adapting them to the constraints of the delivery environment, combining them to a complete models, and then producing a representation that can be transported to the client’s access device for execution.

Service tasks are classified into a set of categories, ranging from ‘interaction’ tasks (tasks that the user performs while exploring the information space and preparing his fundamental service request) to ‘service-effect’ tasks (tasks that involve effects/actions that take place in the service-provider’s environment). As an example from the application domain we are working in, typical interaction tasks are finding, inspecting, and evaluating available products, and composing the content of a ‘shopping cart’. All such interactions have no semantical persistent side effects in the vendors environment. The prototypical example of a service-effect task is submitting a request expressing that a specific set of products are to be shipped to the customer and payment drawn from his account. Obviously, service-effect tasks are extremely domain dependent, and are handled as wrapped components with a declarative description of their software interfaces. On the other hand, interaction tasks typically exhibit certain kinds of patterns, which makes it possible to model these in a semantically more meaningful way rather than programming them.

Interaction tasks are modeled declaratively, at a level of granularity that enables the desired service behavior to be achieved on the user’s access device. To each task there is an associated description of how this task relates to and has effects on the information model underlying the service. This description is expressed in a representation that can be transformed into a form that can be executed or interpreted in the presentation environment on the device used.

The structure of the information model maps to/from XML, which enables domain data and multimedia assets to be generated, operated on by generated/configured tasks, and presented using standard browsers. The delivery environments experimented with include standard web-browsers with HTML or XML capabilities and JavaScript or Java applet support, WAP-phones with WML and WMLScript, as well as an experimental Java-based presentation system using a flexible protocol for interacting with server-based functional components. An XSL-based transformation system has also been evaluated (Cocoon), to determine to what extent this type of standard support tools can be used for producing the actual representation.

The rapid evolution in commercially available access technologies that we see today, introduces problems that will persist for a long time. New technologies enable new patterns of behavior, which will change the expectations of users, and this will change the ways in which people actually will take advantage of the fact that they will be ‘continuously on-line’. Technologies and services should adapt to the user, not the other way around, and the user will expect the services to be more ‘intelligently interactive’. This will take us away from the old paradigm of the Web as a document presentation technology to the new paradigm of the network (whether wireless or not) being a platform for intelligent interactive distributed services. This means that we will need techniques and methods for smart dynamic distribution of a set of adapted tasks that together provide a set of services to the user.

Links:
Mappa website: http://www.sics.se/mappa

Please contact:
Olle Olsson - SICS
Tel: +46 8 633 15 19
E-mail: olleo@sics.se