Olaf Noppens
Thorsten Liebig
Patrick Schmidt
Ulm University, Germany

Marko Luther
Matthias Wagner
DoCoMo Communications Laboratories Europe GmbH, Munich, Germany

With the appearance of a mobile Web in which everyday services are accessible from anywhere and anytime service provider have to meet the challenge neither to overwhelm nor to starve users with potential service offerings. We advocate that an informed choice of the right services will essentially depend on a semantical matching of individual user preferences against offered services. On network operator side our implemented solution consists of a discovery server utilizing ontology-based user preferences [1]. On the mobile client preferences and dislikes are specified with help of a SVG-based interface making use of elaborate features such as animation and zooming.
Within our framework preferences are expressed with respect to an underlying service ontology which semantically classify service instances with help of several categories. Preferences are expressed in terms of a relation over selected aspects from those categories with the semantics of considering some aspect superior to another (e.g. “I like A better than B”). Service discovery is then performed via a query which combines aspects of the same and/or different categories via operations known from preference algebra, such as pareto accumulation or preference prioritization. In case of an over specified query various relaxation strategies are applied to offer at least a set of next best matches.

Besides an elaborated service discovery mechanism a commonly accepted mobile application requires an apropriate user interface. This paper describes a novel interface using a graphical preference specification paradigm. Our mobile client application MobiXPL is a Java implementation and uses SVG for this purpose.

According to the preference driven discovery mechanism this front-end has to support the following main tasks:

  1. Configuration of available settings (strategy parameter, user presets, etc.)
  2. Browsing through the categories of the service ontology
  3. Selection of one or more aspects within different categories
  4. Incremental creation of potentially complex preferences over selected aspects
  5. Start of discovery process
  6. Selection of a service from the discovery result set

Within a typical work-flow a user sequentially executes these tasks in the given order but may jump from one task to any other at any time. Communication between the discovery server and MobiXPL is only required before task 1 (initial trasmittion of domain specific service ontology and user options) and in between task 5 and 6 (re-transmitting of preferences and receiving of best matching results).

Category browsingThe tasks 1, 5, and 6 are standard in the sense that they do not require a special user interface. Instead, users very likely expect to configure and start the server-side service discovery as any other application. Category browsing, aspect selection and preference building (tasks 2-4) demand for a more elaborated interface. In contrast to standard techniques such as selection lists, which typically require time consuming scrolling actions, we developed a graph-based graphical user interface with two-dimensional navigation. More precisely, we utilize SVG-Tiny (JSR-226) as an optional package within the J2ME framework. Almost all mobile phone manufacturers have announced to support this specification. In contrast to an alternative Flash approach, SVG is a platform-independent format with the advantage of being compact in file size and scalable without quality loss. Furthermore, within Flash it is difficult to implement a complex application logic due to its limited script-style programming API. MobiXPL has been developed using the Nokia emulators for S60/S40 devices. The Midlet has been successfully tested on real cell phones from different vendors such as the Nokia 6280 or Sony-Ericsson P990.

Preference buildingDuring browsing through the categories of the service ontology (task 2) the user can gradually expand or de-expand aspects. For instance, the first figure shows a partially expanded ontology for the program category within a radio stream discovery scenario. The user can navigate through the ontology with help of the direction keys, which allow to jump to aspects of the same depth (left and right keys), to move up the hierachy (up key), or to move down and potentially expand previously non-expanded levels (down key). As a consequence of the limited display space, focused aspects are automatically re-centered and the whole visualization can be zoomed and paned. All these interactions are smoothly animated in order to support the users orientation during naviation. Selection and de-selection (task 3) of an aspect is done by pressing the middle context-menu key.
After selection the user can switch into the preference aggregation mode (task 4). By default, all previously selected aspects are unbiased (i.e., considered as being equally important). In order to build a prefernce the user has to select the origin of the new preference relationship. In a second step, the user needs to select the target aspect of the preference. In the example depicted in second figure the user prefers Jazz music over HipHop but he is indifferent between Dance and Jazz music programs.


Mobile solutions, Location-based services


[1]  O. Noppens and M. Luther and T. Liebig and M. Wagner and M. Paolucci, Ontology-supported Preference Handling for Mobile Music Selection. Proc. of the Multidisciplinary Workshop on Advances in Preference Handling, Riva del Garda, Italy, 2006.