Michal Mocny's Avatar

Michal Mocny

@mmocny.com

Web Vitals, Speed Metrics, and #webperf @ Google. Previously: AR, Physical Web, WebApps, Startups. Autodidactic Geek, Woodworker, Sailer. Proud Father of 3 boys.

1,041
Followers
405
Following
57
Posts
22.03.2024
Joined
Posts Following

Latest posts by Michal Mocny @mmocny.com

Did you forget to mention the work on AsyncContext, or just too early to mention?

The Bloomberg contributions in the performance WG are much appreciated!

10.03.2026 00:23 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Now you have the opportunity to sort the keys alphabetically :D

Honestly that's an impressively thorough job of destruction! And you know now they are addicted to it...

05.02.2026 20:33 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Slow clap, from one dad to another.

03.12.2025 17:09 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

I don't get it... Is this uncommon?

03.12.2025 12:41 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Yeah I think 2026 will be an exciting opportunity.

I think individual sites or nimble RUM tools will be able to move fastest here, but we're slowly trying to gather data for CrUX. Not sure how much interest there is for that?

25.11.2025 00:11 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

One caveat-- those are averages across a large range of sites, some of which are popular but only minimally use the soft navs pattern, not full spa.

Many sites-- esp sticky sites-- will have higher ratios. But these are a minority of the overall.

24.11.2025 23:40 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0
Measuring Interactions and Navigations - Michal Mocny - performance.now() 2025
Measuring Interactions and Navigations - Michal Mocny - performance.now() 2025 YouTube video by Web Conferences Amsterdam

My recording from @perfnow.nl is now up on YouTube: www.youtube.com/watch?v=sDHS...

I was a bit nervous, and very tired, but I think it went okay.

07.11.2025 03:11 ๐Ÿ‘ 14 ๐Ÿ” 1 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0

Japanese tourism sign says "please refrain from any acts of nuisance" and my whole life philosophy is shattered...

06.11.2025 08:00 ๐Ÿ‘ 4 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

I couldn't find a metric for "turn off js" but I'm sure its trivial.

More useful would be "desired JS didn't have a chance to run" but that's much harder to define. We won't have single perfect number for that.

But I'll see if I can get some insights on Monday.

02.11.2025 16:25 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Ah neat. This answers the question I had last night.

Interesting stuff this signal graph...

01.11.2025 09:53 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Post image

Another wonderful @perfnow.nl conference has flown by.
Love this community, and I return energised with ideas and motivation.
Well, mostly energised...

01.11.2025 07:15 ๐Ÿ‘ 13 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

As we already have framework app templates and create-blank-app in code editors, we will have whole framework-version-specific context hooks as well.

My 2cents: It's not really what LLMs could do, its: why might developers choose to specifically constrain LLMs to a specific tech stack?

16.10.2025 14:44 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

As we evolve to develop new APIs or new idioms, there is a bootstrapping & training problem, no doubt, but this is where agents/context engineering plays a role.

Sure, if I just ask a chatbot to hallucinate a demo it might pick a random popular option-- but I could also frame my requirements.

16.10.2025 14:41 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

I think I disagree with the premise here.

I think that LLMS only need *sufficient* context to become good at writing in particular style, not necessarily *the most& context.

Like humans, LLMS can become expert developers at many frameworks regardless of which is most popular in the training set.

16.10.2025 14:39 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Post image Post image

<activity/> is sweet.

Seems there are two use cases in particular (right from the docs)
- prerendering hidden new content
- Keep rendering hidden old content

Pre-re-rendering you might say :)

08.10.2025 14:34 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

React 19.2 update and the react conf content from yesterday has been great.

I enjoy seeing the references to INP on guiding a lot of the performance and scheduling/coordination work, and the nice integration with modern web features.

Exciting stuff every year.

08.10.2025 14:31 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Omg genius

21.08.2025 20:42 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

(Ah. Astro+VT used to be coupled with ClientRouter, but afaik has been de-coupled. I assumed you mentioned cross-document-VT, which are also now supported.)

HTML swap I think is default, but you can opt to persist nodes (component islands, or dom nodes with state). The default might change...

08.05.2025 14:53 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Preview
RSC for Astro Developers โ€” overreacted Islands, but make it fractal.

@danabra.mov I've been enjoying your recent posts on RSC.

Re the astro post: overreacted.io/rsc-for-astr... I don't see mention of <ClientRouter> which both changes some of comparison, and, I think, validates the RSC model.

docs.astro.build/en/guides/vi...

Have you looked at that? Very htmx-ish.

08.05.2025 01:39 ๐Ÿ‘ 4 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
xkcd: PhD Timeline

m.xkcd.com does some of these things already. Unfortunate that you don't get redirected, automatically.

26.04.2025 16:32 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Naming aside, that presentation was exceptional.

It put into clear terms patterns we were struggling to articulate.

08.04.2025 18:30 ๐Ÿ‘ 4 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

A wild Michal appears!

08.04.2025 18:27 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Your last question in this episode, with an explicit call to "be specific", was about the nicest "I call bullshit" I've ever heard ;)

03.03.2025 14:57 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Darned. Sorry to hear that. You are the second person this week who I've heard this happen to.

Where are these slopes?

20.02.2025 11:43 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

That's not dodgy. You should see me try overhangs!

12.02.2025 11:58 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

That's actually genius! Until you forget to turn it off while on a roaming hotspot :)

22.01.2025 13:45 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

But now you have to undo on error or if user changes their mind...

Or maybe optimistic + route changes are a bad idea and you should only use it for simpler things?

13.12.2024 23:41 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

What happens when you mix:

- transition to a new state
- route change at new state
- useOptimistic (eager state update)

In most of the guidance for transitions they recommended integrating route changes after successful render, not at start.

I think useOptimistic means eager URL update?

13.12.2024 23:40 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Ricky, I've been left in <Suspense>.

I could really use() an answer! Could you kindly route() me, so I can start to Transition?

I eagerly await your Promise to resolve my query. Please don't reject.

(Why yes, I am dad joke levels of vibe today :)

13.12.2024 17:34 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

I, too, often feel this way when measuring event timing ;)

11.12.2024 22:27 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0