Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome, Safari or Firefox browser.

Making Offline Suck Less with Service Workers

Bret Little - https://blittle.github.io/blog - @little_bret
One of the main reasons native apps are often chosen over web apps is that the web totally sucks in providing a decent offline experience.
APP CACHE?
 
APP CACHE?
http://alistapart.com/article/application-cache-is-a-douchebag
Service Workers
A Service Worker is an independent but shared execution thread for all pages on your domain.
Requires SSL
Network proxy API which can intercept all http requests to the hosted domain.
Caching API for storing responses keyed by request
Native Promises!
Is it Ready?
https://jakearchibald.github.io/isserviceworkerready/
Service Workers Life-Cycle
Register a service worker within the main app thread
Worker thread installation
Worker thread activation
DEMO
Right-click page => inspect element
Service Worker Composer
https://github.com/blittle/service-composer
Other related specifications:
References and Additional Information:

Use a spacebar or arrow keys to navigate