For an entirely other project, I was poring over all the SDK guides for Blackberry, and came across something really interesting. Under "Modes for getting GPS location information" (p.9 of the GPS and BlackBerry Maps Development Guide) they list three methods to get location data.
- "cell site" by which they seem to mean cell/sector/triangulation, as they mention signal strength. I should point out they mention another good point; aside from lower resolution this does not provide speed or route data.
- "autonomous" or standalone GPS only, with no network talking.
- "assisted" which uses both the mobile network and the GPS together. This is the cool one.
Both of these are significantly best-case. They assume you are within the same area as last time, so the GPS can use its almanac data. The receiver has to know roughly where to expect to find the satellites, or it has to start searching in wider areas, or wait to notice which satellites it can see, and figure it out. Or wait for new data to be sent down. If you moved a long ways (say, flew to another city) when you turn the device back on, it could take 5 to 15 minutes to get a fix.
(Yes, I left out timing, ephemera updates, and much more. It gets complex in a hurry, and this is basically correct.)
Now, imagine your device used an assisted mode all the time. Your user gets off the plane, and as soon as the device is on the network, a few seconds after power-on, it can use the basic location information to give the weather, set the clock and do a lot of other useful stuff relevant to their new location. Then, the GPS can be told to go look for satellites in this part of the world, and probably has them locked in by the time the rental car is being driven away, and detailed directions are needed. Personalized and transparently useful, like any mobile service ought to be.
This is what many phone devices have been doing for quite a while, powered by companies like SnapTrack; it's now embedded in some phone chip sets. All of this coolness comes with a cost: it's far easier for the operator to insert itself into the value chain; the system can be engineered to store the location data not on the device, but on the operator's servers. Then, all the sudden, location becomes something the operator tries to monetize.
The good news/bad news for third party developers is that there is a standard method for accessing location data in Java ME; you won't be able to do it from the browser (for a while yet). Not all devices have the location capabilities turned on in Java as it takes extra code that the device is unlikely to have unless it has GPS or A-GPS.
My red lights are flashing, so it seems I need to add a bit of a caveat to your post.
Assisted-GPS (AGPS) uses your mobile device’s *data connection* to acquire location information from a remote server source. While the amount of data usage is quite small (in the order of 10kB), this can still be expensive for many users – a month of usage of the GPS function with AGPS on a Nokia 6110 Navigator, for example, managed to rack up over $50 of data costs in a month (in a recent CNET review).
GPS and cell site methods are free, but be careful of switching on AGPS if you’re not on an unlimited, or generous, mobile data plan!
Oh, definitely. Most of the applications I’ve seen use data for other sources, so the AGPS overhead is not seen (most users of such apps have unlimited data plans).
It is a nasty trick for an application that does not act like it accesses the network. Shame on the designers of that!
File that under another thing that I seem to always forget about: I keep thinking everyone will have unlimited data, and therefore it should be used whenever possible.
With a la carte pricing, it would be nice if the user had to approve each use, or it could use another system (for location, maybe WAAS?) to get a similar improvement. But as Barbara said, I do hope that most users will also be getting maps, or other data and will loose the AGPS data charges in the shuffle.
Any reasonably informed user will probably be aware GPS is unrelated to the mobile phone network, and is free; calling location “GPS” all the time may not imply the full consequences of its use.
Combining the data sources would be a painful process…