Yesterday, Google announced their new API to allow third parties to access Latitude data. Up until now, too many companies have been implementing their own phone location tracking and as Google says…
"We’ve also learned that making your phone’s continuous location available in the background is tricky to do accurately and efficiently — just imagine your phone’s battery life if several apps were continuously getting your location in different ways? With this in mind, we built a free and open Latitude API that lets the third-party developers you choose start using your updated location in new ways without reinventing the wheel."
Therein lies the problem with background apps. If there are several of them then your Android bettery won’t last a day.
My personal experiences of implementing cross-platform apps that report into the server is that Symbian and BlackBerry are currently less punishing on battery life than Android. Once iPhone v4 devices (or firmware) ship we will see how proficient the iPhone is but I suspect it will have similar battery performance to Android.
Several years ago, Symbian and BlackBerry devices consumed significant battery power getting GPS position and reporting in to the server. However, over time, something changed that made this less battery hungry. I am not sure what this is. Maybe its better batteries, better hardware or maybe its better OS kernel software. I also wonder if Android/iPhone already contain these or similar power saving innovations.
As I wrote previously, what might be interesting is looking at aggregated communication schemes where multiple services share a push or pull message and the corresponding IP connection to the server. Obviously Google and Apple are well placed to do this where people subscribe to a multiple of their services or applications based on their technologies.