The fast evolution of mobile phones in the last few years made it possible to develop new, interesting applications for these devices. Location Based Services and Social Networking Sites are two examples. Location Based Services leverage the positioning mechanism built into mobile phones in order to change their behavior based on the current location of the device. Social Networking Sites, originally accessible only through web browsers, let users connect and communicate online. Nowadays it is quite common for many smartphones to include client applications for the most well-known Social Networking Sites. In the past few years, many Social Networking Sites have been augmented with location aware services as well.
COPI (Context of Personal Interest), the system developed at the Department of Automation and Applied Informatics of the Budapest University of Technology and Economics, also combines both concepts. In addition to the basic social networking operations, like adding and accepting friends, a new set of services has been introduced, including location aware messaging and dynamic points of interest (POIs). The former makes the delivery of messages dependent on the position of the sender or the recipient, whilst the latter consists of the augmentation of the concept of traditional POIs with information, based on which those relevant to the actual context can be selected.
COPI is available for more mobile platforms. Client applications are currently being developed for Android, Java ME, Symbian and Maemo. This thesis focuses on the design issues and implementation process specific to Maemo 5 (Fremantle), which is the current version of the GNU/Linux based operating system running on a series of Mobile Computers and Internet Tablets produced by Nokia. The client discussed in the thesis is based on Qt, the cross-platform C++ framework recently acquired by Nokia and enhanced with mobile-specific services. The most important requirements set during design were the off-line usability of the client, acceptable responsiveness of the user interface and ease of maintenance of the codebase. The functionality and the performance of the client were tested on a Nokia N900 smartphone.