I have an app that runs on Windows Mobile and uses the GPS to update its location at various intervals. As expected, enabling the GPS chip uses more battery power. (no duh..)
So currently my technique has been to cycle the the GPS on/off at approx. every 4 minutes to acquire the location, do something if things changed, and update its location to the web only if necessary. Otherwise, shut it off again and wait.
On my one year old HTC Touch Diamond phone, with a fresh charge, leaving the screen ON (but dimmed), + WiFi, and doing nothing else but letting it sit there, I got a maximum of 6 hours from it.
This is "ok", but the usage of the GPS easily cuts an estimate of 2-4 hours of regular 'real-world' usage (YMMV).
The other option I've simply been thinking about is to have the web server instead signal the phone to update its location when needed, instead of the phone just doing it blindly.
That way, the phone only uses power to get a data connection and check the server. If the server tells it to update, only then does it turn on the GPS.
Except that the response time of that is much slower (I'm guesstimating), and if the phone is somewhere it can't readily get a stable update, then you won't even know its last location. At which point, you're stuck waiting.
I was hoping the phone could be more autonomous.
Is there possibly yet a better algorithm I could use to improve this setup?
Thanks.