Google navigates Latitude for iPhone around background limitsGoogle has released a web app version of Latitude for the iPhone, enabling users to both share their location with friends and view a live map showing their friends' location.
In announcing the new app on its mobile blog, Google made it clear that the iPhone version was limited by Apple's restrictions for third party apps in a number of respects.
First of all, the blog noted that Apple suggested that Google release Latitude as a web application rather than a native title in the App Store to avoid confusion with the Maps application. Apple may be planning to add Latitude location sharing features to Maps in the future, but of course has announced no plans to do so.
Background location reporting
The biggest limitation facing the new app, however, is Apple's prohibition against installing third party background apps. This prevents Google from constantly updating the user's location automatically unless the Latitude app is running in the foreground.
On other mobile platforms, including Google's Android, Blackberry, Symbian and Window Mobile, Google runs a Latitude service in the background. Google does not currently offer a native Palm Pre/WebOS version, and Pre users report that the web version targeted toward the iPhone does not currently work correctly on that device.
In order to conserve battery life on these platforms when running in the background, Google currently only uses cellular tower or WiFi triangulation and not GPS. It also adapts to lower battery levels by sampling the phone's location less frequency. Google also warns that backgroun location updating "uses lots of data," noting that "an unlimited data plan is strongly recommended."
Not being able to run location updates in the background defeats much of the utility of Latitude, which is expressly designed to keep an updated tab on friends' current location. However, if Apple were to grant Latitude the right to do this, it would also be pressed to allow similar friend-tracking services, such as Loopt, to do the same thing in order to avoid accusations of unfair competition.
Apple maintains stance on prohibiting background apps
Outside of location updates, there nearly as many other reasons for developers to want to install background processes as there are iPhone apps. Even installing a few of these would result in regular battery drain on users' devices, in addition to the performance hit each might add, not to mention a steep increase in data access which would be particularly bad for users who roam internationally.
So far, Apple has insisted that dropping the ban would result in unacceptable tradeoffs. Rather than exploring options to enable background processes, Apple has instead instituted a push notification system that allows developers to ping users when updated information is available, enabling users to launch the app in order to obtain the new information.
That solution doesn't solve the core problem for Latitude however, which would prefer to stay open in the background in order to send location updates rather to receive new data. However, Apple's own Find My iPhone tool already allows users to obtain a location fix on their own phone; Apple could enable users to authorize third party apps to obtain their location the same way. Doing so would still incur some new demands on battery, processing, and network data use.
There already have been demonstration mashup web apps that log into MobileMe and regularly request the given user's location. Were Apple to enable it, this facility could be used to allow users to regularly report their iPhone's location to services such as Latitude or Loopt. However, liberally sharing GPS location tracking is a sensitive area already limited by legislation, so any such system would require full disclosure and adequate security to prevent spyware or other legal liabilities from popping up.