You are offline

TL;DR We added offline capabilities to the agenda page. Please keep an eye out for bugs.

There is so much going on during Codemotion: the streaming of the first two tracks, the Code Labs, and of course, the people — 2000 of them.

Your connection may not be great

The agenda for this year is the source of truth for Codemotion 2017. It displays up-to-the-minute information, supports filtering by technology and free text, collects feedback for the speakers and favorite talks that you want to attend. Starting this week, the agenda will also work while offline. Well, most of it.

There are many new features available when adding a ServiceWorker to a web page:

  • Performance gets better in general. All resources in the page (JS, CSS, HTML) are stored in the browser cache and retrieved from there without even going to the Internet. This also applies to JSON requests, which in our case may be retrieved from the Internet (network first) to use the latest version, or use the value from the cache in the meantime (stale while revalidate). You can check out our implementation for more details.
  • Install app on-the-fly: When accessing from your mobile device on Android, you should see a message about the instant app being available. You can also add a link on your home screen from the context menu in your browser.
  • Great browser support (well, getting there). You may see the latest update here, which at the time of this writing means present in Firefox and Chrome, and being implemented in Safari and Edge. Browser support image
  • Offline support. The agenda will work while offline. Voting, favorites and feedback will be disabled while offline (for now) but the rest should work as expected.

Where is the catch? Well, for starters it's easy to get something wrong, and bugs can end up with the agenda displaying outdated information or, worse, not displaying anything at all. These errors are often silent, and refreshing the browser won't help. Risky stuff.

For this, we need your help. We have tested this (like, a lot) but anything weird that you find would be useful feedback. New data not being displayed, errors while accessing content for the first time, avatars missing on screen.

Kudos to workbox for having implemented an amazing library that makes working with ServiceWorker so much easier, and Jake Archibald for the great ServiceWorker Cookbook. Without them all this work would have been much harder.