Using Service Workers
Adding offline capabilities, background sync and push notifications to your web applications.
Technology level: experimental
Submit any issues or pull requests against the ck-service-workers repository.
Versioning information
Current as of July 2015, last significant update was 2015-07-13.
This content kit tracks the latest version of the service worker specification
and related specs, all code & demos include the required browser version/implementation.
This content kit is published under the Mozilla Public License, version 2.0.
About this content kit
Not all audiences are created equal - so not all presentations and workshops should be the same as well.
This content kit aims to be as modular as possible - consisting of several types of teaching resources to help presenters give talks, show slides and/or host workshops. When speakers know their audience beforehand, they could easily mix-and-match the different resources to create the most appropriate presentation for their audience, and also adapt to any time constraints or environmental limitations they might be subject to.
What should the presenter have?
- What hardware and software will the presenter need?
- Slide decks are in HTML5 format, should be presentable on a recent browser in all 3 mayor operating systems
- Speaker will need an entry-level PC (tablet should work fine also!) hooked up to a display/projector
- Workshop: participants should have a personal computer, preferably running Linux or OSX
- Network
- Most of the slides should work without internet connection.
- Embedded online content might be omitted (e.g. except external videos, tweets, etc.)
- Some small parts of the workshop might require internet connection
- What knowledge and background will the presenter most likely need?
- Basic knowledge of the web, web development should be sufficient
- For dive-in parts and worshops, basic JavaScript & Web Development skills
What should the audience have?
- What hardware and software will the audience need?
- Workshoppers will need:
- A PC to code on, preferably *nix based, like Mac OSX or Unix.
- Git, Node.js should be installed
- What knowledge and background is the audience recommended have?
- Basic web & technology skills for attendees at nontechical talks
- JavaScript (intermediate) and web developer skills (basic) for technical talks, workshops
- Clear understanding of closures, callbacks, promises to work with service worker code
Learning objectives
After you present or teach this content kit, your audience will know how to:
- A short 5 to 15 minute talk or intro composed of the content kit's intro modules is great for:
- Introducing service workers for non-technical audiences, share the vision/possibilities they enable in the future
- Demonstrate basic usage and show possibilities for technical audiences
- Teach service worker basics & intro to usage to audiences familiar with JavaScript-programming
- Deep-dive modules could be then used to elaborate on a subject matter like (for audiences familiar with code)
- Showcase possible service worker use cases
- Urge users to experiment with service workers
Link to materials
Resources overview
Supporting docs/references
Module sources
Presentation setup
Demos
- Link to demos
- Demo script:
- BPG to JPG image format converter/polyfill
- Source code
- Synchronous content-js BPG polyfill demo: test.html
- Transparent service-worker BPG polyfill demo: test-sw.html
- Troubleshooting:
- Something doesn't work in Firefox's service worker support? Try asking in #content on IRC.
- Something doesn't work in Chrome's service worker support? Try pinging Jake Archibald on twitter.
Active learning
Frequently asked questions (FAQs)
Refer to the FAQ section.
To add your own answers from your previous experiences, submit a pull request to the
FAQ.md file,
or ask your own questions in the issues section.