Google coined the term Progressive Web App in 2015 and spent much of 2016 evangelising the concept. The pitch was attractive: use web technologies to build app-like experiences, but without the friction of an app store. Install from the browser, work offline, receive push notifications, load fast on slow connections.
The technology underpinning PWAs was the service worker. A service worker is a JavaScript file that runs in the background, separate from the main browser thread, and can intercept network requests. This interception capability is what enables offline support: the service worker can cache resources and serve them when there is no network connection. It also enables push notifications: the service worker can receive messages from a server even when the browser is not open.
I spent several weeks experimenting with service workers in 2016 and came away impressed but also cautious. The capability was real. The service worker APIs worked. Caching strategies for offline support were learnable. The Workbox library (also from Google) made the common patterns much easier to implement.
But the gap between the technology working and the experience being actually good was significant. Writing a solid service worker required careful thought about caching strategies. Cache too aggressively and users see stale content. Cache too little and the offline experience is poor. The update lifecycle, where a new service worker waits until all tabs are closed before activating, caught many teams off guard with confusing behaviour in production.
The iOS situation was also a real limitation. Apple's Safari had not implemented service workers in 2016, which meant PWAs did not work on the world's second most popular mobile platform. Push notifications on iOS were simply not available. For applications where iPhone users were important, PWAs were not a complete answer.
Where PWAs worked well in 2016 was for media and information sites, particularly in markets with slow or expensive mobile data. The Twitter Lite PWA was a standout example. By loading fast even on 2G connections and working offline, it dramatically increased engagement in markets where the full Twitter app was too heavy. The results were measurable and significant.
The promise of Progressive Web Apps has never been fully realised in the way Google imagined in 2016. But the underlying technologies, service workers and the offline-first mindset, have genuinely improved the web. Developers think about performance and reliability differently now because of what PWAs forced onto the agenda.