The Invisibles

When I was talking about monitoring web performance yesterday, I linked to the CrUX data for The Session.

CrUX is a contraction of Chrome User Experience Report. CrUX just sounds better than CEAR.

It’s data gathered from actual Chrome users worldwide. It can be handy as part of a balanced performance-monitoring diet, but it’s always worth remembering that it only shows a subset of your users; those on Chrome.

The actual CrUX data is imprisoned in some hellish Google interface so some kindly people have put more humane interfaces on it. I like Calibre’s CrUX tool as well as Treo’s.

What’s nice is that you can look at the numbers for any reasonably popular website, not just your own. Lest I get too smug about the performance metrics for The Session, I can compare them to the numbers for WikiPedia or the BBC. Both of those sites are made by people who prioritise speed, and it shows.

If you scroll down to the numbers on navigation types, you’ll see something interesting. Across the board, whether it’s The Session, Wikipedia, or the BBC, the BFcache—back/forward cache—is used around 16% to 17% of the time. This is when users use the back button (or forward button).

Unless you do something to stop them, browsers will make sure that those navigations are super speedy. You might inadvertently be sabotaging the BFcache if you’re sending a Cache-Control: no-store header or if you’re using an unload event handler in JavaScript.

I guess it’s unsurprising the BFcache numbers are relatively consistent across three different websites. People are people, whatever website they’re browsing.

Where it gets interesting is in the differences. Take a look at pre-rendering. It’s 4% for the BBC and just 0.4% for Wikipedia. But on The Session it’s a whopping 35%!

That’s because I’m using speculation rules. They’re quite straightforward to implement and they pair beautifully with full-page view transitions for a slick, speedy user experience.

It doesn’t look like WikiPedia or the BBC are using speculation rules at all, which kind of surprises me.

Then again, because they’re a hidden technology I can understand why they’d slip through the cracks.

On any web project, I think it’s worth having a checklist of The Invisibles—things that aren’t displayed directly in the browser, but that can make a big difference to the user experience.

Some examples:

If you’ve got a checklist like that in place, you can at least ask “Whose job is this?” All too often, these things are missing because there’s no clarity on whose responsible for them. They’re sorta back-end and sorta front-end.

Have you published a response to this? :

Responses

7 Shares

# Shared by Paul Shryock on Saturday, August 30th, 2025 at 11:08am

# Shared by Jonathan Schofield on Saturday, August 30th, 2025 at 11:08am

# Shared by Sue on Saturday, August 30th, 2025 at 11:08am

# Shared by Stuart :progress_pride: on Saturday, August 30th, 2025 at 11:08am

# Shared by Jules 🍺 on Saturday, August 30th, 2025 at 11:09am

# Shared by Dion on Saturday, August 30th, 2025 at 4:28pm

# Shared by Chris Taylor on Saturday, August 30th, 2025 at 6:04pm

13 Likes

# Liked by Paul Shryock on Saturday, August 30th, 2025 at 11:07am

# Liked by David Bushell 🥐 on Saturday, August 30th, 2025 at 11:07am

# Liked by Timo Tijhof on Saturday, August 30th, 2025 at 11:07am

# Liked by Jonathan Schofield on Saturday, August 30th, 2025 at 11:08am

# Liked by Sue on Saturday, August 30th, 2025 at 11:08am

# Liked by Jordi Sánchez on Saturday, August 30th, 2025 at 11:19am

# Liked by Simon Jones on Saturday, August 30th, 2025 at 11:33am

# Liked by Chris Moody on Saturday, August 30th, 2025 at 12:19pm

# Liked by Bryan Buchs on Saturday, August 30th, 2025 at 12:43pm

# Liked by Fatih Altinok on Saturday, August 30th, 2025 at 12:43pm

# Saturday, August 30th, 2025 at 3:14pm

# Liked by Chris Taylor on Saturday, August 30th, 2025 at 6:04pm

# Liked by Tyler Sticka on Saturday, August 30th, 2025 at 10:18pm

1 Bookmark

# Bookmarked by Brent Lineberry on Saturday, August 30th, 2025 at 9:57pm

Related posts

The web on mobile

Technically, websites can do just about anything that native apps can do. And yet the actual experience of using the web on mobile is worse than ever.

Progressively enhancing maps

How I switched to high-resolution maps on The Session without degrading performance.

Fidinpamp

A small-scale conspiracy theory from the innards of Google.

The intersectionality of web performance

Business, sustainability, and inclusivity.

JavaScript

Inside me there are two wolves. They’re both JavaScript.

Related links

It’s time for modern CSS to kill the SPA - Jono Alderson

SPAs were a clever solution to a temporary limitation. But that limitation no longer exists.

Use modern server rendering. Use actual pages. Animate with CSS. Preload with intent. Ship less JavaScript.

Tagged with

I’m more proud of these 128 kilobytes than anything I’ve built since | by Mike Hall | Jul, 2025 | Medium

I don’t normally link to articles on Medium—I respect you too much—and I do wish this were written on Mike Hall’s own site, but this is just too good not to share.

And don’t dismiss this as a nostalgiac case study from the past:

At no point did the constraints make the product feel compromised. Users on modern devices got a smooth experience and instant feedback, while those on older devices got fast, reliable functionality. Users on feature phones got the same core experience without the bells and whistles.

The constraints forced us to solve problems in ways we wouldn’t have considered otherwise. Without those constraints, we could have just thrown bytes at the problem, but with them every feature had to justify itself. Core functionality had to work everywhere, and without JavaScript crutches proper markup became essential.

This experience changed how I approach design problems. Constraints aren’t a straitjacket, keeping us from doing our best work; they are the foundation that makes innovation possible. When you have to work within severe limitations, you find elegant solutions that scale beyond those limitations.

Tagged with

Who’s Afraid of a Hard Page Load?

Why single-page apps are just not worth it:

Here’s the problem: your team almost certainly doesn’t have what it takes to out-engineer the browser. The browser will continuously improve the experience of plain HTML, at no cost to you, using a rendering engine that is orders of magnitude more efficient than JavaScript.

Meanwhile, the browser marches on, improving the UX of every website that uses basic HTML semantics. For instance: browsers often don’t repaint full pages anymore.

Tagged with

Daring Fireball: One Bit of Anecdata That the Web Is Languishing Vis-à-Vis Native Mobile Apps

I have to agree with John here:

There’s absolutely no reason the mobile web experience shouldn’t be fast, reliable, well-designed, and keep you logged in. If one of the two should suck, it should be the app that sucks and the website that works well. You shouldn’t be expected to carry around a bundle of software from your utility company in your pocket. But it’s the other way around.

There’s absolutely no technical reason why it should be this way around. This is a cultural problem with “modern front-end web development”.

Tagged with

Website Speed Test

Here’s a handy free tool from Calibre that’ll give your website a performance assessment.

Tagged with

Previously on this day

3 years ago I wrote dConstruct update

There’s a change to the line-up. We’re going to have twice the Sebs.

15 years ago I wrote Team meme

I’m with Team Sharkjumper.

15 years ago I wrote TeuxDeux Part Deux

My favourite to-do list app gets an update.

16 years ago I wrote HTML5 and me

My petitions to the makers of markup.

18 years ago I wrote She car go

A great conference in a great city.

19 years ago I wrote Iteravely Upcoming

Softly, softly, designy website.

22 years ago I wrote Geeks in meatspace

Much fun was had at last night’s Brighton Bloggers meetup. Pete has posted up some pictures. He had the cheek to call me the Alpha geek. Talk about the pot calling the kettle #000000.

23 years ago I wrote Pong

Just when you thought there was no such thing as a good reason to use pop-up windows…