Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Â
FirefoxOS Meetup - Updates on Offline in HTML5 Web Apps
1. Updates on Offline
âMy AppCache wonât come backâ and
âServiceWorker Tricks for Cacheâ
Natasha Rooney
Web Technologist
GSM Association
@thisNatasha
1
2. 1 boring slide about me.
Aw, do we have to?
Yup! Itâs relevant (sorta)
2
http://www.w3.org/Mobile/IG/
@thisNatasha
3. 1 boring slide about me.
Aw, do we have to?
Yup! Itâs relevant (sorta)
2
http://www.w3.org/Mobile/IG/
Offline
Web Apps
@thisNatasha
6. totemo CONFUSING desu ne?
çŽăăăăăăă§ăăïŒ
3
App Cache
BRAND NEW cache
mechanism of wonder
which will answer all your
questions of lifeâs worries
and fulfill your every day
with the realisation of your
dreams of riches, love,
intelligence, regular full
nights of sleep and a real
life Jurassic Park...
New HTML5 APIs
@thisNatasha
11. Use Case mismatch lead to...
7
App Cache is a Douchebag Gotchas
1. Files always come from the App Cache, even if you are online
2. The App only updates if the manifest file changes
3. The App Cache is an additional cache, not an alternative one
4. Never future-cache the manifest
5. Non cached resources (e.g. images) will not load in a cached
page
6. No more conditional downloads, including responsive images
7. No idea how the fallback page works
8. Redirects to other domains are treated like failures
Source: http://alistapart.com/article/application-cache-is-a-douchebag
@thisNatasha
12. The moral of the story...
DO IT!
Shell
Javascript, CSS and HTML for the shell
â Fonts
â Sprites
â Splash screen images
(Guidance from FT Labs)
DONâT DO IT!
Content!
Disclaimer: Still a lot of opinions in this area!
8 @thisNatasha
25. ServiceWorker: RULES
16
Source: https://github.com/slightlyoff/ServiceWorker/blob/master/explainer.md
1. Documents and Service workers are BFFs
2. ServiceWorkers should be written to avoid holding global
state
3. New tab means same ServiceWorker
4. Version your ServiceWorkers!
5. ServiceWorkers cannot be served on CDNs
6. CORS
7. importScripts() that run before oninstall finishes will go in
browser cache
8. Use Cache-Control: no-cache or Cache-Control: private
@thisNatasha
26. The bits I REALLY like...
Some cool stuff about ServiceWorkers
â Fallbacks for fallbacks for fallbacks
â Itâs 100% or nothing
â âUser choosesâ or âdev choosesâ both OK!
â Work with Quota API
â Works with Installed Apps
What about Network Information APIs?
17 @thisNatasha
27. What we learnt...
Did we learn anything?!
- The W3C cares about mobile!
- Offline solutions are confusing
- App Cache was not fit for purpose
- Shell and Content
- Service Worker
Offline as a side effect
Promises
Bit of rule following
multi cache, multi fallback
18 @thisNatasha
28. Thanks!
19
Especially...
Alex Russell | Google
@slighltylate
Jake Archibald | Google
@jaffathecake
Jonas Sicking | Mozilla
@SickingJ
Jeremy Chone | Britesnow
@JeremyChone
@thisNatasha