Ryan Townsend
banner
twnsnd.com
Ryan Townsend
@twnsnd.com
Technology Leader & Distinguished Software Engineer • 20+ YOE in Tech, 10+ as CTO • Public Speaker • LessonsofaCTO.com
Pinned
After implementing Compression Dictionaries back in December, I sat down with @yoav.ws and @patmeenan.com to discuss getting the most out of them and provide some visuals for those new to the concept. Check out the video below:

youtu.be/YR2er3EiYnM / lessonsofacto.com/videos/032-c...
Compression Dictionaries: How Google & Shopify Are Bringing SPA Speed to MPA Websites
YouTube video by Lessons of a CTO
youtu.be
Reposted by Ryan Townsend
Element-Scoped View Transitions are gonna be **SO GOOD**

There’s still some details to settle, but the main thing is there: run VTs on a subtree of the DOM, allowing parallel VTs.

And with `view-transition-scope` you can limit the scope of `view-transition-name` values, allowing VTs to be nested.
February 18, 2026 at 11:14 AM
Developers: this is a really low-barrier opportunity to help contribute to the future of the web. Please help Keith out!
Browser developers are working on custom form controls ( `appearance:base`), the next giant task is looming: customisable input type=date/datetime/color pickers.

These are huge and have wildly varied UI. Send me your examples, I'd love to see them and build up a body of these pickers.
February 13, 2026 at 10:53 AM
Reposted by Ryan Townsend
Browser developers are working on custom form controls ( `appearance:base`), the next giant task is looming: customisable input type=date/datetime/color pickers.

These are huge and have wildly varied UI. Send me your examples, I'd love to see them and build up a body of these pickers.
February 13, 2026 at 10:06 AM
Shame about the lack of #webperf enhancements accepted into Interop 2026, particularly CLS which would have been really useful.

But there are plenty of performance-adjacent improvements, mainly via CSS enhancements such as anchor positioning and scroll-driven animations: web.dev/blog/interop...
Interop 2026: Continuing to improve the web for developers  |  Blog  |  web.dev
Learn about the features included in Interop 2026.
web.dev
February 12, 2026 at 6:20 PM
After implementing Compression Dictionaries back in December, I sat down with @yoav.ws and @patmeenan.com to discuss getting the most out of them and provide some visuals for those new to the concept. Check out the video below:

youtu.be/YR2er3EiYnM / lessonsofacto.com/videos/032-c...
Compression Dictionaries: How Google & Shopify Are Bringing SPA Speed to MPA Websites
YouTube video by Lessons of a CTO
youtu.be
February 9, 2026 at 2:21 PM
Reposted by Ryan Townsend
Something I've been helping @yoav.ws with. A proposal to allow you to measure Speculation Rules API and usage.

Are you over-speculating? Under-speculating?

Until now you've only really been able to measure secondary impact, but with this proposal you'll can have better data.
February 4, 2026 at 1:43 PM
For anyone attending #AllDayHey in May: brunch at Galleria is a must.

Ditch your hotel breakfast, Chef Andy’s food is worth delaying your train home for.

It’s a personal battle for me to not choose the shakshouka every time, but the whole menu is unreal.
February 4, 2026 at 12:36 PM
What happens when you treat the web as a build target and not a raw material.
WTAF… do National Savings and Investments not know how browsers work?
February 2, 2026 at 1:33 PM
Reposted by Ryan Townsend
The @e18e.dev project, which systematically speeds up the Node.js ecosystem, has published its 2025 results.

Invisible heroes who make life better for all of us. They need our support.

e18e.dev/blog/the-yea...
February 1, 2026 at 10:35 AM
Reposted by Ryan Townsend
100M times a week, we download a package to check if the platform supports a feature that was introduced in all engines 10 years ago
January 29, 2026 at 10:00 PM
Reposted by Ryan Townsend
Think prefetch is not enough, but prerender is too risky for your site?

Well then check out "prerender until script"—a new option we're testing for the Speculation Rules API now available for you to test on your site with an origin trial!
developer.chrome.com/blog/prerend...
Speculation rules prerender until script origin trial  |  Blog  |  Chrome for Developers
Learn about the new prerender until script option for the Speculation Rules API, now available in origin trial.
developer.chrome.com
January 23, 2026 at 11:11 AM
Yes @jason-williams.co.uk! I've needed this recently 👏
January 19, 2026 at 5:57 PM
Yes! 👏🏻 More Invoker Commands!
January 16, 2026 at 6:05 PM
Reposted by Ryan Townsend
wrote some things I've been thinking about ai
... and it ended up feeling very personal

roe.dev/blog/the-go...
The golden thread
AI can serve us as a force multiplier, augmenting our own agency and making the most of our own effort, hard work and value. Not by replacing it.
roe.dev
January 14, 2026 at 11:09 PM
For those interested in Custom Attributes (which should be everyone working with the web, imo), @lea.verou.me has published an explainer: github.com/webplatformc...

If you're wondering what the use-cases are, they are documented here: github.com/webplatformc...
GitHub - webplatformco/project-custom-attributes: Define custom attributes that can be specified on any element
Define custom attributes that can be specified on any element - webplatformco/project-custom-attributes
github.com
January 14, 2026 at 12:14 PM
Reposted by Ryan Townsend
Come talk Shopify goodness! The next meetup is on 27th Jan in Leeds!

We'll have two incredible speakers:
@leggetter.co.uk - Reliably Handling Webhook at Hookdeck scale!
@twnsnd.com - Optimising Theme Performance taking Liquid on a diet

partnersnorthmeetup.uk
Shopify Partners North – Dev Meetup
A regular meetup for Shopify Developers, held in the North of the UK. Discussing themes, APIs, Apps, POS, entrepreneurship and everything in between.
partnersnorthmeetup.uk
January 12, 2026 at 12:38 PM
Slightly diminish a band

Mediocre Charlotte
bell.bz Andy Bell @bell.bz · Jan 10
Slightly diminish a band

Twice
Slightly diminish a band

The Seasoning Girls
January 10, 2026 at 3:29 PM
Reposted by Ryan Townsend
blogged: Death to Scroll Fade!

dbushell.com/2026/01/09/d...

— no fun and games this year my blog is getting serious 😐
Death to Scroll Fade!
The one where I crowdsource an argument winner
dbushell.com
January 9, 2026 at 10:31 AM
Reposted by Ryan Townsend
The first batch of early bird tickets is out for sale. If you were thinking about attending to an event this year, this is your chance to do it a really low price.
🎟️ JSHeroes tickets are live 🎟️
👉 jsheroes.io

A limited batch of Early Bird tickets is available for €170 - secure the best deal of the season for a 2-day conference with inspiring talks, amazing people, and unforgettable vibes. ✨

See you in May! 🚀

#JSHeroes #TechConference #TechInnovation
January 8, 2026 at 4:13 PM
✅ First completely necessary purchase of the year: a ceramic keyboard
January 8, 2026 at 1:23 PM
ICYMI over the break: @programmingart.bsky.social takes us on a wild ride with the nuances of what TTFB actually contains.
TTFB is a notoriously difficult performance metric, because it has so many different definitions and nuances.

New features like Early Hints and Speculation Rules only make that worse.

My new blog highlights these issues so you know what to keep in mind:
calendar.perfplanet.com/2025/ttfb-do...
TTFB doesn't mean what you think it means
Time-To-First-Byte (TTFB) is a popular performance metric, yet there are many problems and nuances with it. Not only does it have several different definitions, it is usually also a "compound" metric,...
calendar.perfplanet.com
January 6, 2026 at 3:45 PM
Looking forward to State of the Browser next month! See you there? 👋
Tickets for #SotB26 are on sale - Get yours now!
When?
Saturday 28 February 2026, 09:30 - 17:00 GMT.
Where?
The Barbican Centre, London.
Ticket types:
In-person, Online, Diversity In-person and Online.

*Diversity ticket applications end Thursday 26 February 2026.
2026.stateofthebrowser.com/tickets/
Tickets | State of the Browser
More information and buying options for tickets.
2026.stateofthebrowser.com
January 6, 2026 at 2:11 PM
Reposted by Ryan Townsend
New year, new web performance mystery (and it's a huge one):

calendar.perfplanet.com/2025/the-cur...
December 31, 2025 at 8:29 PM
Put the NYE champagne down… my article is up on the 2025 Web Performance Calendar 🥳
Web Performance Calendar day 31 article 4/5: @twnsnd.com on Compression Dictionaries to dramatically shrink responses (60–90% smaller than Brotli/GZIP). Why adoption is slow. Practical architectural decisions and implementation tips to get huge bandwidth wins.
calendar.perfplanet.com/2025/from-th...
From Theory to Tiny: Implementing Compression Dictionaries
Compression Dictionary Transport became an official IETF Proposed Standard this September (congratulations to Yoav Weiss & Pat Meenan 🎉). If you don't know what they are, I recommend watching Pat's wo...
calendar.perfplanet.com
December 31, 2025 at 5:32 PM
Wasted longer than I care to admit on trying to figure out why syntax highlighting was broken on my site only to discover it’s 1Password’s extension: www.1password.community/discussions/...

Apparently this has been around 2 weeks and it begs the question: why are they interfering with code blocks?!
1Password Chrome extension is incorrectly manipulating <code> blocks | 1Password Community
The latest 1Password Chrome extension is incorrectly manipulating the DOM within &lt;code&gt; blocks on static pages. It looks it's using prism.js to try to...
www.1password.community
December 30, 2025 at 5:49 PM