Question: How often are GPS locations taken when tracking time with the mobile app?
Answer: We rely on the OS giving us the location points. Since we use 500 meters resolution, we don’t get the locations of the user continuously. Instead, the OS will give to us when it notices a significant amount of movement. We filter out the ones that are closer than 500m unless there hasn’t been a reading accepted in the last 5 minutes. This explains why there are instances where it may appear that you are missing locations for long periods of time (inside a building that blocks GPS, etc.) or why you may see a pin drop on the map that is not accurate (in a city, inside a building, etc). So you could have 1 location point (or maybe a handful) for several hours, if the user stayed in the same location. It wouldn’t make sense in that case to have 100+ location pins on the map, since the user barely moved. Maybe you were cleaning a house or working at a construction job site. If you’re driving you will get quite a few pin drops because you are moving over 500 meter more often. We focus on when big movements happen, not small ones. And at a 500 meters resolution we only drain the battery ~2%/hr. So it may not seem like a significant drain.
On android we should get an update at least every 5 minutes.
On iOS we can use deferred updates, which says send us changes in location once the total movement is > 3,000 meters or 5 minutes has elapsed, we cannot control the granularity of the locations in the deferred scenario, only how much total movement to queue up before sending us all the locations it collected.