Blank page with an embedded tweet. How bad can it be?
twitter.comUntil a year or so ago you could read Twitter with Javascript disabled in your browser. So we know zero lines of Javascript are actually required to read tweets.
I just stopped clicking in Twitter links once they intentionally disabled browsing without Javascript, and use Nitter.net if there's a tweet I really want to read.
It's common sense that for reading a bit of text and perhaps an image there is no need for JavaScript. Even video doesn't require it. It should all be HTML.
I've got an open source Twitter and Mastodon app that's as vanilla as possible. Python + HTMx.
Just added video support this morning. Total page load is 200kB. Double-click loads the video:
https://twitter.com/iSpoogeDaily/status/1607038383318081537
I'm releasing every week or two to Glitch unless I can get more funding. Latest version is on https://glitch.com/~hogumathi, there's supporter links and licensing info in the readme (public releases are AGPL).
Providing adaptive video (MPEG-DASH / HLS on any non Safari browser) still requires JS though.
One can also embed tweet with nitter by adding /embed in the end and with iframe tag. Eg: https://nitter.fly.dev/mhevery/status/1606438382561026049/em...
Pagespeed score: https://pagespeed.web.dev/report?url=https://nitter.fly.dev/...
reference: https://github.com/zedeus/nitter/pull/515
> What hope does an average site have if a simple tweet requires MegaBytes of JS and seconds to interactivity?
Their hope is that their orgs probably aren't as bloated as twitter's
Watching the browser choke two load points to make it appear is truly disgusting.
Honestly pathetic considering the size the engineering team used to be and points to an extremely broken culture.
In my experience, a larger engineering team makes these kinds of problems more likely
I wonder how many teams worked on tweet embeds, each with their own incomplete understanding of the full widget and their own competing product priorities and OKRs
There is also this alternative solution if you are using react/next
> What hope does an average site have if a simple tweet requires MegaBytes of JS and seconds to interactivity?
But dev deploying that abomination spent whole days less by just including random shit instead of understand the problems they solve! That's investor value!
Yeah, if it wasn't for the improved developer velocity of these fancy new JavaScript frameworks, we would have been left with a basic HTML version of the widget that doesn't require any JavaScript and has all the same features. Unthinkable!
Hey now, if you’re measuring my performance base on lines of code, I am damn well including everything I can think of, and cloning it right into my code rather than using it by reference.
Somebody smarter than me once quipped that measuring a software developer's performance based on lines of code is akin to measuring aerospace engineer's performance based on the mass he adds to the vehicle.
JS: 1.5MB PageSpeed score: 61/100 Time to Interactive: 9 sec TBT: 1.7 sec