Offline-First

repo: pazguille/offline-first
category: Front-End Development related: Service Workers · Progressive Web Apps


Offline-First Awesome

Useful resources for creating Offline-First web apps

"Web" and "online" are two closely associated terms, downright synonymous to many people. So why on earth would we talk about "offline" web technologies, and what does the term even mean?

Inspired by the awesome list thing.

Table of Contents

W3C Specification

Offline Web Applications

This specification highlights features (SQL, offline application caching APIs as well as online/offline events, status, and the localStorage API) from HTML5 and provides brief tutorials on how these features might be used to create Web applications that work offline.

Service Workers

This specification describes a method that enables applications to take advantage of persistent background processing, including hooks to enable bootstrapping of web applications while offline.

IndexedDB

This specification defines APIs for a database of records holding simple values and hierarchical objects. Each record consists of a key and some value. Moreover, the database maintains indexes over records it stores. An application developer directly uses an API to locate records either by their key or by using an index. A query language can be layered on this API. An indexed database can be implemented using a persistent B-tree data structure.

Newsletter

The Offline First Reader. A monthly reader featuring all things Offline First, covering theory, technology and user experience for new offline use cases.

Posts

Design Patterns for Offline First Web Apps (Ravidu Perera - Sep 20, 2022)

Making PWAs work offline with Service workers (MDN - Sep 9, 2022)

Why Would a Web App Need Encryption-at-Rest? (Erik Hermansen - May 31, 2022)

Offline UX design guidelines (Mustafa Kurtuldu, Thomas Steiner - Jun 13, 2022)

How to design for slow networks and offline (Nick Babich - Feb 17, 2022)

Downsites of Offline First (Daniel Meyer - Oct 3, 2021)

About Offline First (Daniel Meyer - Oct 1, 2021)

Create an offline fallback page (Thomas Steiner, Pete LePage - Sep 24, 2020)

A Design Guide for Building Offline First Apps (Gautam BT - Feb 13, 2020)

The challenges of making a true Offline First app (Julius Huijnk - Jun 4, 2019)

Accessibility Testing for Offline First Applications (Maureen McElaney - Nov 6, 2017)

How to add an “Offline” notification to your PWA (Tyler Argo - Oct 28, 2017)

Building Offline-First App using MVVM, RxJava, Room and Priority Job Queue (James Shvarts - Oct 8, 2017)

Supporting Offline Users — What Happens When it Breaks? (John Kleinschmidt - Sep 27, 2017)

Using React and Preact to Build My First Offline First Apps (Nick Kasten - Sep 5, 2017)

Offline-Friendly Forms (Max Böck - Aug 23, 2017)

Service Worker: One fallback offline image for any aspect ratio (Sebastian Eberlein - Aug 14, 2017)

You're Offline (Max Böck - Jul 12, 2017)

[Part 2] Get rapid offline capability in your Angular app with service worker (Hugo Dolan - Jun 28, 2017)

Persistent Storage API: Building for the offline web (Dean Hume - Jun 26, 2017)

[Part 1] Get rapid offline capability in your Angular app with service worker (Hugo Dolan - Jun 21, 2017)

Building an offline Web App that works in very low internet conditions using ServiceWorkers (Hari krishna - Jun 16, 2017)

Offline POSTs in Progressive Web Apps (Nitish Thakur - Jun 23, 2017)

Offline First Design Patterns : Engineering (Anirudha Bedre - Mar 28, 2017)

Introducing Redux Offline: Offline-First Architecture for Progressive Web Applications and React Native (Jani Eväkallio - Mar 28, 2017)

Rethinking Offline First sync for Service Workers (Nolan Lawson - Mar 16, 2017)

Offline support: "Try again, later", no more. (Yonatan V. Levin - Mar 2, 2017)

Optimize with HTTP/2 Server Push and Service Workers! (Daniela Matos de Carvalho - Mar 1, 2017)

Understand offline first and offline last in Android (Florent Guillemot - Feb 27, 2017)

Why Offline First? (Zachary Smith - Feb 22, 2017)

Send messages when you’re back online with Service Workers and Background Sync (Phil Nash - Feb 17, 2017)

Easy Offline First Apps With Webpack's Offline Plugin (Kay Plößer - Feb 12, 2017)

Offline First React Native + Meteor Apps (Spencer Carli - Feb 8, 2017)

Offline-First Web Application Using Redux and PouchDB (Berkay Aydın - Jan 30, 2017)

Implementing "Save For Offline" with Service Workers. (Una Kravets - Jan 26, 2017)

Moving beyond localStorage (Mo Bitar - Jan 17, 2017)

How much data should my Service Worker put upfront in the offline cache? (Nicolas Hoizey- Jan 12, 2017)

Making Resilient Web Design work offline (Jeremy Keith - Jan 11, 2017)

Using Service Workers and Cache to Take Web Performance to a New Level (Chris Love - Dec 23, 2016)

Faking progress (service worker edition) (Remy Sharp - Dec 22, 2016)

Introduction to Progressive Web Apps (Offline First) (Prosper Otemuyiwa - Dec 19, 2016)

Won’t Get Fooled Again: Lessons in Lie-Fi (Ricardo Ferreira - Dec 15, 2016)

Designing for Accidental Disconnects: Our first attempt at an offline approach (Vivian Cromwell - Dec 14, 2016)

Offline Patterns: There are many jobs to be done (Steve Trevathan - Dec 13, 2016)

Writing offline web apps is easy (Ali Afshar - Dec 9, 2016)

Architecting a web app to “just work” offline (Islam Sharabash - Dec 6, 2016)

Offline App Architecture: how to build for the next billion (Arun Sasidharan - Dec 4, 2016)

Cross-origin Service Workers: Experimenting with Foreign Fetch (Jeff Posnick - Dec 2016)

Service Worker, what are you? (Mariko Kosaka - Dec 1, 2016)

Designed to be offline-first (Arjun Attam - Nov 29, 2016)

Hack Time: Service Workers, Background Sync, and PouchDB (John Kleinschmidt - Nov 29, 2016)

Offline UX Considerations (Mustafa Kurtuldu - 2016)

Storing Sensitive Data Offline (Paul Frazee - Nov 17, 2016)

Building Offline First React Native Apps (Spencer Carli - Nov 16, 2016)

Building a simple offline-capable Notepad app using ServiceWorker (Amit Merchant - Nov 15, 2016)

Instant Loading Web Apps with an Application Shell Architecture by Google (Addy Osmani & Matt Gaunt - 2016)

My biggest takeaway from the second Offline Camp in Santa Margarita, CA — plus toast! (J. Renée Beach - Nov 8, 2016)

The offline experience in 2016 (Lio Fleishman - Oct 27, 2016)

I Was Wrong About Offline (Tiago Simões - Oct 20, 2016)

Offline strategies come to the Service Worker Cookbook (Salva - Oct 19, 2016)

"Instant Loading" with IndexedDB (Building a PWA, Part 2) (Ire Aderinokun - Oct 18, 2016)

The Service Worker Lifecycle (Jake Archibald - Oct 13, 2016)

"Offline First" with Service Worker (Building a PWA, Part 1) (Ire Aderinokun - Oct 11, 2016)

Do you need Service Worker in your web app? (Valerii Iatsko - Oct 9, 2016)

Progressive Web Apps with React.js: Part 3 — Offline support and network resilience (Addy Osmani - Oct 5, 2016)

Offline Reading List (Chris Ruppel - Oct 5, 2016)

Almost any web page can work offline (Homam Hosseini - Sep 24, 2016)

Enabling Offline First Experiences on the Web with Service Workers (Dan Zajdband - Sep 12, 2016)

Build More Reliable Web Apps with Offline (Pedro Teixeira - Sep 7, 2016)

Songsearch – using ServiceWorker to make a 4 MB CSV easily searchable in a browser (Christian Heilmann - Aug 26, 2016)

Offline Storage for Progressive Web Apps (Addy Osmani - Aug 15, 2016)

Add offline support to any Web app (Wassim Chegham - Jul 23, 2016)

ServiceWorker: A Basic Guide to BackgroundSync (Dean Hume - Jul 19, 2016)

Offline First, the Decentralized Web, and Peer-to-Peer Technologies (Pedro Teixeira - Jul 15, 2016)

Offline Google Analytics Made Easy (Jeff Posnick - Jul, 2016)

Security in Offline First Apps (Calvin Metcalf - Jul 8, 2016)

My blog's Service Worker and Caching Strategy (Paul Kinlan - Jun 15, 2016)

Offline/Low-bandwidth UX Design Patterns (Steve Trevathan - Jul 8, 2016)

Offline Content with Service Worker (Chris Ruppel - Jun 6, 2016)

Taking an online book offline (Jeremy Keith - Jun 3, 2016)

Service Workers — Gotchas (Boopathi Rajaa - May 9, 2016)

Offline-first QR-code Badge Scanner (Glynn Bird - May 5, 2016)

Service Workers and PWAs: It’s About Reliable Performance, Not “Offline” (Alex Russell- May 4, 2016)

Progressive Web Apps: Eating your Cake (Daniel Appelquist - Apr 27, 2016)

Progressive Web Apps with Service Workers (Jesse Yang - Apr 21, 2016)

How To Use PouchDB + SQLite For Local Storage In Ionic 2 (Ashteya Biharisingh - Apr 18, 2016)

Offline-First, Document Sharing, Templates: Monod is Back (not in Black) (Apr 15, 2016)

Issue 4: Offline badging, DevTools, Testing, Travis, Web Storage, Service Worker Scopes, Data-driven Development, Compute Engine (Addy Osmani - Apr 15, 2016)

The New Builders Ep. 1: Craft Beer and Progressive Web Apps (Douglas Flora - Apr 14, 2016)

Service Workers replacing AppCache: a sledgehammer to crack a nut (Maximiliano Firtman - Apr 11, 2016)

Progressive Web Apps — Offline And Add To Home Screen (Ido Green - Mar 28, 2016)

The web on my phone (Jeremy Keith - Mar 23, 2016)

The copy & paste guide to your first Service Worker (Remy Sharp - Mar 22, 2016)

Service Workers: Save your User's Data using the Save-Data Header (Dean Hume - Mar 8, 2016)

Service Worker notes (Jeremy Keith - Feb 4, 2016)

Making A Service Worker: A Case Study (Lyza Danger Gardner - Feb 1, 2016)

Create a really, really simple offline page using Service Workers (Dean Hume - Jan 25, 2016)

Offline Web Applications: Using IndexedDB & Service Worker (Michael Wales - Jan 20, 2016)

Building Offline Sites with ServiceWorkers and UpUp (Tal Ater - Jan 19, 2016)

Instant Web Application (Gleb Bahmutov - Dec 24, 2015)

Introducing Background Sync (Jake Archibald - 2015)

Beyond Offline (Salvador de la Puente González - Dec 21, 2015)

Getting started with the Service Worker Toolbox (Dean Hume - Dec 17, 2015)

ServiceWorker Cookbook (by Mozilla)

Offline Web Applications with CouchDB, PouchDB and Ember CLI (Chris Moore - Dec 10, 2015)

A Hoodie Case Study: How minutes.io does offline (Alex Feyerke - Dec 1, 2015)

Reducing Single Point of Failure using Service Workers (Dean Hume - Dec 1, 2015)

Building realtime collaborative offline-first apps with React, Redux, PouchDB and WebSockets (Pedro Teixeira - Nov 30, 2015)

Cache-limiting in Service Workers …again (Jeremy Keith - Nov 29, 2015)

Introducing Pokedex.org: a progressive webapp for Pokémon fans (Nolan Lawson - Nov 23, 2015)

Cache-limiting in Service Workers (Jeremy Keith - Nov 19, 2015)

Offline Recipes for Service Workers (David Walsh - Nov 19, 2015)

Instant Loading Web Apps With An Application Shell Architecture (Addy Osmani - Nov 17, 2015)

An Offline Experience with Service Workers (Brandon Rozek - Nov 14, 2015)

Building Flipkart Lite: A Progressive Web App (Aditya Punjani - Nov 11, 2015)

Your first offline web app (Chrome Developer Team - 2015)

Making a Simple Site Work Offline with ServiceWorker (Nicolas Bevacqua - Nov 10, 2015)

My first Service Worker (Jeremy Keith - Nov 7, 2015)

Building an offline page for theguardian.com (Oliver Joseph Ash - Nov 4, 2015)

Creating Offline-First Web Apps with Service Workers (Ryan Chenkie - Oct 30, 2015)

Cache sandboxed HTTP requests with Service Worker (Roman Liutikov - Oct 26, 2015)

The offline experience (or, saying goodbye to imperative data fetching) (Dario Gieselaar - Oct 25, 2015)

ServiceWorker: Revolution of the Web Platform (Nicolas Bevacqua - Oct 21, 2015)

Taking the web offline with service workers (Ruadhan O'Donoghue - Oct 21, 2015)

Using Service Workers (MDN - Oct 18, 2015)

Don’t Wait for ServiceWorker: Adding Offline Support with One-Line (Kenneth Ormandy - Oct 14, 2015)

Service Workers in Production (Jeff Posnick - Oct 01, 2015)

How Do We Get It Done, Now? (Lyza Danger Gardner - Sep 30, 2015)

The Role of Workers and Offline Cache (Sep 7, 2015)

Let's make Offline Web Applications secure! (Egor Homakov - Jul 28, 2015)

Service Worker Meeting Highlights (Ben Kelly - Jul 28, 2015)

Q&A: Offline first, not just mobile first says Couchbase (James Nunns - Jun 26, 2015)

Why offline-first matters, and what developers should know about it (Marcel Kalveram - Jun 2, 2015)

Getting Appcache’s Fallback to work, crossbrowser (Ian Devlin - Jun 1, 2015)

Mobile Apps Offline Support (Gustavo Machado - May 29, 2015)

Making react-europe.org work offline with Service Workers and free SSL from Cloudflare (Patrick Aljord - May 14, 2015)

Offline Data Synchronization in Ionic (Marco Fernandes - Apr 29, 2015)

Offline Data in the Browser (Assaf Weinberg - Mar, 2015)

Offline: When Your Apps Can’t Connect to the Internet (Daniel Sauble - Mar 29, 2015)

Offline is not just another mobile feature (Chuck Ganapathi - Mar 4, 2015)

Offline-first, fast, with the sw-precache module (Jeff Posnick - Feb 23, 2015)

Offline is Not a Feature (Feb 16, 2015)

The Right and Wrong Strategies When Taking Your App Offline (Martin Heller - Feb 9, 2015)

Three takeaways for web developers after two weeks of painfully slow internet (Gabor Lenard - Jan 25, 2015)

Offline first: as simple as unplug & play? (Thomas Anciaux - Jan 15, 2015)

A simple ServiceWorker app (Chris Haynes - Jan 6, 2015)

ServiceWorker is available in Chrome 40 beta (Ilya Grigorik - Dec 11, 2014)

PSA: Service Workers are Coming (Alex Russell - Dec 11, 2014)

The offline cookbook (Jake Archibald - Dec 9, 2014)

The next UX challenge on the web: gaining offline trust (Christian Heilmann - Dec 8, 2014)

Service Worker Recipes (Cesar William Alvarenga - Dec 8, 2014)

Introduction to Service Worker (Matt Gaunt - Dec 1, 2014)

offline decentralized single sign-on in the browser (James 'substack' Halliday - Nov 27, 2014)

Offline Web Apps with Meteor (Gabriel Poça, Nov 26, 2014)

How to build web applications that can work offline with PouchDB?


truncated — full list on GitHub


[[curator]]
I'm the Curator. I can help you navigate, organize, and curate this wiki. What would you like to do?