The advent of reasonably-priced GPS receivers has led to an upsurge of interest in "context-aware" systems, where services are delivered in response to a user's environmental context (e.g. location, time). This project was designed to provide initial investigative research into the capabilities of commercial GPS receivers, and their communication with computers to provide useful services.
A Java application (jGPS) has been developed which allows users with a commercial GPS receiver connected to the serial port of a PC to:
- determine his or her current position,
- present position information in text format and on a map,
- share location information with other users collaborating over a network,
- visualise positions in 3D and use 3D sound for localisation,
- display maps downloaded from the internet.
Both NMEA 0183 and Garmin Text format data can be read from the GPS receiver. The system makes use of a number of non-standard Java classes (Java2D, Java3D, JMS, J2EE, javax.comm).
It was not possible to implement collaboration over a network due to problems with invoking a J2EE application server on a remote host. The collaboration service was tested on the local machine using "virtual" collaborators generated in a test program.
The system was tested for accuracy and evaluated by eight users, with a high level of user satisfaction. A number of suggestions raised by the evaluators were implemented in the final version.
An experiment into the use of 3D sound as a location indicator showed that users could readily identify sounds from their left or right, but had difficulty localising sounds from front or back.
For ease of use the system should be ported to a handheld device. Future investigation could consider the use of internet-delivered or GIS maps and allow sharing of waypoint information from a database. It may even be possible to derive a local DGPS service, providing centimetre-scale navigational accuracy.