Making websites fast, reliable and effective
Web performance means different things to different people. Broadly, though, we're talking about speed. Faster websites deliver better experiences. And better experiences also tend to deliver better business outcomes.
There was a time when measuring site speed was all about load times (or time to onload). That still matters, but it's possible for a web page to seem fast even if it's slow to finish loading. As long as essential resources, such as style sheets and above-the-fold images, are available, a visitor can start consuming the page well before other, less important assets have loaded.
Because of this, it's important to look at metrics that better reflect user experience. We may be interested in render start time – the point at which content is first displayed on the screen, or first meaningful paint, which is a better indication of when the page starts to become usable. Then there is speed index, which is a measure of the rate at which a page becomes visually complete.
But just because a web page look complete, it doesn't mean it's ready to use. There may be scripts running that make it all but impossible to interact with. Fortunately, we can now also look at time to interactive in order to understand when a page is genuinely ready.
Metrics are incredibly valuable when it comes to benchmarking, budgeting and tracking changes over time. But they only take you so far. Sometimes, there is no substitute for taking a detailed look at how a web page loads, checking whether and to what extent content reflows or how custom fonts are loaded – and how these things impact the user experience.
By the same token, it's often not enough simply to audit and apply best practices. Every site is different, and web performance isn't a 'one size fits all' discipline.
Networks are getting faster. And so are the devices we use to access them. Surely, everything will be fast in a 5G world?
Maybe. But there are two reasons why we should care about web performance now more than ever.
One is that developers will tend to exploit the capabilities of fast networks and devices to the full. If you build a bigger motorway, you get more cars.
Secondly, not everyone is going to have access to the latest technology all the time.
The gap between the haves and have nots is already big, and it's growing.
Developers are going to have to learn to cater for an ever longer tail of users on low-end devices and slow networks.
Sure, the future is exciting. But it's going to be a challenge.