Lazy and Prompt Posted May 7, 2026 by Matthias Ott 52 Webmentions #AI #browsers #chrome #google #standards #web #web standards Chrome 148 shipped this week, and in the release notes you’ll find one of the best things to happen to web performance in a long time: loading="lazy" for <video> and <audio> elements. Scott Jehl, an engineer at Squarespace focusing on performance and accessibility, has been the driving force behind this. Scott and a small team of engineers proposed the spec change, wrote the implementation, and got it through the WHATWG HTML spec process with positive signals from all three major browser engines. If you want to understand the full story behind it, Scott talked about it in detail on ShopTalk Show and Squarespace published an excellent post on how to use the feature today. This is what working with the web platform looks like: identify a real problem, propose a solution, build consensus, ship it. A good story. But that’s not the story of Chrome 148. The story of Chrome 148 is that Google – in the very same release – shipped the Prompt API, a feature that was met with explicit opposition from both Mozilla and WebKit, that the W3C TAG raised deep concerns about, and that the web community has been vocally and overwhelmingly against. Mat Marquis wrote the definitive piece on this, and I won’t retell it here because he puts it in much better words than I ever could. Go read his post. But to understand the scope of the problem: the Prompt API, as shipped, is not a standardized interface for interacting with language models in general. It’s an API for interacting with Google’s Gemini Nano – a 4 GB model that Chrome has already silently downloaded to your machine, without asking, and that it will re-download if you remove it. Any website you visit can now send prompts to that model, using your processing resources, without requesting permission. When both other browser engines explicitly oppose a feature, calling it a “web standard” is a bit of a stretch. I’m not involved in any of this. But after working on the Web for over 25 years, I know how web standards work. This is not one. This is a Chrome feature wearing the costume of a web standard. And that’s not all. To use the API as a developer, you must agree to Google’s Generative AI Prohibited Uses Policy – a corporate policy attached to what is supposed to be a web platform API. Jake Archibald, who is now at Mozilla, called this out explicitly (and got over 800 likes for it btw): elements of this policy go beyond law, and it sets a dangerous precedent for APIs that come with vendor-specific terms of use. As Mat writes, imagine the Geolocation API requiring you to agree to Google Maps’ Terms and Conditions. Think about what this means if we accept it: the next browser API could come with its own corporate terms, too. And the one after that. The web platform has always been open, implementable by anyone, and governed by specs – not by a single company’s usage policy. This is a line that, once crossed, is very hard to uncross. There’s also the question of what the browser is even for. A browser is a user agent – it’s supposed to act on behalf of the user, not the vendor. Silently downloading 4 GB of AI model to your machine, re-downloading it if you remove it, and then letting any website access it without your permission – that’s Chrome acting as Google’s agent, not yours. And it’s hard not to notice how many Google products stand to benefit from having an LLM pre-installed on every Chrome user’s machine. With opt-out, of course. And how did Google justify shipping it over the opposition of the other browser makers? By listing developer sentiment as “strongly positive” in their Intent to Ship. But the evidence behind that claim doesn’t really hold up. The blink-dev thread where the feature was approved consisted entirely of browser engine insiders – Chrome engineers and one Microsoft Edge representative. No external developers participated. A GitHub issue Google created specifically to capture developer interest in the API received exactly two responses in seven months. Satisfaction scores came from a survey Google administered to its own Origin Trial participants — self-selected early adopters who had actively signed up to test experimental Chrome APIs — with no sample sizes disclosed. The stakeholder feedback page cited one promotional blog post, one post on Twitter, and a now-broken link. This seems to be the foundation on which “strongly positive” was built. Jeremy Keith has documented this pattern over the years: Google’s habit of shipping first and standardizing later, or not at all. AMP. FLoC. Privacy Sandbox. Chrome ploughing ahead and unilaterally implementing whatever it wants, even if there’s no consensus from other browser makers. The Prompt API isn’t an exception. It fits the pattern. What makes this particular instance so frustrating is that the contrast is right there in front of us, in the same set of release notes. There’s lazy loading for audio and video: carefully proposed, properly standardized, welcomed by all implementers. A true gift to the web community. And then, there’s the Prompt API: rammed through despite broad opposition. One feature shows how the standards process can and should work. The other shows what happens when a company with dominant browser market share decides that the process doesn’t apply to them. The fact that my posts on Bluesky and Mastodon sharing Mat’s article are (still) getting hundreds of reactions while Google's own call for developer interest in the Prompt API received two responses in seven months tells you everything you need to know. Chrome 148 could have been a celebration. It should have been about lazy loading. About the power of the web standards process. Instead, Google made sure that all anyone’s talking about is how they’ve once again shoved something down our throats that nobody asked for. ~ 51 Webmentions Decarola 7 May 2026 | 17:05 Super interesting. Thanks for sharing 🫶 Side note: maybe you left the craft bar active in prod Matthias Ott 7 May 2026 | 17:09 Oh! Thanks – I thought I’d solved that. That’s the FastCGI cache saving the page with me logged in … should be gone now…? nicod_ 8 May 2026 | 19:59 @matthiasott Your blog is psychedic on Firefox... 🥴 @nhoizey nicod_ 8 May 2026 | 20:08 @matthiasott My bad, I had the jitter on a high value 😅 @nhoizey fry69 21 May 2026 | 09:08 Yep. There are valid criticism about this move -> Wenzel Massag 21 May 2026 | 11:37 @matthiasott reading your article one question came up on repeat in my mind: What can we do? How can we make it stop and strengthen the open web? I have no good answers, as the only thing in my mind right now is to show banners on sites to Chrome users, reminding them of Firefox and explaining how to delete Chrome. Also, your text reminded me of is a blog post I read a few days ago: [Safari and Firefox change how ... 10 Reposts Nic Chan 7 May 2026 | 16:50 Mat “Wilto” Marquis 7 May 2026 | 17:20 Iron Orchid 7 May 2026 | 17:20 Bram 7 May 2026 | 18:15 ilithya 8 May 2026 | 00:30 Marcelo de G. Malheiros 8 May 2026 | 19:15 Jim Jones 21 May 2026 | 14:30 Nicole Parsons 21 May 2026 | 23:20 eat up hungee boy 22 May 2026 | 00:55 Thomas Müller 25 May 2026 | 12:45 36 Likes Nic Chan 7 May 2026 | 16:50 Mia (online) 7 May 2026 | 16:50 ajpiano 7 May 2026 | 17:20 Iron Orchid 7 May 2026 | 17:20 blokche 7 May 2026 | 17:20 Mat “Wilto” Marquis 7 May 2026 | 17:20 Decarola 7 May 2026 | 17:20 Nicolai Schwarz 7 May 2026 | 17:45 dan 7 May 2026 | 18:56 Scott Jehl 7 May 2026 | 19:50 CSS-Tricks* 7 May 2026 | 19:50 Jürgen Šuvalov 7 May 2026 | 20:10 Jordi Sánchez 7 May 2026 | 21:40 Seth Messer 7 May 2026 | 23:35 Jannik 8 May 2026 | 00:05 Cthos 8 May 2026 | 00:30 ilithya 8 May 2026 | 00:30 VAI 8 May 2026 | 02:25 Steve Woodson, CPACC 11 May 2026 | 16:35 mjuste607.bsky.social 13 May 2026 | 18:30 fry69 21 May 2026 | 09:35 aœ 21 May 2026 | 09:50 Caspar Fairhall 21 May 2026 | 11:27 Martin Grubinger 21 May 2026 | 11:27 Bret Mogilefsky 21 May 2026 | 12:50 Dave Rupert 21 May 2026 | 13:55 Jim Jones 21 May 2026 | 14:30 Kelson 21 May 2026 | 22:10 Bob LeFridge :tinoflag: 21 May 2026 | 23:20 Ras 4lhague (He/Him) 21 May 2026 | 23:50 ᴮᵉⁿ ᴿᵒʸᶜᵉVOTE IN THE PRIMARIES 22 May 2026 | 02:55 🇪🇺 Paul Schoonhoven 🍋🍉 22 May 2026 | 03:30 Pablo Iriarte 22 May 2026 | 10:30 Tobu 22 May 2026 | 14:10 meek cynics 23 May 2026 | 14:50 Udo Meisen 23 May 2026 | 22:50 ⓘ Webmentions are a way to notify other websites when you link to them, and to receive notifications when others link to you. Learn more about Webmentions. Have you published a response to this? Send me a webmention by letting me know the URL. Ping! More Notes Ad Infinitum Buckle Up At Machine Speed Hello Again, World
Decarola 7 May 2026 | 17:05 Super interesting. Thanks for sharing 🫶 Side note: maybe you left the craft bar active in prod
Matthias Ott 7 May 2026 | 17:09 Oh! Thanks – I thought I’d solved that. That’s the FastCGI cache saving the page with me logged in … should be gone now…?
Wenzel Massag 21 May 2026 | 11:37 @matthiasott reading your article one question came up on repeat in my mind: What can we do? How can we make it stop and strengthen the open web? I have no good answers, as the only thing in my mind right now is to show banners on sites to Chrome users, reminding them of Firefox and explaining how to delete Chrome. Also, your text reminded me of is a blog post I read a few days ago: [Safari and Firefox change how ...