Overview of JSR179
JSR179 defines a location API for the Java 2 Platform, Micro Edition (J2ME) and is intended to work with a variety of location sensing techniques like GPS, cellular network based methods, and short-range positioning methods like Bluetooth local positioning, etc. The implementation may combine different positioning methods to provide the optimal result.
The application can define criteria for selecting the location provider, and obtain the current location, or register an event listener to get a stream of periodic updates.
- Selection criteria based upon accuracy and desired features
- Numerical location in terms of latitude, longitude and altitude
- Course and speed
- Estimates of accuracy for the above
- Textual representation, e.g. street address
- Events indicating proximity to landmarks
- Optionally orientation as azimuth, pitch and roll
Security is handled as part of the J2ME framework, i.e. users give their consent when installing the application (is this correct?).
Exposing location to Web applications
JSR179 has an extensive set of features, and is probably much richer than is needed for most Web applications. With access to the Internet, rich Web applications can exploit Ajax to translate coordinates to textual formats, and to obtain information on landmarks, etc. However, with increasing interest in offline operation of web applications, it will be worth thinking about how additional features may be handled in both online and offline modes.
A major consideration for a Web interface is the means to handle access control decisions for applications downloaded from different websites, see trust models.