The system architecture consists of a mobile client (PDA/smart phone plus a GPS receiver) and the YellowMap server. An application Elba GPS was implemented for each of the mobile clients (PocketPC iPAQ, Nokia 3650, Sony Ericsson P800) to intermediate between the client and the server. In a multitasking fashion, this application serves twofold: on one hand, to poll the mobile position of the user from the GPS receiver and to send it per GPRS over a TCP/IP socket connection to the server; and on the other hand, to run the browser application, which allows the users to interactively exploit the ELBA services. The technical challenge is how to communicate the X/Y coordinates to the server such that as few as possible GPRS traffic and hence costs occur. Two solutions were chosen for the Elba GPS application. For the Symbian devices (Nokia 3650 and Sony Ericsson P800), the user has to log first in the ELBA system from the Elba GPS application. A username and password were a priori created in myYellowMap and assigned to the user. By logging, the username and password are first validated by the server. When the user was correctly identified, it can further proceed.
Further on, the user is asked whether she/he would like to track her/his mobile position by the means of a GPS receiver. If yes, the user is automatically led to a list of available devices found in the Bluetooth neighbourhood, from which the GPS receiver should be chosen. Once selected, the connection to the GPS device is triggered. In the background, the task, which periodically polls the coordinates and sends them to the server, is started. In the foreground, the browser with the ELBA URL is started. Once the user was identified, any sending of the GPS coordinates from the Elba GPS client application are correspondingly stored on the server s.t. it can enable the location-based services for that user. More precisely, when the user actively checks this option in the browser, any further queries of the user are made based on the last transmitted coordinates from the client. An address with zip code, town, streetname, housenumber is thus no longer needed.
The advantage of this method is that the user is permanently identifiable, such that further advertisements in push manner or personalization activities are easily feasible. The drawback of the method is that there is periodically GPRS traffic between client and server. However, the user has the option of switching any time between tracking and non-tracking mode, in order to reduce the traffic and its costs.
A less expensive solution was implemented for the PocketPC iPAQ device. The user is identified first when entering ELBA in the browser and the GPS coordinates are periodically written as cookie data, instead of being immediately transmitted to the server. They are then automatically transported to the server during the HTTP session in which the browser application runs. In this way, no additional GPRS traffic to the one required by the browser incurs. Moreover, the communication is overtaken by the browser and hence independent of the APN (Access Point Name) used.
The reason for implementing a different technological solution for Symbian devices is that although cookies are supported by the standard browsers of Symbian phones, no support for programming them is available. That is why the solution with the TCP/IP connection between client and server was adopted to periodically send the coordinates to the server. However, programming data communication over GPRS in Symbian turned out not be an easy task. The TCP/IP connection was working in Germany with an WEB APN, but not in France. Since WAP APNs do however not support TCP/IP we decided to communicate the coordinates by making HTTP requests in WSP using the WAP stack of the mobile phone. The solution worked on Series 60 phones, but not on Symbian 7.0. Due to the introduction of the HTTP stack in Symbian 7.0, programming a HTTP client to make the HTTP requests in Symbian 7.0 was needed.
The lesson learnt is that networking in Symbian is not easy to programm. One has to deal with incomplete or still in development SDKs, lack of examples, support only through discussion forums and newsgroups, very small commonality between Series 60 and Symbian 7.0 SDKs, facts which make the development very awkward. In addition, one has to take also in account the different settings of WAP/WEB APNs.
Extensive tests also showed that using such an application requires experience with mobile phones.
The user must set her/his phone with the local WAP/WEB APN, the Bluetooth must be switched on, a Bluetooth USB adapter for the desktop computer is needed for the installation of the application, the user must be aware of how to switch between the browser and the ELBA application in order to activate/deactivate the GPS tracking. Finally, a proper functioning of the application requires stable GPRS and GPS signal.