A few things jump out: 1.) SSR is indeed getting some content on screen relatively quickly, but at the cost of a pretty bloated initial payload; HTML is ~90K/575K (wire/uncompressed). 2.) The JS bundles are huge; more than 200K/1MB for two main 1p packages.
-
-
Replying to @slightlylate
You're forgetting the site is usable without js to begin with.
1 reply 0 retweets 0 likes -
Replying to @michaelbenin
Not forgetting. I just don't give much credit to things you can scroll but not tap. SSR + heavy JS bundles = perceived brokenness.
@kevinpschaaf illustrated this brilliantly:https://www.youtube.com/watch?v=0A-2BhEZiM4 …3 replies 0 retweets 0 likes -
Replying to @slightlylate @kevinpschaaf
The links work when tapped. It's a full page reload when no js is available. Bit yes slideshows are probably broken. The v1 of this had slides on their own urls.
1 reply 0 retweets 0 likes -
Replying to @michaelbenin @kevinpschaaf
That's the thing tho; links don't work when tapped when the main thread is busy. So this much JS breaks your site until it's done running.
1 reply 0 retweets 0 likes -
Need to run out for a bit; will pick this up later. Until then, suggest watching Kevin's talk in full.
1 reply 0 retweets 1 like -
It's important to understand that JS is a run-to-completion language. Work you do on the main thread blocks the browser's ability to do *anything else* on that thread, including dispatching taps/clicks
1 reply 0 retweets 0 likes -
Scrolling only works because browsers got so exasperated at pages blocking scroll with script that we implemented exotic workarounds ("off thread scrolling" + heuristics around touch listeners)
1 reply 0 retweets 0 likes -
So this much script simply *breaks* the experience for multiple seconds. The SSR'd content *doesn't work*
1 reply 0 retweets 0 likes -
Which is sad, because until the JS loaded, it was interactive!
1 reply 0 retweets 0 likes
If there's good news, it's that the 4G link brings that execution closer to when the content displays. On slower links, this brokenness will play out later, after content has been read
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.
& Web Standards TL; Blink API OWNER
Named PWAs w/
DMs open. Tweets my own; press@google.com for official comms.