There are four distinct problems to solve*:
- Delivering the application
- Storing data
- Syncing data
- Third parties
- How do we efficiently cache enough of the pieces that make up a website for it to be useful offline?
- How do we guarantee that the browser won't delete them?
- How do we store content downloaded to or created on users' devices?
- How do we ensure the data on users' devices are kept in sync with content on the server?
- What if there are conflicts?
One of the great things about the web is how easy it is to bring multiple products, widgets and services together onto a single page.
Offline technologies have only just started to be developed - using them enable us to create incredible user experience that previously would have been impossible on the web - but, aslo by using them, you will discover many of the third party components you relied on to build websites don't work well offline.
Basically, nothing.
- For each tracking event Google Analytics will try to send a tracking event to the server.
- As the device is offline that tracking event will fail.
- Google Analytics will not retry or store that data locally for retry later.
- If you want to keep that data, you will have to implement the storing and resending of it yourself.
- Even, even if you did store that data and sent it later manually yourself, as the web requires your website to be open in order to make http requests that data might only be sent after a very long time after it was recorded - perhaps even weeks or months.
* Adapted from Caolan McMahon's presentation on the status of offline web