UMN-LATIS / Camino

Create and share educational tours
https://camino.cla.umn.edu
1 stars 0 forks source link

Turn Camino into a PWA #327

Open jxjj opened 2 years ago

jxjj commented 2 years ago

For discussion:

It's likely that users may have limited connectivity on a Camino tour. Converting Camino to a full PWA would give these users a better experience.

For example, instead of caching some data with (blocking) LocalStorage or even (non-blocking) IndexedDB, we could adopt a more modern approach of using the Cache API (supported by all modern browsers) in service workers with something like WorkboxJS. My understanding is that other assets could be cached too (fonts, icons, images), and there are strategies for background updates, manifest generation, and versioning.

As the Cache API works at the request/response layer, it should be easier to incorporate into our app.

Thoughts?

cmcfadden commented 2 years ago

Have you found any good articles on the current state of PWA, especially on iOS? Does a PWA only count as a PWA if you've added it to your home screen using that widget in mobile safari? At one time, there were some capabilities that were only granted to websites in that case, so I'm not clear where the boundaries are these days.

cmcfadden commented 2 years ago

Other question - what's the current state of caching media assets? To me, there's not a ton of value of caching a few kilobytes of JSON if the client is still going back to the network to load an image when they get to stop 9.