Yoav Weiss

@Yoav
1.2K Followers
291 Following
565 Posts
On a mission to make the web faster, one perf feature at a time. WebPerfWG and WICG co-chair. Blink API owner. RICG4life. Opinions are my own, etc.

Web Performance Calendar day 13 with Yoav Weiss (@yoav) showing us a clever and creative way to ship *only* critical/necessary CSS for each page type (home, search, etc) while also avoiding duplicate code in the CSS bundles.

https://calendar.perfplanet.com/2025/how-to-load-css-fast/

How to load CSS (fast)

Loading styles on the web is something that looks trivial at first. You just add a <link rel=stylesheet> to your page (or <style> for inline styles) and you're done. But if you wanted to load CSS fast, all of the sudden you run into trouble... Assuming you have a traditional web app (o

Web Performance Calendar
If you want to get into web platform development and push features into browsers, I wrote a few words that I hope can be useful: https://blog.yoav.ws/posts/so_you_want_to_push_a_web_platform_feature/
So, you want to push a web platform feature?

A guide for pushing new features into standards and browser engines

Delete-Cookie header?? from Yoav Weiss on 2024-10-31 ([email protected] from October to December 2024)

I'm excited that we're finally getting a customisable <select> on the web. However, there's one detail of it I'm really not sure about, and I'd like to hear your thoughts.

Have your say before it's too late 😀

https://jakearchibald.com/2024/how-should-selectedoption-work/

How should <​selectedoption​> work?

It's part of the new customisable `<​select​>`, but there are some tricky details.

(BTW, this is what I meant when I wrote up https://blog.yoav.ws/posts/web_platform_change_you_do_not_like/ over a year ago)
So, you don't like a web platform proposal

How can you influence the web platform so that a change you don't like is less likely to get shipped?

I think language negotiation on the web can be both better *and* more private. So I wrote up a few words https://blog.yoav.ws/posts/improving_language_negotiation/
Improving language negotiation

Intent to Prototype: Dynamic import maps

WebDriver BiDi production-ready in Firefox, Chrome and Puppeteer

https://developer.chrome.com/blog/firefox-support-in-puppeteer-with-webdriver-bidi?hl=en

WebDriver BiDi production-ready in Firefox, Chrome and Puppeteer  |  Blog  |  Chrome for Developers

Puppeteer 23 introduces stable support for Firefox 129 and up, offering a unified API for Chrome and Firefox automation, based on WebDriver BiDi.

Chrome for Developers
Next step - a prototype Chromium CL and web platform tests (most probably a “translation” of the spec examples into test cases) as well as sending out requests for positions on WebKit and Mozilla

For the last week or so i've been working on an HTML PR to enable multiple import maps per document: https://github.com/whatwg/html/pull/10528

Now that the PR iteration process feels like we’re almost there , I think it’s time to start prototyping and see that it all actually works in practice. So I created a mapping from the relevant spec concepts to Chromium code: https://docs.google.com/document/d/1O2OlzcSVWF-8mmXr_Nz0ryz5CUiETyzPydOViE_9WRs/edit

Dynamic import maps by yoavweiss · Pull Request #10528 · whatwg/html

Introduction Import maps in their current form provide multiple benefits to web developers. They enable them to avoid cache invalidation cascades, and to be able to work with more ergonomic bare mo...

GitHub