2013/Hollywood/Persistent Location Tracking

From IndieWeb

People

Code

https://github.com/esripdx/Offline-Logger-iOS

This app logs locations and step counts from an iOS 7 device, and sends it periodically via a POST request to a URL you define.

A simple backend for this should accomplish the following:

  • Store the location and timestamp (and any other associated values like accuracy and speed)
  • Query by timestamp
  • Query by date range
  • Query by location
  • Location data should be returned with: latitude, longitude, timezone, locality, region and country

Looking up the timezone for a location is relatively easy. See the timezone example of Terraformer for a Node.js implementation, and a PHP implementation.

Unfortunately, building a reverse geocoder to convert latitude/longitude to a city/state/country is not trivial. It is definitely possible to run your own service for this. See OpenStreeMap's Nominatim. There are also a number of services available for doing reverse geocode queries, all with slightly different TOS and pricing.


Authentication

Currently only token-based authentication is possible by including a token in the config URL. rknLA is working on adding HMAC auth to the app so that if there is a secret provided in the setup URL, it will sign the requests so it can be verified on the server without requiring HTTPS.

Pull request adding HMAC support: https://github.com/esripdx/Offline-Logger-iOS/pull/2

See Also