Skip to content

Precision Settings, Accuracy Filters, and Better Update Pausing #180

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

yniverz
Copy link

@yniverz yniverz commented Apr 10, 2025

Precision Settings, Accuracy Filters, and Better Update Pausing

These commits add a few features to further configure how and when the iPhone gathers location data. They also add a setting to activate precision sliders for some of the settings.

New Discard Constraint

A new setting Max Accuracy of Points does exactly what it says: it discards location updates if their accuracy is worse than the configured threshold, if activated.

Precision Setting

UISlider elements for the "Discard" settings can be activated using a toggle in the iOS Settings app. This will also hide the segmented control and add a number to the label above each slider to show the current setting.
The selection of the segmented control indices is updated as the numbers can now differ from the predefined values. These will be rounded down to the next available value if the user switches back to the segmented controls.

If Precise Settings is deactivated (default), the interface will revert to the original.

Precise settings activated and new settings
image

Force Pausing Location Updates

As visible in the screenshot, there are two more settings: Stop Updates if within Radius and Stop Updates After. These are part of a new feature that helps reduce battery usage while maintaining high update frequency during movement.

Working Principle

This works by defining an area around the last used location using a radius and time limit. If the user hasn't left the area within the time limit, location updates will stop entirely. However, "Significant Location Updates" will still be received.

This ensures that the app can still resume tracking even if it’s closed or in the background. One drawback is that significant location updates are sent somewhat arbitrarily once you start moving again, but based on experience, this usually happens after about 500 meters, and at most after around 1 kilometer.

Why Not Just Use the Regular Pause Updates?

Essentially, this feature works like “Pause Location Updates”, but with more control. The user no longer relies on the phone’s arbitrary decisions on when to pause updates, which wastes battery.
Just like with "Pause Location Updates" however, the documentation states that an update after a significant location change is not guaranteed, but from my own personal experience over the past year with this feature I have yet to experience this not working.

Good to Knows

  • These features are only available when Continuous Tracing Mode is set to “Both” to ensure that significant location updates are desired.
  • The Stop Updates After setting will be greyed out until the radius constraint is enabled.

All features have been personally tested and verified in a live environment.

Issues/Possible improvements

Currently the new stopping feature will behave unpredictably when "Pause Automatically" is activated, but deactivating it fixes that. Possibly implement logic that prevents activation of both at the same time.

@yniverz yniverz changed the title Precise Threshold Settings for discarding of points Precision Settings, Accuracy Filters, and Better Update Pausing Apr 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant