back

by lentil_soup·2y ago·view on hn ↗
Is there any decent replacement to this kind of thing? I quite enjoyed looking through my timeline reliving special days or holidays
3 comments
OwnTracks (https://owntracks.org/) seems quite well maintained, is FOSS, has iOS and Android clients and the server can be installed in one click if you're running Yunohost.
That looks like it'll either be much lower resolution than Google's timeline (manual or 15 minute checks) or will consume a lot more battery life than I'd be happy with (due to relying on GPS, turning it on for a location fix every minute).

Given wireless is turned on 24/7 for most people, it seems to me that a better method would be to cache APs that the user sees, so that if the same set of APs (or a significant subset there-of) are visible there is no need to ask for the GPS parts to be turned on. Obviously that is more work and there are some complexities to account for¹²³ but this is how Google's timeline uses little power. They have an centralised international database of AP locations (slurped while collecting images for Maps/Streetview and no doubt other sources) but that isn't really needed – you can just keep a list of APs seen recently and where on each users own device⁴.

It isn't something I'd have time or desire to develop. You'd have the faf of getting it approved in an appstore, dealing with supporting users that just don't understand, fun with some phones⁵ overly aggressively killing apps not matter what the user selects in order to make grandiose battery life claims (and users blaming that on your app), etc., but if someone else wants to (especially if it is an open source and/or stalking free app) feel free to take the idea, and I'll consider using your implementation!

---

[1] APs move or get renamed

[2] Assuming APs are identified by SSID there will be some names that are the same in multiple locations

[3] Some APs constantly move by design, i.e. those on public transport.

[4] Not having a central DB just means each device doesn't immediately benefit from the location cache avoiding GPS use when visiting a new area, but each device will quickly build a view of local APs for any area it enters.

[5] I'm looking at you, Xiaomi!

I actually set up my phone to turn GPS tracking on whenever not on Wi-Fi (using Tasker + GPSLogger [1]), specifically to get better precision in Location History, and it uses surprisingly little battery if you're sampling at moderate frequencies like once per 15 seconds. The screen is the big battery hog, and also the cell radio if you have bad reception.

[1] https://f-droid.org/en/packages/com.mendhak.gpslogger/

I use this too as I was trying to de-google myself. However, I hadn't stopped logging my location to Google since for the presentation of data I hadn't found an easy solution for. Do you view the GPS data from GPSLogger?
No, never. I only use GPSLogger to generate more frequent GPS points than Google Location Service would do by itself - it opportunistically uses all GPS requests made by apps on the system. You can also see this effect when using GPS navigation (in Google Maps, but also in other GPS apps): because they enable continuous (1Hz) GPS, the detail in tracks in Location History during your navigation app usage will be much better.

I have been thinking about how to replace Timeline for a while; the problem with most solutions is they don't do the snapping to semantic locations that Timeline does for you. And even if they did, an open source solution would probably have to snap to OSM POIs, which tend to be lower quality.

>That looks like it'll either be much lower resolution than Google's timeline (manual or 15 minute checks) or will consume a lot more battery life than I'd be happy with (due to relying on GPS, turning it on for a location fix every minute).

How does Google timeline achieve higher resolution with lower power consumption? Does it rely on special APIs or databases that other apps don't have access to?

As described in my last: they get a pretty good estimate from what APs you are close enough to see (the vast majority of users have wireless turned on 24/7, so this is not using power by needing extra hardware to be working). If your settings are such that it is able, it will occasionally get a more accurate fix using GPS.

> Does it rely on special APIs

No APIs that I know of. Just having the relevant permissions out-of-the-box, and perhaps (caveat: guessing here) having an exclusion from being blocked by aggressive power management tools (Xiaomi devices are notorious for breaking background apps in the name of battery conservation, and it works well enough on mine despite it occasionally killing the podcast app I'm actively listening to, despite all the relevant “don't kill this” options/permissions being set).

> or databases that other apps don't have access to?

They have a database of AP locations which their own services use: https://support.google.com/maps/answer/1725632?hl=en-GB

Thinking about it, if the standard location APIs give access to this information with the same granularity, then a tracking app wouldn't need to be especially bright itself.

Looks like it's fairly easy to import location history from Google, too: https://www.technowizardry.net/2024/01/migrating-from-google...
And if you don’t like the server software, there’s plenty that can also work with records from the OwnTracks client. E.g. I log my locations into Traccar (after a few years of using php-owntracks-recorder).
Yes, absolutely, especially now that any travel is at least five years prior I no longer necessarily remember exactly my favorite restaurants in Florence and Lyon :/
Possibly Ulogger, and its Nextcloud integration if you use Nextcloud. It's free software.