Hacker News new | ask | show | jobs
by sackofmugs 1663 days ago
They mention the 1MB club at the end of that page, but even more strict is the 250 kb club: https://250kb.club/
4 comments

250kb over <25 requests should really be an established standard at this point. It's not difficult to achieve and makes a massive difference in energy usage and server requirements for high traffic sites. There are plenty of <25kb frontend frameworks, and some of them are arguably better than their >100kb competitors.

I recently made a site that frontloads an entire Svelte app, every page and route, entirety of site data (120kb gzipped), all of the CSS and a font full of icons, a dozen images, service worker and manifest. Clocks in at exactly 250kb, scores 100 on LH, fully loads in 250ms uncached, and all navigation and searching is instantaneous.

That's not a brag, it just goes to show that anyone can make sites which are bandwidth and energy friendly, but for some reason very people actually do that anymore.

How do you front load the whole svelte app?
Disabling SSR and prerender within SvelteKit turns the output into an SPA, and the manualChunks option in vite-plugin-singlefile ensures the output is one file that includes every page of the site.
That's pretty nice. Surely if you have a big enough site with enough content loading all of it one go is not a pleasant experience on slow connections?
Depends on the site and content, for sure. This particular site is aggregating a subset of public profiles and posts from a social media network. To compare, the site I'm pulling the data from uses nearly 20MB to display a single uncached page of post titles and 2MB per subsequent page, while my site is able to display the entire userbase for a cost of 250kb and a single request for a ~5kb image on subsequent pages. The only difference is the choice of frameworks and component construction.
That's really great. Is it open source by any chance?
What's LH?
I would be utterly embarrassed to produce a 1mb payload on anything but an image- or video-heavy website (where the images and videos are the actual content, not superfluous crap). There's absolutely no reason for websites that are primarily text and hyperinks to ever approach anything like 1mb. Even 250kb is excessive for many cases.

My latest website[0] is 7.5kb, and I built it after getting fed up with the official MotoGP no-spoilers list which sends 2mb to surface the same information in a much less user friendly way. This is how the bulk of the internet should look.

[0] https://gplist.netlify.app/

> There's absolutely no reason for websites that are primarily text and hyperinks to ever approach anything like 1mb. Even 250kb is excessive for many cases.

Yep. My personal site (70+ posts) is 26kb. 17kb is the syntax highlighting library.

Another project site of mine is 2mb but that's because it has a lot of screenshots. I should probably shrink those screenshots though...

There's also https://512kb.club/, which ironically is on https://250kb.club/.
Well, they all look like garbage txt to me.