Contextualizing Mobile Applications for Context-aware ... - CiteSeerX

17 downloads 92859 Views 290KB Size Report
Google Android [3], causes an overload on the end-users. ... e.g. on individuality, location, time, relations, and activity [4]. ... for the Android application store.
Contextualizing Mobile Applications for Context-aware Recommendation Matthias B¨ ohmer, Moritz Prinz, and Gernot Bauer M¨ unster University of Applied Sciences, D-48149 M¨ unster, Germany {matthias.boehmer,moritz.prinz,gernot.bauer}@fh-muenster.de

Abstract. Current recommender systems for mobile applications neglect the very mobility of their users and their perpetually changing contexts. Although applications naturally serve for a special purpose, they cannot be addressed to a particular context of use. Hitherto, context information is not taken into account for the recommendation of mobile applications. In this paper we present work in progress on a platform that gives rise to context-awareness for mobile application recommendation. It records the users’ application usage and relates it to context information that is traced on the users’ devices. Thereby we can determine the context of use of the applications. We describe the conceptual design of a recommender system that exploits this information and suggests only contextual relevant applications to its users. A prototype implementation is presented.

1

Introduction

With the advent of a new generation of mobile phones also the utilization of mobile applications has changed. While hitherto they have been built into devices by their manufacturers, nowadays the end-users themselves customize their devices with applications according to their needs. New ways for the distribution of applications have been established, so called application stores. The huge amount of available applications, i.e. more than 140,000 for the iPhone and 20,000 for Google Android [3], causes an overload on the end-users. To solve this issue applications have been classified into genres and recommender systems have been introduced to application stores [2]. However, current recommender systems for mobile applications underachieve since they neglect the very mobility of their users. Current systems solely exploit buying behavior and user ratings. Recommender systems should adapt to the user’s context to improve the ease of use. Thereby context can be defined as any piece of information that is relevant for a user’s interaction with the system [1], e.g. on individuality, location, time, relations, and activity [4]. For our notion of context we refer to the user’s activity. A developer is currently not able to specify the context of use of a new application, except language localization. We assume that by tracing in what context an application is used we can measure how relevant it is within this

context. Thereby, we can deduce the contextual relevance of an application by observing how often and how long it has been used in a certain context. This paper presents work in progress on a context-aware recommender system for the Android application store. It realizes the proposed approach of contextualizing mobile applications. After sketching some scenarios and analyzing the requirements, we present the conceptual design of our platform and a prototype implementation.

2

Scenarios and Requirements

The following scenarios shall illustrate our idea and state the case for contextualizing mobile applications. On current application stores a lot of applications are available which can be used to scan barcodes and receive information on products. Such applications can be used in different contexts, even if no barcodes are around. However, in particular they make sense when barcodes are present. Therefore, barcode scanners should be recommended especially in such contexts (e.g. in a shopping mall or a bookstore). There are also applications available to chase off mosquitoes by a high frequency sound. Those are certainly more relevant at times and locations when mosquitoes are bothersome (i.e. in sticky weather, in the afternoon, and near lakes). Also applications for the train schedule should especially be recommended to people who are at a train station, plan to go by train or are currently travelling. Since most applications serve for a special purpose, they are all designed for a certain context of use, which currently cannot be declared a priori. These scenarios result in three main requirements for our system: (1) it should be able to recommend applications tailored to a user’s context, (2) it should be able to observe what applications are used in a certain context, and (3) it needs to be able to reason about the user’s context.

3

Conceptual System Design

We designed a system consisting out of the following components: a logger for gathering context information and application usage, an inference engine to reason the user’s context and relate it with application usage and a mobile application that gives context-adaptive recommendations to the user. The logger is running on the mobile devices. It traces context information that can be gathered implicitly based on sensors that are available on nowadays devices (e.g. location, acceleration, and noise level). Further, this information can be enriched with external data, for instance by geographic information systems (e.g. detect if somebody is near a lake or inside a building), meteorological services (e.g. temperature) or social networking sites (e.g. detect nearby friends). The logger also records explicit context information that is announced by a user, e.g. a description of his current situation. Secondly, it also traces the application usage, i.e. when an application is installed, used or deleted.

The collected data serves as input for an inference engine. It should reason the different user contexts based on the given context information. In a second step, this unit correlates the application usage with the contexts. Thereby it can infer the relevance that an application has within a context and can extrapolate the context of use for each application. An adaptive mobile user interface provides the end-user with access to the recommendations. It periodically queries the inference engine for contextual relevant applications by using a service that can be parameterized with context information and returns a list of recommended applications. This user interface should be unobtrusive and the user should not notice a difference between installed and not installed applications.

4

Prototype Implementation

We implemented our approach for the Google Android platform as a prototype called appazaar. The Android platform provides APIs to access the required context information as well as the application usage. Our system consists of two components. The mobile application implements the logger and the recommendation interface. The logger is running as a service and keeps track of the location including its accuracy, the local time and speed. Furthermore it records the start time of applications and their corresponding runtime. To preserve power it only keeps track of applications while the device is not in standby mode. Since the user can only start or stop applications in active mode this is suitable. The user is able to start and stop the logger and share his usage statistics, as figure 1a shows. All data is stored in a local database and periodically committed to the server.

a)

b)

c)

Fig. 1. Screenshots of a) the view to control the logger, b) the widget that gives contextaware recommendations, and c) the view for the user’s input of context tags.

Figure 1b shows the user interface that visualizes the recommendations. It is realized as a widget that can be installed to the home screen of the device. It

refreshes when context information changes, e.g. location, or the device wakes up from standby. If a user clicks on an icon, the application either starts directly or invokes an installation routine on the Market Store. Applications can be identified by their unique package name. The user is also able to insert keywords to describe his current context, as shown in figure 1c. These context tags are used as explicit context information in our platform that allow the user to tailor the recommendation of the system. The mobile application communicates with the server via HTTP requests, mainly to upload the recorded data and receive recommendations. The server makes all incoming data persistent. This database is used by the inference engine that applies clustering algorithms working on the sensor data to reason the contexts. Currently, the inference engine uses location and time as context information and builds contexts independent from users. Therefore a user that has never been in a specific context before receives recommendations on what other users have used in a similar context before. Additionally, the server maintains meta information on the applications (e.g. application type, icon, title) and on the devices (e.g. version of operating system).

5

Conclusion

Hitherto, recommender systems for mobile applications underachieve. They do not make use of context information that is available on nowadays devices. Mobile applications are not addressed to a specific context of use a priori, thus by nature every application serves a special purpose. This paper proposed an approach for determining the context of use for mobile applications by observing the users’ application usage. We presented a recommender system for mobile applications that considers the user’s context. Our prototype, called appazaar, is currently available on the Android Market Store. By now, it has been installed by 122 users who have used 907 different applications. First self-initiated feedback is positive and the users, who are anonymous to our system, like the idea. One user also referred to the widget as a suitable “shortcut menu”. For the future we hope that the number of users will increase and enable us to apply algorithms that originally were designed to analyze large data sets to reason about the contexts. Our system serves as a testbed for further deploymentbased research. The Android platform also provides APIs to capture context information like the user’s calendar, contacts, messaging and the call log.

References 1. A. K. Dey. Understanding and using context. Pers. Ubi. Comput., 5(1):4–7, 2001. 2. ReadWriteWeb. Discovering great iphone apps: 5 recommendation services compared. http://tiny.cc/058FG, accessed January 31, 2010. 3. Wikipedia. List of digital distribution platforms for mobile devices. http://tiny.cc/CSsUg, accessed January 31, 2010. 4. A. Zimmermann, A. Lorenz, and R. Oppermann. An operational definition of context. In Proc. of CONTEXT ’07, pages 558–571, 2007.

Suggest Documents