A few weeks ago I was at Heathrow airport getting a bit of work done before a flight, and I noticed something odd about the performance of GitHub: It was quicker to open links in a new window than simply click them. Turns out it was a lack of streaming…
Sounds fun
I played with the web audio API for the first time recently, so I thought I'd write up what I learned. I think that's my job or something.
SVG & media queries
One of the great things about SVG is you can use media queries to add responsiveness to images, but which viewport triggers those media queries?
Service worker meeting notes
On July 28th-29th we met up in the Mozilla offices in Toronto to discuss the core service worker spec. here are the headlines…
The performance benefits of rel=noopener
rel="noopener"
prevents opened pages tampering with the original page, but it also has a performance benefit.
Caching best practices & max-age gotchas
Getting caching right yields huge performance benefits, saves bandwidth, and reduces server costs, but many sites half-arse their caching, creating race conditions resulting in interdependent resources getting out of sync.
Streaming template literals
Template literals are pretty cool right?
const areThey = 'Yes';
console.log(`${areThey}, they are`);
// Logs: Yes, they are
But what if they could produce a stream?
Control CSS loading with custom properties
The pattern in the previous post covers the 90% case of multi-stage CSS loading, and it's really simple to understand. But, would you like to hear about a pattern that covers ~100% and is absurdly complicated? Well, take my hand, and follow me into the next paragraph…
The future of loading CSS
Chrome is intending to change the behaviour of <link rel="stylesheet">
, which will be noticeable when it appears within <body>
. The impact and benefits of this aren't clear from the blink-dev post, so I wanted to go into detail here.
Service workers and base URIs
Previously when we've run into a contentious service worker design issue, we've asked web developers what they think. This has worked out pretty well in the past, with developer feedback directly informing spec changes. It's also great because we can blame y'all if you pick the wrong thing.
Well, it's that time again! Help us!