How to display a "new version available" for a Progressive Web App

In this article, I will show you how to add a notification to your site and display it each time that there is a new version of the service worker available. You’ll also learn how to refresh the page, so that the user is up to date and has the latest version of any cached files.…

Progressive Web Apps - Book Giveaway

"Progressive Web Apps" has recently been released, and if you haven't already gotten your hands on a copy, I have 5 free copies to give away to lucky readers.…

Service Workers can save the environment!

Service workers allow you to cache resources on the user's device when they visit your site for the first time. Fewer HTTP requests mean less CPU usage and less energy consumed.…

Converting a Ghost blog to a Progressive Web App

In this article, I am going to take you through the different steps required to get a Ghost blog up and running as a Progressive Web App (*hint: it’s easier than you think!*)…

Guest Posts and Advent Calendars

This year, I’ve been lucky enough to write two articles for two great “advent calendar” style sites. I try to write for the Performance Calendar every year around this time and this year I’ve written about progressive image loading using Intersection Observer and SQIP. In this article, I…

Lazy loading images using Intersection Observer

If you haven’t had the chance to watch it yet, Paul Lewis put together an awesome video series that demonstrates how to build a media player alongside some of the great features of Progressive Web Apps. There are a series of videos on YouTube that take place over a…

Experimenting with the Server Timing API

You may be familiar with the saying “If you can’t measure it, you can’t improve it”. This saying couldn’t be more true when it comes to web performance. In our browsers today, we already have great APIs such as Navigation Timing and Resource Timing built-in, which allow…

Getting Started with HTTP/2 and Server Push

HTTP/2 is awesome. When we enabled HTTP/2 on the settled.co.uk website, we noticed a 10% improvement in the page load times across the site. We didn’t change any code, or even make any web performance tweaks - we made the switch and noticed the results…

A simple, client-side approach to measuring Speed Index

When I first started learning about web page performance, I always use to focus solely on the time that it took a page to load. The excitement of seeing a web page load in an instant kept me coming back for more. Whilst web page load time is an important…

Image Beast - My 10 K Apart Entry

This year, An Event Apart and Microsoft are teaming up to bring you 10 K Apart. It's a pretty cool competition with a challenge to build a compelling web experience that can be delivered in 10 KB and works without JavaScript. Believe me - it's not as easy as it…