The Offline-First Movement

I'm big into offline-first these days. It started with GatsbyJS, then I built Bouquin in PHP and created my first progressive web apps. Now I want to add offline-first functionalities to The Co-Writers while I'm improving the content management UX. You'd be able to read, write, and organize posts and collections without an internet connection.

Offline-first decreases the amount of data you need to make an app work. You load it once, cache it, and update just what needs to be changed. As a software engineer, I find it extremely elegant because it's the most optimal way to increase performance while reducing my app's network consumption.

It's a form of digital minimalism too because it allows developers and users to do more with fewer resources. Applications like Facebook drain your data because it's ephemeral, but even browsing regular websites can quickly add up and literally make you lose money on data plans.

If I load the landing page of the Washington Post, I've already put 5MB down the drain. If I try to refresh the page, I'm wasting 5MB because the web page has to be downloaded all over again. If the website was built offline-first, I would download the app shell once, the articles would be cached for a day or two, and it would load much faster.

Now, another concern I have is environmentalism. The Co-Writers is powered by renewable energy, but it would be even better if I could reduce the website's consumption in the first place.

Those are the main reasons why I'm so excited about the new capabilities offered by service workers and the offline-first movement. If I were to build a web development consulting business in 2020, it would definitely be about designing offline-first web applications with new trends like progressive web apps, static-generated apps, and JAMStack.