Fantastic application! I have been using quite a few GPS loggers, and this easily beats them all: simple, straight to the job, low battery consumption, and the killer feature... works in suspended mode!

I have a few suggestions to improve it, and give it even more of an edge:


-1- smart mode

By this, I mean a way to reduce battery consumption further, by intelligently detecting when a new gps poll is required. I can think of 2 ways to achieve it:

* track the phone cells signals; not for triangulation, but only to get a rough idea of a location change since the last gps poll. If no movement is detected, I would suggest to either skip the gps poll until the next scheduled poll, or recheck again in a set interval.

* when polling gps, check current speed (and direction)? If movement is detected, faster than a configurable minimum (to account for gps innacuracy), then the next gps poll should be mandatory and override the cell tracking.


-2- autostart

Option to autostart the application with phone, with automatic logging. If the suggestion -1- is workable, and proves to reduce battery drain even more, there is no reason why we could not have the application always running in the background.


-3- minimum interval forced gps poll

The idea behind this, is to make sure the phone can (almost) always do a hot gps fix, by, for example, making sure we get a gps fix every 2h45m. This should override the poll skipping in smart mode. However, we have to be careful to use a different time interval from the regular polling: if I had my device to poll every min, I would not want to try to force the poll (indoor and unsuccessfull) after 3h, and then try again every min, therefore draining the battery. That means another time interval needed for repeat forced gps poll.


-4- give up

When there is no fix after a certain amount of time, it should give up, until the next attempt. Does it behave this way already?


-5- scheduler

For example, disable gps tracking at night. This could also be done by making the application respond to command line switches, such as "/suspend" and "/resume", and then use any favourite third party scheduler (eg: G-Profile), to control it.


-6- log last gps position in separate file

This could be used to develop further functionality, such as cell phone remote tracking, etc ... and allow other people to use it, taking advantage of the well designed, low power, gps tracking.


-7- separate the gui from the backend

If the application is really suitable for background running, it would be better to reduce it to the bare essentials, therefore minimising resource usage, and run it hidden. The configuration, future fancy front-end, scheduler, or 3rd party tool can then just run in the user space, only when needed.