OsmAnd’s Faster Offline Navigation (2025)
osmand.net
osmand.net
Anyone have any solutions to this?
This work has been slow to take off though as the OSM community has traditionally been stuck on time wasting debates about whether opening hours displayed on the wall of a shop are copyrighted (just the raw data, not a photo of their presentation), and debating the merits and pitfalls of armchair mapping vs. on-the-ground mapping. At least these historical roadblocks seem to now be mostly resolved.
For OsmAnd, you might be able to use the OBF import feature (see https://www.osmand.net/docs/user/personal/import-export/) to add the raw ATP dataset, or potentially other open data such as Overture Maps if that is more to your liking. Data is mostly sourced direct from brand websites, APIs, etc (as if you were using a storefinder map on their website).
In some cities osm data is far more accurate when t comes to opening hours or if a shop actually still exists compared to Google maps. However searching for them is a pain that one needs a bug improvement.
Since I can't rely on the search I usually try to find the poi category and click though the results,super markets,restaurants, pharmacy,atm etc works but so many cliks and caveats. Search needs massive improvement.
Absolutely. Improving this would be a great boost in usability.
I love OsmAnd and I've been using it ever since I've been using phones that can navigate. That's why I've acquired a lot of arcane knowledge on how to find places in the search function. But I could never explain to anyone what I am doing there.
It starts by the mere fact that entering a street name will always search around the current location, which is usually not where you are but the city where you last ran a lookup.
If you want to change the city, there is a tab for that. But consider using postal because sometimes the place's name may be different from what people call it. Sometimes, the same postal code appears multiple times with subsets of streets of the place. So you'll have to go for each one and look for your street. That just happened to be for Avignon (postal code 84000).
Another fun OsmAnd-introduced activity is semi-leaving German Autobahn main tracks onto the side tracks that can be used to drive off but also lead back onto the main track but with more crossing traffic. It just loves to do that.
None of such disadvantages outweigh the level of detail and possibilities in OsmAnd and further in OSM. I love knowing that I could use the same app if I once had to use a wheelchair. I love being able to add notes to a place and getting an E-Mail update months later that someone fixed an issue that I've reported.
And when I use Google Maps every once in a full moon, I run into weird little glitches that surprise me a lot because the one thing I'd expect from this marvel of our monopolistic dystopia is that it "just works" - but it really doesn't. Don't ask me what issues I ran into last time. I forgot and they've probably been replaced by more confusing ones by now :)
To set up archives of shop-specific pages (e.g. record of opening hours, address, etc at a point in time), one could monitor the latest builds of https://alltheplaces.xyz/builds.html and when a new build completes, take the new build and 2nd oldest build to compare differences. Then for any feature whose attributes have changed (address, phone number, opening hours, etc) archive the `website` and/or `source_uri` attribute pages again to ensure the latest snapshot is captured. Any new feature would get the same treatment so the page for the newly observed shop/feature is archived for the first time.
I'm also aware ArchiveTeam projects tend to commence once the impending collapse of a retail chain is known and someone realises there is a website not archived which would be useful to preserve. Monitoring of ATP feature counts for brands across time may give some hint of how a brand is performing and whether it is growing or shrinking without having to find press releases and financial statements of the brand. Even if a brand suddenly announces bankruptcy (it happens all the time), generally the website will remain online for at least a few months whilst a new buyer is sought or whilst each retail location has a fire sale to get rid of remaining merchandise. It's also worthwhile to be aware of acquisitions of retail chains as this often results in the new parent company changing websites soon after acquisition closes, possibly removing useful content that once existed. Websites also change "just because" and this could be observed after-the-fact by seeing when ATP spiders break and get replaced/fixed.
The Google Maps moat has always been its breadth of accurate, current business information. It is unfortunately the Yellow Pages of the Internet era.
Not trying to imply this about you in particular, just griping that the general lack of awareness about how to take advantage of what should be fundamental/foundational OS features means that whole apps get written to, in essence, duplicate those features.
This is what I do.
> but at that point I might as well just use Google maps.
I disagree. OSMAnd is so much more user-friendly as a map. Google Maps is a great business locator, but that's all it really does well.
Here's a comparison, albeit this uses openstreetmap.org rather than OSMAnd: https://i.xkqr.org/gmapsvsosm.png
I create an SQLite database of business street addresses using online Yellow Pages, e.g., yellowpages.com
I wrote a simple utility to extract the name, address, phone and URL data from the HTML and convert to SQL. I make the .db file and test it on a laptop
Then I copy the .db file to the phone and query using sqlite3 in Termux
I can then search and copy addresses into OsmAnd or Google Maps
No solution. I am a big fan of OSM, but modern maps are not about street namesabd building, but about POI. When you go/drive somewhere you are going to store/museum/pharmacy and so on. If this data isn't reliable it's useless. Additional information like phone number, working hours and website is next level which isn't achievable by OSM.
Whether it is present in any given area depends upon whether someone bothered to add it to OSM.
(I have an ongoing project attempting to make slightly easier to detect and add missing ones but it will be just tiny step forward, not solution)
They forked from Organic Maps project which seems to have gone evil.
CoMaps calculation is very fast, map update is constant, it is very lightweight, it has a very clean layout, usability is top tier. CoMaps can find places by the business name, there is still room for improvement but it works.
I was using EarthMagic before that, it was the perfect 10/10 opensource app until they went greedy, and the app now has tons of problems.
I went back to Sygic which is an awesome offline map app, I have a lifetime Premium licensing and as expected, now there is a Premium Plus license which some features were moved to like TTS and limited map update.
CoMaps also works really well with Android Auto and I am running GrapheneOS, it was actually somebody within GOS who recommended it to me.
CoMaps also display trains line, buses stops, public toilets, even motorcycle parking. If you are tired of dramas, give CoMaps a go.
CoMaps is available via Codeberg opensource alternative to GitHub and they are pretty active towards reporting issues.
Comaps seems to be more active than organic maps today
When you have an option like CoMaps that is opensource friendly and very active, I got 2 maps updates within like 2 weeks, you already lost it all.
What I am impressed with is the app, it is so clean, polished and well designed so is the map.
Stay tuned to CoMaps, we've been releasing two updates with maps per month lately and soon will be able to release maps as often as our servers will allow!
- the UI (pixels here, different label or color here - just check the commits by "Yannik Bloscheck"!)
- adding objects to the map, which are not often justified (like rendering single(!) trees and tree rows, which is from a performance POV insane)
- translations / strings
They rarely touch navigation, the engine, or sensible refactoring tasks.
The whole project lacks organization and clear, structured goals. Ever heard about too many cooks?
It was, especially to the agitators like Konstantin "Pastbin", more important to obtain increased authority and power and their own branfing, while complaining about financing and perceived transparency issues; this were huge contributing factors for the split.
I couldn't give a rats about how donations are spend or if there's a "community council" or a registered entity behind a tradematk / app, if the outcome / product is suitable.
What i care about is an organized vision and structured approach by founders.
PS: The CDN middleware ("map generator") was made closed source due to too many freeloaders hogging onto their map CDN. Get your facts straight.
The OM's map generator was made proprietary in order to hinder the right to fork and enforce vendor lock-in. Later, a proprietary "Data License" had been introduced for binary files (incl. maps) with the same goal - effectively one can't build/fork OM without these files anymore.
They all start "for the community", become too big, go greedy, and forget that projects/company is nothing without users.
It's been a while since I looked at OSRM's implementation, but I don't think they've been keeping up with the cutting edge here.
"This app finds missing map data in your vicinity and displays it on a map as quests. Solve each quest by visiting the location on-site and answering a simple question to update the map."
Available from f-droid.
I would at once get the 15-year XV plan if they got this, but perhaps it's at odds with their motto “Offline Maps and Navigation”?
(even if I personally could live with schedule-based routing, i.e. not real-time routing, at least for a while).
So trying to get anywhere, Google Maps would say "Walk 20 minutes to the nearest train station, take the train, walk 15 minutes to your final destination.". I had to trick it and say I want to depart 6 months in the future so it would show which tram/bus-lines I actually need, where I can go to the stop and take a chance that one would show up..
On that note, I should see how open data my municipal utility's EU-forced-outcrop of a "mobility" branch handles it's real time data, because I did notice (from ads in the busses at the doors where they put what are essentially D2C "press note"s) about a year or two ago that they started offering a mobile browser usable (without giving any permissions to the site, at least above default android Chrome) live position tracker for their bus fleet.
Could be useful to do some predictive modeling on it together with the schedule to enable streaming commands to one's earbuds (if one's just listening to music while on the way) about haste (/lack thereof)/catching a different station.
Like even just telling me if I catch the bus at the closer station when leaving home or if I should walk to the other branch line which is about a minute further to walk (and that entire minute is uphill) but has the bus scheduled to depart 3 minutes later. They connect shortly after at a transfer/crossover where the routes alternate between physically crossing and merely briefly meeting up at the same "named stop" with just two driveways separating the nominal positions at the sidewalk the busses park alongside to open their doors.
I don't have the mind to check that real-time position map for the duration of the shared walking path between home and the "fork in the road" where I have to choose between the two bus stops, while analyzing the moment on the map to identify if it's getting held up in traffic (shorter) or actually stopping at the stop it'd have to be at (AFAIK pretty much exactly) for me to not need to run (but only walk with purpose on my mind) to still catch it at the closer station. That's particularly relevant because leaving on time with margin for retying shoelaces or stuffing mail in a backpack and aim for the father station makes me catch the closer station exactly once it's a little bit delayed (on the order of 60~90 seconds).
I'd probably want it so I tap the phone to one out of a couple NFC tags in the hallway that tell my device what kind of thing I'm about to do; be that leaving for shortly or for longer (latter case it can also cut the heating until I give it an ETA of when I'll be back; due to good insulation the savings of less thermal flux due to less temperature Delta between inside and outside are not worth having to remember to give it an ETA to have it back up to temperature before I arrive).
Also, this piece:
> 100x speedup is achieved by comparing HH with bidirectional A*. 2-phase A* already uses many heuristics which don't always create an optimal route and still 5-10x slower.
So, 2-phase A* is 5-10x slower than bidirectional A*?
Routing type (Android) / Routing algorithm (iOS)
- A* 2-phase (Android) / A* (iOS)
- A classic* (Android) / Highway hierarchies (iOS)
- HH (Highway Hierarchies) x C++ (Android only)
Maps reliably does stupid things like route through winding residential streets because it thinks that's faster and can obviously be done at the full posted speed limit.
OsmAnd on the other hand builds routes I would build: get on the main road and get close, then get to the destination.
https://wiki.openstreetmap.org/wiki/Tag:access%3Ddestination
The map data is OpenStreetMap, so you can make edits via the standard OSM methods:
Google Maps for whatever reason routes like a residential street and turn can be negotiated at exactly the speed limit the whole way through.
If you want this obvious bug solved, you'll have to provide more info, such as
- what hardware is this on,
- what software version,
- what map version(s),
- an example route where you can reproduce it (even if that's "every route" for you, it might still be specific to your region of the world),
- which profile you have selected, assuming you haven't modified it (otherwise, export the profile so we can try it)...
I don't know how you're expecting HN to narrow down the issue from a mere "it's slow for me". You'll also have more luck in an OsmAnd community such as on https://telegram.me/OsmAndMaps or elsewhere. If you think it'll be reproducible, then the bug tracker would be the right place https://github.com/osmandapp/OsmAnd/issues
¹ maybe walking has to visit every alley and be slower if your profile modifications can't use the HH optimisation. You'll have to share details if you don't want people to have to make assumptions like this
OsmAnd merely makes use of the data from OSM.
https://wiki.openstreetmap.org/wiki/Key:area:highway#Routers
https://wiki.openstreetmap.org/wiki/Proposal:Area_highway/ma...