Bachelor of Science in Applied Computer Science

Free University of Bolzano (IT)

October 2007 - October 2010


Real-Time Context-Aware Recommendations for Mobile Users

The research project of this thesis comprises the design, implementation and test of a mobile user interface for a real-time, context-aware recommender system. The core recommendation techniques have been developed by the DIS group at the university of Bolzano within the ReRex research project. My task was to develop an iPhone application, which is able to connect to the ReRex recommendation service and deliver recommendations and their real-time updates to the users. We used a client-server architecture for implementing the system, i.e., the iPhone client that communicates with an XML webservice on the server. The two components are based on different software infrastructures: while the server component is based on Java and runs in an Apache Tomcat servlet container, the iPhone application is written in Objective C, using the Cocoa Touch framework.

Generally ReRex technology can be used for providing recommendations of every kind. In this project we collaborated with, a South-Tyrolean tourism portal provided by Sinfonet KGmbH and S├╝dtirol Marketing Gesellschaft KGmbH. They provided us a webservice from which we could access their data set of touristical points of interest. Using this data, we set up, configured and trained ReRex recommendation techniques. The ultimate goal of this thesis project was to understand whether the context can make the city guide more useful, i.e., if the availability of contextual information can influence the recommendation generation in a positive way, i.e., the users are more satisfied with the recommendations computed by the system taking into account the contextual factors.

A major challenge during the project has been represented by the user interface design. Designing a user interface for a mobile system requires to take into consideration various issues related to hardware limitation and the specific - mobile - context of usage. The interface should contain all intended functions, should be understandable, easy to use and as user friendly as possible. A usability test, conducted at the end of the development, showed that our application does not have any major usability problem and that the context management characteristic of our system improves the users' acceptance.

Read more: Download here