100 KB of images is not the same as 100 KB of JavaScript. You could technically still create a website that is a 1 KB HTML document that loads almost 1 MB of JavaScript, which is definitely too much.
There is a search engine that tries to do something like this... searches mainly for blogs and whatnot and I’m so sorry I can’t remember the name of it. :(
Ironically you can google about and find it probably.
The surprise me feature has yielded some really good links!
"Doom as a tool for system administration" [1], "What can you do with a slide rule?" [2], and of course some vintage 90s personal pages... some of which have been actively maintained to this day (!) [3]
edit: that last page has some incredibly-detailed information about the various cars he's owned [4]
Sure, many sites are bloated, but I can't help but feel the sentiment is somewhat dramatic. Cancerous growth? "Client-side queries!?"
Performance is just one piece of the UX puzzle. Users don't really care about bundle size... They care if your site provides value in a reasonable amount of time.
1MB in size feels like an attempt to define “performant” without considering... performance. A speed test from an “average” connection that also measures first paint etc. would be much more meaningful: not all megabytes are equal.
I think that's a little unfair tbh; there are plenty of places that already do that, but don't take account of the memory footprints on the clients machine etc.
I do agree that 1MB is arbitrary, but it's the right kind of arbitrary IMHO.
But when you start this way, you quickly endup with the bloat that is modern software. Because each extra bit of waste seems justified at every steps along the way.
[1] generates ico, png and svg. you may want to remove some favicons from the generated HTML snippet; in my brief testing, Firefox loads both png and svg, while Chrome loads ico.
In 2005 I had to fill in a form to request a page size exception for our election results map on the BBC News site. The page weight was going to be just a little under 400kb. At the time the size considered acceptable for the whole page (images and all) was 75kb.
As far as my math goes 75k(b/B) on dialup (usual speed for that time is 56.6k) is either 1.3s or 10.6s. Either being acceptable at the time since browser loaded text first and rendered images when they came.
Yes, sorry, kB. If I recall correctly our argument was that because after the initial load we only needed to poll occasionally for small data updates users would probably save time/ bandwidth overall (a familiar argument for the present day SPA advocates)
I previously suggested something a little bit along these lines. But what I thought would be better would be a distributed database and a browser extension that would measure load times (or maybe page size) and stability and automatically update it.
I'm pretty happy with my bloated mess. Glad youtube and Spotify aren't limited to 1meg
Glad Google Maps lets me view the world in 3D and with street views and make custom maps, and read reviews with photos, etc. Don't care that it takes more than 1meg.
Love Apple's beautiful pages like the Macbook Air page at 14meg
what if those experiences could be provided with a smaller footprint? Try to think bigger than yourself. It would no doubt be faster but also would consume less bandwidth, less storage, less compute = less power meaning good for the environment.
I don't think anyone is going to argue that there are sites that provide huge utility in exchange for their size. No one is suggesting we google maps should clock in at less than a MB. But the point is that there's a continuing trend of websites' sizes growing much faster than their functionality - often with the former to the detriment of the latter.
I was once asked to debug an extremely slowly loading page. In the first 5 minutes it was evident that the client was doing things it wasn't supposed to do. It was downloading 300MB worth of resources to show the webpage. Incorrect implementations and inefficient use of libraries is the reason why we're seeing a bloated websites all over the web
> It was downloading 300MB worth of resources to show the webpage. Incorrect implementations and inefficient use of libraries is the reason why we're seeing a bloated websites all over the web
In situations like that, it's right and proper to ask who built the site. Then shake your head with absolute contempt.
I've had to fix web apps like that, and no, that's not always right and proper. One example I can give is a tool which loaded 50MB of deeply nested JSON, because when it was written 5 years ago, the payload per item was 80% smaller and the company had 0.1% the number of items.
The correct response is to work out who was responsible for maintaining the site for the past five years.
Nice! I've gotten so jaded with how big and slow most of the modern web is, that randomly stumbling upon a tiny site prompted me to write about the joy of it on my blog (a much less than 1MB site itself): https://m-chrzan.xyz/blog/small-big-sites.html
Here's the disconnect, which is why these "webpages need to be slim!" sites tend to make me think they're greybeard nostalgia for an internet that doesn't really exist anymore.
Your 1mb webpage is approximately 60ms worth of Disney+ streaming.
Your 1mb webpage is approximately 1.7s worth of Zoom chat.
Your 1mb webpage is approximately 1.9s worth of Tiktok video.
Unless you are specifically targeting low-bandwidth users, you need to worry about product market fit long before you worry about slimming your js bundles down.
> Unless you are specifically targeting low-bandwidth users
There aren't some tiny number of low bandwidth users with some esoteric internet problem, there is a significant divide due to technological and geographic reasons. Averages are very misleading when the majority of people in cities connected to various fiber end points keep getting crazier and crazier speeds while 50% of the US is stuck on ADSL, with a theoretical max of 20Mbit down - add geographical limitations and that's often far lower due to line noise. Where I live in the UK it's also just a matter of luck, I live in the middle of a major city and yet in the 5 places I've lived over the last 10 years the only option was ADSL, and never >6Mbit.
I haven't even started the argument about other countries with poorer internet infrastructure.
When you assume being able to download at 1MiB/s is basic, you make the internet suck for a huge chunk of the population, they are not the majority - but barely.
Even if you are able to get palatable speeds, bandwidth caps are an issue for some people.
For example, I'm stuck with 40GB/month in rural Ontario (ie, 5 minutes outside of a city), which means I share roughly 1300mb per day with my household. I'm constantly watching the bandwidth meter tick up in my menu bar.
> Averages are very misleading when the majority of people in cities connected to various fiber end points keep getting crazier and crazier speeds while 50% of the US is stuck on ADSL, with a theoretical max of 20Mbit down - add geographical limitations and that's often far lower due to line noise.
Can you cite your source on "50% of the US is stuck on ADSL"? Furthermore, do you mean 50% of the US land area or 50% of the US population? The former is plausible, the latter is not.
You are not only conflating megabytes (MB) with megabits (mb) but you are also conflating latency (a site loading) with throughput (a buffered video playing).
In an age of 4k streaming being frugal with 1MB websites for the sake of it is kind of missing the point. Yes, we should care how we build stuff, and we should not use resources like there is no tomorrow, but on HN there is a sentiment that basically says that everything on the web after year ~2010 is terrible, hard to use and wasteful.
Well I agree and disagree :) as always it depends. I think it’s clear that especially on slow mobile connections people will close a site quickly if they don’t see results and this in turn yields lower sales for example. Also, Google will factor Speed into its algorithm. So you will lose traffic if you don’t optimize. At the same time, people at home with broadband wouldn’t care less.
That’s actually a core reason for slow pages. People in offices with large monitors and huge bandwidth develop those sites
I hear my users constantly yelling for more features. Not one has complained about the page load (5mb uncompressed, plus a delay for auth to initialize).
If you're offering a service that is so uncompelling or so undifferentiated that the page load speed is a driving factor, than you should certainly focus on page load speed.
On the other hand, Gmail regularly takes 10s+ to load and yet most users are glued to it.
If you're a SaaS business, your marketing page is probably not your app. The people using your app care about usability, and page load speed is rarely the driving factor. Especially with SPAs.
What I've found is that the users I have that complain are by far the minority of my users. They ask for every little whim, many of them conflicting. If I'd been listening to them my website would be a mess right now. Alexa top 5k. 7 million uniques / day. 550kb. Less than 2 years old.
Every time I implement a new feature, there is no significant change in my site's trajectory. Improving latency by adding an auto-scaler, however, has lead to a massive uptick in usage in the past 90 days.
Wait what? I was just bringing up something I've noticed. How is this a straw man? As I said before, this is by no means a firm rule, just something that I noticed is frequently the case.
PS. Thanks for linking those blog's, I've added both to my reading list.
If general public even knew who to complain they would have surely yelled loudly. For now I hear non-tech people say 'Oh, our internet is slow even though we pay lot of money'
Meanwhile valley bros keep helpfully reminding me to upgrade my computer to a reasonable 2020sh.
I wonder if the answer is better visualization tools? We have fairly detailed dashboards that we as developers can look at, but there is no “check engine light” version for people who just want things to “go”.
The general public likes to do things on the web other than reading minimalist hypertext. They like real-time chat and video and images and playing games in the browser. They would rather be able to do the things they like faster and more efficiently than abandon the last 20 years of technological progress.
The overwhelmingly vast majority of things on the World Wide Web are things that are perfectly feasible - and indeed pretty darn trivial - with minimalist hypertext.
I simply disagree that this relates to bundle size. When people (I know) complain about slow internet it's typically in relation to high bandwidth streaming (Netflix, Youtube, etc...)
This is said by someone who is not a "valley bro" and often lives in rural Canada.
"Optimization matters when it actually solves a problem" - agree.
With the major disclaimer that if your website serves ANY commercial utility for you personally or your business website speed is hugely important a clear cause / effect impact on engagement, conversion rate, bounce rate, etc.
I don't know about you but I see a lot of complaints on twitter about the new stories feature. That isn't a complaint about things being slow but it does seem to suggest users want to go backwards wrt new features that are unneeded.
I feel like it'd be more productive to reduce the CO2 per MB (e.g. using a 100% renewable-energy-powered hosting provider, pressuring ISPs to use renewables, pressuring power companies to use renewables, etc.) than to reduce the MB in this case.
I dunno. That time the user spends waiting for the sluggish website downloading gigabytes of html is time they maybe don't spend reaching for that apple that was air freighted across the world to reach their fridge.
Flippant but I doubt there's any clear correlation between reducing the size of a web page and reducing overall CO2 emissions.
Well also, my site is built with Gatsby and comes in at <1MB (just) but I bet if you told people it was Gatsby you’d get the stink-eye. “Ugh, dirty framework, what’s wrong with no-JS?”
I mean never mind that my internal page links load in <50ms thanks to prefetching and all the other smart stuff that Gatsby does.
Not everyone within earshot of your roof is "the general public". It matters to people on lower-bandwidth connections. It matters in terms of carbon footprints.
And just as someone who grew up horrified if individual pages got over 100kb (or whatever the company rule was), the idea of not caring at all about "page" weight is how my old company wound up passing 20+ megs of JSON around just because it was a little easier.
In my company I don’t care so much about load time since everyone will only load the app once per day, we know and control the network speeds, and anyway, they’re paid to sit there waiting for it to load.
The same thing is not true for the general public.
To be frank, that's probably because you're not listening.
YouTube redesign, Twitter redesign, and one other huge site I can't remember at the moment all had plenty of complaints about how much slower --- and less featured --- they were. The average user doesn't know a static page has been replaced with a bloated SPA, but can sure feel the difference.
The web has declined for sure, and it's precisely because of ignorant developers with attitudes like yours.
Twitter's web version is an abomination. Every time you click on a link to read a tweet, you get an error. Every time. You need to force a refresh to get the content. Its an absolute joke.
To any twitter "engineers" on HN, sort it or abort it.
What's even worse is that the much better static-page "mobile" version which I've been using (mobile.twitter.com), and you can only get to it if you set your UA to an older browser, now has this ominous "warning": "This is the legacy version of twitter.com. We will be shutting it down on 15 December 2020."
It's deeply disturbing that if they go full-SPA like YouTube did, it seems not a single person working there realises the insanity of somehow needing so much software (and hardware) just to read 140-character long microblogposts, something that would've been possible with hardware and software from 30 years ago. If you look at their minimum browser requirements, then look at the minimum OS requirements from the browser, and go back to hardware requirements from that, you'll probably end up with something that seems ridiculously overpowered for the task, yet with that "minimum supported" system the site will still be slow as molasses and worse than the static page. Seriously, what the fuck!?
Go to about:serviceworkers (for Firefox, other browsers might have it elsewhere) and remove anything related to twitter - or better yet disable service workers entirely. Not saying that this is acceptable, just providing a workaround.
> The web has declined for sure, and it's precisely because of ignorant developers with attitudes like yours.
Not only due to developers. Designers have a hand in this too. Example: on many sites (Twitter, Imgur, etc.), it is not possible to simply zoom in an image without jumping to a lot of hoops. You hover the mouse over the image, the pointer becomes a magnifying glass, you click and...
The image blows up to fill to the screen until it his a overly large and useless border that some daft designer thought looked cute. There is no way to zoom in any further, that is blocked. So zooming to see a part if the image in full detail is out of the question. What's worse, if you have a small screen, likely to be the reason that you wanted to zoom in the first place, the zoomed image is actually smaller than the original. Great!
So, I've wasted my data plan to download a large high resolution image and a bunch of javascript libraries that make sure I don't get to enjoy that resolution. I can't remember for sure, but I bet that his already worked fine in Mosaic in 1994. Not anymore. And why? What benefit does this bring? Other than that it looked nice on the designers computer, I mean.
No, not always. Users typically prefer waiting a few secs after entering their criteria rather than getting instant filtered and sorted search results, especially on price-sensitive services like price comparators, but basically everywhere the website is supposed to have the user's financial interest at heart.
Makes them feel like the site actually does some calculations, even if everything is cached in the background.
See travel agencies, airline comparators, train booking services, insurance benchmarks or credit simulations.
Perhaps Bradley Taunt is bikeshedding, but it doesn't mean he's not pulling in the right direction.
People obviously care because people obviously want their browsers to load content quickly. No one likes waiting for webpages to load.
How do you decide when a website/webapp is fast enough and you've "solved the problem"? On what range of devices and internet speeds do you test on?
As my family's personal IT assistant, I can't tell you how often I get the complaint that "my phone is too slow" or "my laptop is slow and heats up" when all they are doing is browsing popular websites. An we live in a developed nation with decent internet -- I can't imagine how awful it must be when you don't have those luxuries.
I think your comment is lacking severely in perspective, and the mindset you've demonstrated to be particularly bad for the web. Not to mention snide and dismissive.
391 comments
[ 0.14 ms ] story [ 267 ms ] threadIronically you can google about and find it probably.
"Doom as a tool for system administration" [1], "What can you do with a slide rule?" [2], and of course some vintage 90s personal pages... some of which have been actively maintained to this day (!) [3]
edit: that last page has some incredibly-detailed information about the various cars he's owned [4]
[1]: https://www.cs.unm.edu/~dlchao/flake/doom/
[2]: http://www.math.utah.edu/~pa/sliderules/
[3]: http://www.billswebspace.com/
[4]: http://www.billswebspace.com/124Abarth.html
https://github.com/storax/kubedoom
https://github.com/gideonred/dockerdoomd
Is this just some sort of self host?
Performance is just one piece of the UX puzzle. Users don't really care about bundle size... They care if your site provides value in a reasonable amount of time.
They quite literally did ask for it though.
I love the idea, just needs a better measurement.
I do agree that 1MB is arbitrary, but it's the right kind of arbitrary IMHO.
[0] https://1mb.club/favicon.ico
Performance is important, but if your site is clocking in at 17kb then you're probably doing okay.
https://output.jsbin.com/yudonidujo
[1]: https://realfavicongenerator.net/
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><path fill="#662113" d="M27.3 5.7c4.9-3.1 11-3.9 16.8-4.1A162 162 0 0031 10l-3.7-4.5zm4.1 5.6c4.8-3.6 10.1-6.5 15.3-9.6a18 18 0 01-4.3 12.7l-11-3z"/><path fill="#c1694f" d="M44 1.6l3.3-.3-.6.4c-5.2 3.1-10.5 6-15.3 9.6 3.7 1.2 7.3 2.2 11 3l-6 6.2c-3.6-.8-7.4-2.8-11-2.4a70.5 70.5 0 00-17 18.3c2.7.2 5.5.4 8.2.4h.5c-3.3.2-6.6.4-9.9.9 3.6.6 7.2.5 10.8 1-3.7 2.2-8.2 1.7-12.4 1.7-1.6 2.4-2.7 5.3-5 7.1.7-2.8 2.6-5.2 3.8-7.8.1-2-.4-4.1-.5-6.2L6.7 36l.3-.3c5.2-7 10.7-13.7 17-19.7l-1.6-7.7L27 5.4l.3.2 3.6 4.5c4.3-3 8.7-5.9 13.2-8.5z"/><path fill="#d99e82" d="M8 21.2C11.6 16 17 12 22.3 8.3L24 16A178 178 0 007 35.7c-1-4.8-1.3-10 1-14.5zm.5 15.2c4.6-6.8 10-13.4 16.8-18.3 3.7-.4 7.5 1.6 11.1 2.4L33 24.1c-2.5-.2-4.9-.4-7.4-.4l5.4 2.4-3.2 3.5c-3.7-.3-7.4-1-11.2-1l9.7 3a10.7 10.7 0 01-9.5 5.2c-2.7 0-5.4-.2-8.2-.4z"/></svg>
I went with:
Renders a black square, everywhere except Safari. The black square actually goes with the brand.Assuming kB and dialup, which was 83% of the US at the time (easiest stat to quickly find), that was a difference of about 23s vs 121s load time.
Edit: Seems like the UK would have been about 50/50 around that time according to this article: https://www.independent.co.uk/news/business/news/broadband-o...
Glad Google Maps lets me view the world in 3D and with street views and make custom maps, and read reviews with photos, etc. Don't care that it takes more than 1meg.
Love Apple's beautiful pages like the Macbook Air page at 14meg
In situations like that, it's right and proper to ask who built the site. Then shake your head with absolute contempt.
The correct response is to work out who was responsible for maintaining the site for the past five years.
Your 1mb webpage is approximately 60ms worth of Disney+ streaming.
Your 1mb webpage is approximately 1.7s worth of Zoom chat.
Your 1mb webpage is approximately 1.9s worth of Tiktok video.
Unless you are specifically targeting low-bandwidth users, you need to worry about product market fit long before you worry about slimming your js bundles down.
There aren't some tiny number of low bandwidth users with some esoteric internet problem, there is a significant divide due to technological and geographic reasons. Averages are very misleading when the majority of people in cities connected to various fiber end points keep getting crazier and crazier speeds while 50% of the US is stuck on ADSL, with a theoretical max of 20Mbit down - add geographical limitations and that's often far lower due to line noise. Where I live in the UK it's also just a matter of luck, I live in the middle of a major city and yet in the 5 places I've lived over the last 10 years the only option was ADSL, and never >6Mbit.
I haven't even started the argument about other countries with poorer internet infrastructure.
When you assume being able to download at 1MiB/s is basic, you make the internet suck for a huge chunk of the population, they are not the majority - but barely.
For example, I'm stuck with 40GB/month in rural Ontario (ie, 5 minutes outside of a city), which means I share roughly 1300mb per day with my household. I'm constantly watching the bandwidth meter tick up in my menu bar.
Can you cite your source on "50% of the US is stuck on ADSL"? Furthermore, do you mean 50% of the US land area or 50% of the US population? The former is plausible, the latter is not.
In these situations all I want to say is "Who cares".
Optimization matters when it actually solves a problem, before that it's just wasted effort.
I don't hear the general public yelling from the rooftops "The web is too slow! Developers are building too fast! I wish we could go backwards!"
That’s actually a core reason for slow pages. People in offices with large monitors and huge bandwidth develop those sites
I'll keep listening to my users.
Except on forum's. We complain there :P
On the other hand, Gmail regularly takes 10s+ to load and yet most users are glued to it.
If you're a SaaS business, your marketing page is probably not your app. The people using your app care about usability, and page load speed is rarely the driving factor. Especially with SPAs.
Better yet, ask your actual customers.
What I've found is that the users I have that complain are by far the minority of my users. They ask for every little whim, many of them conflicting. If I'd been listening to them my website would be a mess right now. Alexa top 5k. 7 million uniques / day. 550kb. Less than 2 years old.
Every time I implement a new feature, there is no significant change in my site's trajectory. Improving latency by adding an auto-scaler, however, has lead to a massive uptick in usage in the past 90 days.
This list has a second hidden benefit: Typically, I find that those who have very lightweight pages have more interesting things to say.
That being said, that's not a hard and fast rule, as I both have a lightweight page, and not much that's interesting to say.
I can point to two blogs on either side that have a lot to offer.
Large bundle: https://www.joshwcomeau.com/
Small Bundle: https://www.eugenewei.com/
Definitely. This is just something I've noticed.
> and a straw man.
Wait what? I was just bringing up something I've noticed. How is this a straw man? As I said before, this is by no means a firm rule, just something that I noticed is frequently the case.
PS. Thanks for linking those blog's, I've added both to my reading list.
Meanwhile valley bros keep helpfully reminding me to upgrade my computer to a reasonable 2020sh.
It seems a lot of the newer generation just doesn't realise what was already possible before, and is only infatuated with inefficient reinventions.
This is said by someone who is not a "valley bro" and often lives in rural Canada.
With the major disclaimer that if your website serves ANY commercial utility for you personally or your business website speed is hugely important a clear cause / effect impact on engagement, conversion rate, bounce rate, etc.
Flippant but I doubt there's any clear correlation between reducing the size of a web page and reducing overall CO2 emissions.
Except they usually yell "My phone is too slow" when the problem is actually the web that got 3X bloated since they bought their phone.
I mean never mind that my internal page links load in <50ms thanks to prefetching and all the other smart stuff that Gatsby does.
And just as someone who grew up horrified if individual pages got over 100kb (or whatever the company rule was), the idea of not caring at all about "page" weight is how my old company wound up passing 20+ megs of JSON around just because it was a little easier.
The same thing is not true for the general public.
YouTube redesign, Twitter redesign, and one other huge site I can't remember at the moment all had plenty of complaints about how much slower --- and less featured --- they were. The average user doesn't know a static page has been replaced with a bloated SPA, but can sure feel the difference.
The web has declined for sure, and it's precisely because of ignorant developers with attitudes like yours.
To any twitter "engineers" on HN, sort it or abort it.
It's deeply disturbing that if they go full-SPA like YouTube did, it seems not a single person working there realises the insanity of somehow needing so much software (and hardware) just to read 140-character long microblogposts, something that would've been possible with hardware and software from 30 years ago. If you look at their minimum browser requirements, then look at the minimum OS requirements from the browser, and go back to hardware requirements from that, you'll probably end up with something that seems ridiculously overpowered for the task, yet with that "minimum supported" system the site will still be slow as molasses and worse than the static page. Seriously, what the fuck!?
Not only due to developers. Designers have a hand in this too. Example: on many sites (Twitter, Imgur, etc.), it is not possible to simply zoom in an image without jumping to a lot of hoops. You hover the mouse over the image, the pointer becomes a magnifying glass, you click and...
The image blows up to fill to the screen until it his a overly large and useless border that some daft designer thought looked cute. There is no way to zoom in any further, that is blocked. So zooming to see a part if the image in full detail is out of the question. What's worse, if you have a small screen, likely to be the reason that you wanted to zoom in the first place, the zoomed image is actually smaller than the original. Great!
So, I've wasted my data plan to download a large high resolution image and a bunch of javascript libraries that make sure I don't get to enjoy that resolution. I can't remember for sure, but I bet that his already worked fine in Mosaic in 1994. Not anymore. And why? What benefit does this bring? Other than that it looked nice on the designers computer, I mean.
Makes them feel like the site actually does some calculations, even if everything is cached in the background.
See travel agencies, airline comparators, train booking services, insurance benchmarks or credit simulations.
People obviously care because people obviously want their browsers to load content quickly. No one likes waiting for webpages to load.
How do you decide when a website/webapp is fast enough and you've "solved the problem"? On what range of devices and internet speeds do you test on?
As my family's personal IT assistant, I can't tell you how often I get the complaint that "my phone is too slow" or "my laptop is slow and heats up" when all they are doing is browsing popular websites. An we live in a developed nation with decent internet -- I can't imagine how awful it must be when you don't have those luxuries.
I think your comment is lacking severely in perspective, and the mindset you've demonstrated to be particularly bad for the web. Not to mention snide and dismissive.
I think it might be like bicycle parts. It is ridiculous that parts are sold with a pricetag PLUS a weight in grams.
I mean, you could save the equivalent of $100 by wearing a short-sleeved shirt.
But those obsessive people end up making most bicycles lighter weight, and thus bike rides for normal people are more enjoyable.