upvote
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.

reply