Skip to content

Latest commit

 

History

History
42 lines (26 loc) · 1.89 KB

File metadata and controls

42 lines (26 loc) · 1.89 KB

How

There are four distinct problems to solve*:

  1. Delivering the application
  2. Storing data
  3. Syncing data
  4. Third parties

Delivering the application

  • 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?

Storing content

  • How do we store content downloaded to or created on users' devices?

Synchronizing content

  • How do we ensure the data on users' devices are kept in sync with content on the server?
  • What if there are conflicts?

Third parties

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, also by using them, you will discover many of the third party components you relied on to build websites don't work well offline.

What happens to Google Analytics data?

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

← Back to why | Continue to meet the dysfunctional family