Recently I switched my Google Pixel 3a over to LineageOS, and it’s been a lovely experience. Seeing the best of what F-Droid has to offer while having a generally faster and less bloated system has been great. I still find it funny how Google refuse to let you un-install apps that don’t even work anymore, like Google Play Music. I used to love that service, uploading your own music and having it available everywhere, but that’s another story.

So I needed a good replacement for Google Maps. I could’ve kept using it, but.. eehh, I wanted to at least try the open-source options, and what better open-source option is there than OpenStreetMaps? I’d heard of OSM for years but never used it, and always doubted it’s quality, but uh.. oh wow, I was completely wrong. It’s got good info on paths, streets, bike routes, points-of-interest, a huge heap of data that can be downloaded and used offline, which was exactly my plan.

Now, there are a few apps you can use for navigation with OSM. You could use OrganicMaps, PocketMaps, etc. The most fully featured app by far, is OsmAnd for Android. It’s got a whole plugin system, trip recording, easy map downloading/updating, it’s the whole package and it’s free (if obtained by F-Droid).

There’s just one problem. It runs like garbage.

The map rendering is eternally slow. I know the Pixel 3a was never a high end phone, but there are times where I’m waiting well over a dozen seconds to see anything upon moving the map. I tried this out on a slower phone, and sometimes I wonder if the map is even rendering or not. The funny thing is I don’t know how they’ve managed this, as every other app I’ve tried that used OSM data is lightning fast and renders their maps instantly. So something with OsmAnd’s renderer is horrendously unoptimized, or there’s some weird bottleneck I’m not aware of. It’s a shame because thus far it’s the only application I’ve found that can do both trip recording, and navigation, both at the same time. Ideally I’d like to just use one app for both. There is Komoot which does both of these things extremely well, but it’s a paid option and only obtainable via the Play Store, so I’d like to avoid it if possible.

I recently tried it out on a bike ride after getting a new phone mount, and the performance is.. tolerable. On any zoom level it will render slightly out of view to help performance, but sometimes it’ll wipe the whole screen and redraw the map from scratch. Thankfully for the sake of navigation, even when none of the actual map is rendering, you still get directions and a line to follow upon an invisible grid. Something within the tile rendering code is lagging tremendously and unless I peeked into the source code, I have no idea why. It’s an absolute shame as I honestly believe it’s a great alternative to Google Maps, and might possibly have more fine-grained mapping information that only a local could add to it via the website.

Still though, if you can put up with some slightly laggy tile rendering, OsmAnd is a really good mapping app, and an honestly good replacement for Google’s mapping service. Just a massive shame the rendering engine has problems.