logoalt Hacker News

RetroTechietoday at 7:24 PM1 replyview on HN

There's no fundamental reason that underlying map data used by a good % of mapping apps, couldn't be stored 1x on-device, in some standard format and shared across apps.

Users could pick & choose what subset(s) of map data they want to store locally. Different apps could pick & choose what features to offer, how to use available data & how to render it.

Sad to see that such a conceptually simple problem hasn't been addressed yet. We're talking a good # of apps here, many millions of users, and enormous amounts of storage & bandwidth wasted.

Edit: I'm assuming that last bit is a problem for the app developers themselves, too.


Replies

palatatoday at 9:05 PM

Again, I don't think you understand how it works in detail, and you just assume from a high level that "it all looks the same, therefore it must be simple to make it all work together".

Some apps show raster tiles. Which means that if you want a different style, you just cannot share them. If you want the same style but you don't want to show exactly the same data, you can't share them. "Ok, you say, I personally don't care about raster tiles, I believe that everybody should be happy with vector tiles". That is wrong, but let's assume it.

Vector tiles are much more compact, but at the cost of the rendering engine: it has to read the information stored in some format and render the map according to different things like the style. How do you load the data to access it and rendering rapidly? Maybe you want to remove data so that it's more efficient and doesn't lag, or maybe you really want all that detail and more phones will lag when loading. Maybe you want to optimise the storage, so you remove the information you don't want to show, etc. Those requirements are incompatible, it's a tradeoff. Different apps choose different tradeoffs and therefore don't share resources.

Don't get me wrong: some apps could decide to share resources, and that would be fine. But it's not like all apps have the exact same needs and should obviously be sharing all that.

If you think that maps are "obvious" and a "conceptually simple problem", then you surely don't know much about what goes under the hood when you load a map in your phone. It's is actually quite complex.