3 ms·
Would you consider using cache storage for enabling offline capabilities? Maybe I am in the minority but I usually go to organic maps for offline usage.
by scanny 3mo ago
Would you consider using cache storage for enabling offline capabilities? Maybe I am in the minority but I usually go to organic maps for offline usage.
- maelito 3mo agoYes it's planned. Should work in theory, but no one tried before. Maps are so often done as native apps that to my knowledge no one tried to just use the PWA capabilities to cache tiles on the Web. Of course what's hard is cache invalidation. Does the user want to update the tiles ? Never ? Daily, weekly ? Only some regions ? Or manually ? Here's an issue about that : https://codeberg.org/cartes/web/issues/1078 https://codeberg.org/cartes/web/issues/1078 It's in French, unfortunately Codeberg has no auto-translate capabilities yet.
- bpev 3mo agoFWIW, I have an experimental open-source implementation of offline-capable PWA protomaps. Haven't advertised it much, because I haven't sorted out performance (particularly on mobile), and it's a bit buggy still. Also, don't have cache invalidation. But it does work. Usually. xD app: https://maps.bpev.me https://maps.bpev.me source: https://tangled.org/bpev.me/maps https://tangled.org/bpev.me/maps Based on results from indexeddb pmtiles work: https://github.com/jtbaker/pmtiles-offline https://github.com/jtbaker/pmtiles-offline https://github.com/protomaps/PMTiles/issues/395 https://github.com/protomaps/PMTiles/issues/395
- maelito 3mo agoAwesome, thanks for the links.
- maelito 3mo agoFunny : there's another Ben that did his "Ben maps". https://benmaps.fr https://benmaps.fr
- bpev 3mo agoWhat can I say? Bens like maps I guess.
- maelito 3mo agoDid you explore the solution of just caching the pmtiles requests responses as well, instead of IndexedDb ?
- bpev 3mo agoI didn't dig too deeply into it, because explicitly storing locally just gives a bit more control. Also, since I was kind of imitating the style of Organic Maps, I wanted to give the ability to download entire tiles. I view caching responses more like a performance enhancement, whereas I wanted explicit offline support.
- maelito 3mo agoThat makes sens. Both features combined would be cool. In any case, a cache invalidation feature should be always visible to the user, so that he knows that clicking this button will switch to online mode.