Ben Schwarz

Ben Schwarz

@benschwarz.bsky.social

Founder & Product developer @calibreapp.com. Into sustainability, online privacy, cycling, photography, making music, hiking, native country and creative pursuits 🌞

3.5K followers205 following1.4K posts

The pitch for single page apps was always “it’s faster after the first load”. Google’s Core Web Vitals, used in search ranking, now measure soft navigations. It’s true: LCP drops by about a third. But, I don't think SPAs are ever really worth all the compromises and extra code.

Curious claim being parroted for 24 hrs. I think it's inaccurate. Cloudflare bot detection isn't "social media bots", it's web spiders and other automated traffic: Yandex's core business. Is there any substantive proof of less right wing deceit/propaganda on social media?

StrictlyChristo 🇺🇦🌻@strictlychristo.bsky.social

Zelensky: "When our strikes reached Yandex’s data centers, it suddenly became a little easier to breathe on many social media platforms. A lot of people noticed it. There was less hate, less division, and fewer provocations. Because there were fewer bots. It’s pretty clear where those bots were."

Ben Schwarz reposted

There is a chance that a new Web Weekly will drop tmrw morning. Just saying, if you want to catch the next issue. 🫣

Stefan Judis@stefanjudis.com

After a short break, the new Web Weekly is about to hit all inboxes. 🫣 This time, it includes `text-box` going Baseline, the two phases of `fetch`, linked parameters in SVG, and the new `Connection-Allowlist` header. Enjoy! webweekly.email/archive/web-...

Once went to a bar after a conference day, Gruber was there, we talked a bit — then he left, leaving us to pickup his bar tab. Tells you more than you need to know. Shit guy

Ooohh this is interesting — a style sheet language for 3D scenes. Going to take this for a spin 🔜

LukyVj - A$AP Luky@lukyvj.bsky.social

If you can write CSS, you can write GSS { ● } I've been dreaming of this for years: a language to build 3D scenes like you write CSS. Selectors, cascade, :hover, keyframes… compiled to one GPU shader. Meet GSS: GPU Style Sheets. gss-lang.dev #shader #glsl #gss

GitHub just finished ripping styled-components out of github.com. Result: 55% less time to server-render a page, 25% faster component init. CSS-in-JS makes you pay for styles twice: collecting them on the server, running JS on the client. Static CSS is *always* more efficient. Ship CSS.

GitHub@github.com

GitHub.com has fully moved off CSS-in-JS to CSS Modules, resulting in 55% less server-side render time and 25% faster component init. https://github.blog/engineering/architecture-optimization/improving-site-performance-by-shipping-more-css/

Ben Schwarz reposted

Come for the webperf, stay for Ben's smooth intelligent voice

Ben Schwarz@benschwarz.bsky.social

13 years after my first ShopTalk Show (episode 68!), Chris and Dave had me back to talk web performance: why airline websites are so slow, RUM vs synthetic testing, and whether fixing speed actually makes money ✈️🐢 shoptalkshow.com/734/

⚠️ PSA for React 19 SSR apps: React automatically preloads ALL server rendered images. Without hints, early bandwidth is needlessly wasted. Fix it: * LCP image → fetchPriority="high" * Never lazy load the LCP image * Below-the-fold images → loading="lazy" (this also stops React preloading them)

I don't like to "go-in" on web frameworks because it's unproductive. BUT Unfortunately, this preload situation is just yet another example of React’s failed abstractions that make pages slower — unless you fix it. It's busy work created by the framework. React-apps are full of these concessions.

Credit where it's due. Frontier tops the airline benchmark, and has trimmed LCP from 3.29s to 2.60s over 9 months. Small, steady wins. Ryanair has been quietly shipping perf improvements since I wrote about their redesign in 2015. A decade of discipline.

Australian government vulnerability disclosure car crash. We should 100% adopt GDPR, and other very common security practices Instead, they’ve left our asses swinging in the breeze, as usual 🤦‍♂️

bystander1.bsky.social@bystander1.bsky.social

Time line

View full thread

3. Custom UI from another era. Hand-rolled dropdowns, modals and expanders doing what <details>, <dialog> and popover now do natively, with smooth animation for free. 4. Not enough caching. HTML should be cached or served in under 500ms. One click shouldn't fire dozens of booking engine requests.

1. Blocking interactions. Every click (date, seat, fare) waits on a server round-trip before the page paints. Those requests should be async. They aren’t. 2. Skeleton loaders that shift the layout. Click → lockup → skeleton → jump → content. That’s INP, CLS and LCP failing in sequence.

Ben Schwarz reposted

Very quick and dirty Jev test for hiring bias. One resume for a Wall Street job; asked whether the applicant should get a first-round interview. 76 evaluations, changing only the first name. 19 of each: White-associated men/women, Black-associated men/women. console.typesafe.ai/playground?s...

Matt Hodges@matthodges.bsky.social

Somehow Jev has not yet triggered much discussion of cheap, low-latency, general-purpose classification as infrastructure for targeted oppression.

Great to reduce the TTL for new web platform features. I'd love to see other browsers roll to a more regular cadence too.

Chrome for Developers@developer.chrome.com

We launched our new two-week release cycle → goo.gle/4hsULH0 Here's what this means for web devs: * Smaller, more manageable release scopes * Modern Web Platform capabilities land sooner * Speedier delivery for critical security patches

Everyone is rightfully happy to call out Ed Sheeran for bowing to pressure, but no one seems to be acknowledging that one of the world’s best known music artists felt compelled to bend over for fascists, and showed that he too can be controlled. That's where we're at right now.

Everyone’s explanation for slow airline sites: “it’s the booking engine.” Ryanair and Cathay Pacific both run on Amadeus. Ryanair is one of the fastest of the 111 sites I measured. Cathay is the slowest, by a wide margin. It isn’t the vendor. It's what you build on top of it.

Ben Schwarz reposted

We just launched experimental ad metrics in the Chrome User Experience Report (CrUX): - Ad Count - Ad Density - Ad Weight: Network - Ad Weight: CPU These metrics are a set of ad-related measurements that provide transparency into sites' ad experiences. developer.chrome.com/blog/crux-ad... 1/8 🧵

developer.chrome.comNew ad metrics in Chrome User Experience Report  |  Blog  |  Chrome for DevelopersLearn about the new ad metrics now available in the Chrome User Experience Report (CrUX)

Ben Schwarz reposted

Whoa, folks… I knew there was a need, but this is unprecedented! In only 15h after I posted it, gamut mapping shot up to be the 4th most upvoted interop proposal¹! 🎉 It's also the #1 trending, but that's kind of expected given the fact above 😂 ¹ As of right now, note this is still very fluid

Lea Verou, PhD@lea.verou.me

🎨 Ever wondered why oklch() is so odd? Why adjusting L doesn't produce good color ramps? And why TF is L=100% not white?! I just wrote a thorough explanation of why this happens¹: github.com/web-platform... 👍 Upvote if you want this fixed in browsers in 2027! ¹ Spoiler: it’s lack of gamut mapping

Ben Schwarz reposted

1. Elon Musk is spending millions pushing Americans to VoteSafe, which bills itself as a voter registration site but is actually a digital surveillance machine.

People say they’re too scared to talk about their use of AI on bsky, so they have to go to X to feel like they’ll be supported (which… gross). My take: stop talking about AI incessantly and start showing what you’re achieving — aka results. So tired of all talk no action.