Is this because it is a SPA? I'm hesitant to ascribe blame but I have to confess I'm pretty bored of inexplicably heavy frontend code that takes an age to both arrive and execute. Bonkers stuff.
My intuition was that most of the (transferred) 11MB would be images, but no! Of course it's JavaScript bundles: https://i.imgur.com/QoM0Mz5.png
I'm guessing most of that code is used for other things on the website/landing page (SPA without bundle splitting per page), and the same stuff is loaded for every page, since the code for building that would be trivial compared to the multiple large bundles like they're shipping right now.
Which kind of makes me think, what is the smallest amount of JS one could write to 100% replicate this page? Would <1KB be enough? Bonus points if it could be implemented with CSS only, under 1KB.
Clearly no one stops and ask "Should we?". Which is sad.
I was just spending long weekend at place with less perfect connectivity, that is 2-3 Mbs LTE... And the 11MB would have taken quite many seconds... Not exactly good user experience.
Good to know that Slack is not company to choose for user experience and efficiency.
Slack is a constant garbage fire where clearly all the devs have a fast desktop and don’t care about performance or battery use in the slightest. I wish my org would move away from this junk.
It's always been like this as well. Back when Slack first started gaining prominence ten years ago it was the only webapp that made my laptop's fan spin loudly. We actually migrated to HipChat because of that.
Same with how much space the entire thing wastes: it's clearly designed by people with 8K 30" monitors and perfect vision.
I have many more gripes, but that would be too off-topic. I don't understand how it got so popular.
Looks like the biggest part is a 37MB vendor bundle, so I assume those are all the libraries they use. It's 6.5MB transferred, but compression only helps with the network part, something still parses and interprets that JS.
I was profiling an ecommerce site we're responsible for and noticed that the app.js package felt a bit big: nearly 4MB unzipped. Most of it was the standard SPA/React attendant stuff with modern development, but within it was a 180 kB SVG of an old version of the company logo that wasn't being used anywhere on the site, but which had made it into a dev and then production branch and was shipped live. The zipped version was 175 kB total, but this SVG ended up being a decent portion of that size, and we do about 6M uniques per month, so it adds up, though we're now caching through CloudFlare instead of AWS/CloudFront, so that helps.
It aligns quite well with their Linux client that hogs so much memory that I need to run it in a cgroups with a memory limit to avoid eating too much memory :)
Absolutely insane. Some silly comparisons to what software has changed the world at less than 50MB:
- VisiCalc: ~27KB - i.e. the first killer app, and probably still the most successful. I wonder what DAUs on excel & google sheets compared to tiktok and insta are like...would be interesting to see.
- Wolfenstein 3D (1992): ~2MB - invented the FPS genre
- DOOM (1993): ~2.5MB (shareware), ~12MB (full)
- Quake (shareware) ~8.7 MB
- Quake (full) ~15-25 MB (excludes the CD audio)
- nginx: ~2-5MB - powers ~35% of all websites
- bash: ~1MB
- git (*nix only): ~3mb
- gcc + toolchain (ie ld, cc1, etc) ~40-45 mb
- FFmpeg: ~30-40MB
- curl: ~3MB
- OpenSSL: ~5MB
- windows 95: 50-55MB depending on features installed
I’m laughing at the idea of someone there seeing this article.
Organizes a meeting: “we look like clowns”. Technical person explains the package being big. Non technical person asks to remove, hoping for some kind of correction story. Marketing people looped in to maybe come up with a way to float this story.
Fix is evaluated for in a couple of sprints from now. A simpler html page is shipped for the sprint. Everybody high fives about one month from now for the simpler html page.
Non technical manager feels like they delivered something and the org is sluggish but they can get things done.
How much traffic do you think the 404 page gets? or do any 404 pages get these days? With a clean sitemap and only linked pages indexed on search engines, very few actual users/customers are going to hit 404 pages these days.
This isn't about being performative. This is about having fun. Blame a thousand Web 2.0 companies from yesteryear or blame Google for their legacy of little jokey easter eggs. This has a nod to Slack's history and some devs got to blow off some steam and have some fun. Would it be better if they crammed the animation into 1kb? Sure, but this isn't a demoscene comp. And perhaps Marketing gets a positive bump for it when someone shares it saying this is cool (or conversely threads like this).
This is about having some fun. It's part of our internet roots and culture.
30 comments
[ 2.9 ms ] story [ 61.5 ms ] thread57.54 MB / 11.83 MB transferred
There's only 11.83 MB transferred, but that doesn't excuse it.
I'm guessing most of that code is used for other things on the website/landing page (SPA without bundle splitting per page), and the same stuff is loaded for every page, since the code for building that would be trivial compared to the multiple large bundles like they're shipping right now.
Which kind of makes me think, what is the smallest amount of JS one could write to 100% replicate this page? Would <1KB be enough? Bonus points if it could be implemented with CSS only, under 1KB.
Wow, that phrase triggered a tune burried deep in my brain I hadn’t heard in 20 years.
Brains are weird
I was just spending long weekend at place with less perfect connectivity, that is 2-3 Mbs LTE... And the 11MB would have taken quite many seconds... Not exactly good user experience.
Good to know that Slack is not company to choose for user experience and efficiency.
"I did what my manager asked me to. Asking questions is no in my job description. I've got kids to feed".
Did the product itself not give it away? ;)
Same with how much space the entire thing wastes: it's clearly designed by people with 8K 30" monitors and perfect vision.
I have many more gripes, but that would be too off-topic. I don't understand how it got so popular.
- VisiCalc: ~27KB - i.e. the first killer app, and probably still the most successful. I wonder what DAUs on excel & google sheets compared to tiktok and insta are like...would be interesting to see.
- Wolfenstein 3D (1992): ~2MB - invented the FPS genre
- DOOM (1993): ~2.5MB (shareware), ~12MB (full)
- Quake (shareware) ~8.7 MB
- Quake (full) ~15-25 MB (excludes the CD audio)
- nginx: ~2-5MB - powers ~35% of all websites
- bash: ~1MB
- git (*nix only): ~3mb
- gcc + toolchain (ie ld, cc1, etc) ~40-45 mb
- FFmpeg: ~30-40MB
- curl: ~3MB
- OpenSSL: ~5MB
- windows 95: 50-55MB depending on features installed
- google.com circa 1998 - 10-15kb
- google.com today (anonymous session, ublock disabled) ~700kb
edit: my kingdom for markdown
Organizes a meeting: “we look like clowns”. Technical person explains the package being big. Non technical person asks to remove, hoping for some kind of correction story. Marketing people looped in to maybe come up with a way to float this story.
Fix is evaluated for in a couple of sprints from now. A simpler html page is shipped for the sprint. Everybody high fives about one month from now for the simpler html page.
Non technical manager feels like they delivered something and the org is sluggish but they can get things done.
This isn't about being performative. This is about having fun. Blame a thousand Web 2.0 companies from yesteryear or blame Google for their legacy of little jokey easter eggs. This has a nod to Slack's history and some devs got to blow off some steam and have some fun. Would it be better if they crammed the animation into 1kb? Sure, but this isn't a demoscene comp. And perhaps Marketing gets a positive bump for it when someone shares it saying this is cool (or conversely threads like this).
This is about having some fun. It's part of our internet roots and culture.