Real world examples of how over-optimizing for metrics can be at odds with performance.
Good cautionary reminder of Goodhart’s law. This is why it’s so important to choose your primary metrics with care, and to make sure everyone understands why.
I love when standards, like Speculation Rules, are built in a way where there’s a natural upgrade path. It’s great for helping companies to gradually roll out support, but it also allows for some very smart optimizations, like what Harry does here pairing prefetch and prerender rules together.
Good food for thought here from Nolan Lawson about rewriting JS tools in “faster” languages.
The point that a rewrite is often faster simply because it’s a rewrite is a very valid one—over time we add more features/functionality to our code and it starts to have a cost not just on perf, but on maintainability as well. A rewrite lets us start with those learnings already in mind.
But my favorite point is around the accessibility of JavaScript tools built in JavaScript:
For years, we’ve had both library authors and library consumers in the JavaScript ecosystem largely using JavaScript. I think we take for granted what this enables.
I wrote about this a few years back, but having JavaScript available on the front-end, back-end, on the edge, and in build tools is a powerful way to let developers extend their reach into different part of the tech stack and any decision to move away from that needs to be VERY carefully considered.
Oldie but a goodie describing Chrome’s “Paint Holding” optimization.
So at first, it looked like about 10% of the BuySellAds scripts were being blocked. But after replacing how we were tracking the blocks with an internal service (just a little Redis counter), it was showing more like 28% of scripts being blocked.
Our experiments showed that Early Flush produced a flat reduction in First Contentful Paint (FCP) of around 100ms on every page tested, including the Airbnb homepage.
A bunch of examples of how text-wrap:balance
could be useful.
Could’ve used this just the other day, actually.
Jeremy discussing why performance isn’t just about business, but actually has impact across several broad categories:
Naturally, I agree.
Creativity happens in two stages: first, unbounded imagination; then — more importantly — ruthless editing.
Loads of great advice in this post from Jason on the part of “ideas” that tends to get less attention: editing.
One of the ones that jumped out to me was his note about the importance of underutilizing people’s time:
On top of that, a healthy team is intentionally underutilized. This creates free time for chasing shiny things with low risk. A roadmap with this kind of slack built-in supports exploratory tinkering by defining a clear plan with clear boundaries: I know I need to complete these 5 tasks this week to keep us on track; I finish them by lunchtime Thursday; I now have a day and a half to do whatever I find exciting without hurting the overall strategic goals or slowing things down.
What a healthy (and wise!) counter from the way most organizations tend to operate.a
All of the above are part of the same issue - a task is an incomplete and inaccurate cadence to measure main-thread blocking.