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.
It reacts with the visibility state, so no JS seems impossible. [ADDED:] Besides from the obvious mouse interaction, [/ADDED] everything else should be implementable in CSS I believe.
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
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.
> Clearly no one stops and ask "Should we?". Which is sad.
I'm not sure, I've seen plenty of cases where programmers do stop and ask "Should we?" while management says "It's not ideal, but you have 4 hours allocated to shipping this things, so decide the "right" approach for achieving our OKRs" or similar.
You can stop and ask that question. This quickly antagonizes the entire org - because that 57MB bundle is composed of sub-bundles owned by teams with their own incentives, and none of them are interested in doing a 404 page right - that they do not own, won't get promoted for and which doesn't show up in their KPIs.
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.
My org hasn't moved away but I use localslackirc to connect via my preferred IRC client.
I get perks like not seeing reaction emojis, gifs, and being able to mute the constant flow of @channel notifications by configuring a list of people or channels from which I am not interested in getting these generic notifications.
Also most importantly, since my company recently shifted from treating us like adults to telling us we must only work on the assigned tasks and for no reason go out of task, I configured it to not join general discussions channels where people ask for help and such things. In theory I'm on them, but from the point of view of my IRC client I'm not.
It re-joins automatically if someone mentions me specifically. Unfortunately it won't fetch the history when this happens so I might need to open the real slack to get the context before I can answer.
Anyway, it has worked mostly fine for me… I can have decent battery life and I don't get most of the useless notifications.
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.
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.
No way it happens. The business/marketing people can't stand their JS getting messed with.
There was a whole thread the other day about a framework for smuggling these huge analytics bundles through content blockers. Funny it was just around the same time another large thread was on the front page full of marketing people spazing out over the low click through rate when people are given AI summaries and aren't forced to "experience" these corporate sites running on their computers.
Presumably you're getting the whole Slack app, and if you're landing on their 404 page (for reasons other than this thread), then presumably you're using Slack. Which means you would have downloaded and cached that already.
There's a discussion to be had as to whether the Slack app should be 48mb, but that's a different discussion. Focusing on the 404 page feels like outrage bait for web devs.
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.
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.
Yep, it is a SPA - but there is still a category of old grumpy devs who insist that the real web is a single hand crafted HTML file sprinkled with a bit of CSS.
Yes, a 6MB (compressed) bundle is big. But it is not clear that the alternatives are better. The bundle would need to be split increasing complexity of building the application.
It is likely judged that splitting the bundle only has minimal positives compared to the negatives - which also align with my experiecne developing software for roughly the same target segment.
There is no inexplicably heavy front end code and SPA is not to blame here. This is a matter of non existent optimization and code pilled on top of code.
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 :)
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.
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'm guessing at that size (37MB!), the bottleneck becomes the initial parsing and interpretation of the JS for most clients, rather than the transferring part, which is kind of bananas when you think about it.
I don't know, but anecdotally, I still use it for work, but no longer for personal chats.
It also seems like someone at Slack is tasked with driving up engagement, because I get these "Your team is missing you" messages from Slack (only to be find a dead slack community). That might be a sign that they're losing traction?
Used differently I'd say, but can't say I have a 100% view of all the users. My feeling is that various software projects moved to Discord instead (particularly FOSS which feels strange), and Slack seen an uptake in enterprise usage which makes sense considering the new(-ish) owner.
diggan|7 months ago
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.
whazor|7 months ago
lifthrasiir|7 months ago
GodelNumbering|7 months ago
rsanheim|7 months ago
- 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
ceronman|7 months ago
Ekaros|7 months ago
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.
diggan|7 months ago
I'm not sure, I've seen plenty of cases where programmers do stop and ask "Should we?" while management says "It's not ideal, but you have 4 hours allocated to shipping this things, so decide the "right" approach for achieving our OKRs" or similar.
julik|7 months ago
penguin_booze|7 months ago
"I did what my manager asked me to. Asking questions is no in my job description. I've got kids to feed".
ghusto|7 months ago
Did the product itself not give it away? ;)
tossandthrow|7 months ago
This is an effect from no one prioritizing extra complexity that might / might not provide any tangible value.
unknown|7 months ago
[deleted]
smallpipe|7 months ago
guappa|7 months ago
I get perks like not seeing reaction emojis, gifs, and being able to mute the constant flow of @channel notifications by configuring a list of people or channels from which I am not interested in getting these generic notifications.
Also most importantly, since my company recently shifted from treating us like adults to telling us we must only work on the assigned tasks and for no reason go out of task, I configured it to not join general discussions channels where people ask for help and such things. In theory I'm on them, but from the point of view of my IRC client I'm not.
It re-joins automatically if someone mentions me specifically. Unfortunately it won't fetch the history when this happens so I might need to open the real slack to get the context before I can answer.
Anyway, it has worked mostly fine for me… I can have decent battery life and I don't get most of the useless notifications.
vachina|7 months ago
arp242|7 months ago
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.
tetrisgm|7 months ago
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.
mathiaspoint|7 months ago
There was a whole thread the other day about a framework for smuggling these huge analytics bundles through content blockers. Funny it was just around the same time another large thread was on the front page full of marketing people spazing out over the low click through rate when people are given AI summaries and aren't forced to "experience" these corporate sites running on their computers.
tomcsavage|7 months ago
kurito|7 months ago
mixedbit|7 months ago
esperent|7 months ago
There's a discussion to be had as to whether the Slack app should be 48mb, but that's a different discussion. Focusing on the 404 page feels like outrage bait for web devs.
burnt-resistor|7 months ago
disillusioned|7 months ago
hkt|7 months ago
tossandthrow|7 months ago
Yes, a 6MB (compressed) bundle is big. But it is not clear that the alternatives are better. The bundle would need to be split increasing complexity of building the application.
It is likely judged that splitting the bundle only has minimal positives compared to the negatives - which also align with my experiecne developing software for roughly the same target segment.
prinny_|7 months ago
nergal|7 months ago
sixtram|7 months ago
ChrisArchitect|7 months ago
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.
r1chardnl|7 months ago
57.54 MB / 11.83 MB transferred
There's only 11.83 MB transferred, but that doesn't excuse it.
fabian2k|7 months ago
diggan|7 months ago
rpgbr|7 months ago
chris_wot|7 months ago
bajsejohannes|7 months ago
It also seems like someone at Slack is tasked with driving up engagement, because I get these "Your team is missing you" messages from Slack (only to be find a dead slack community). That might be a sign that they're losing traction?
diggan|7 months ago
Used differently I'd say, but can't say I have a 100% view of all the users. My feeling is that various software projects moved to Discord instead (particularly FOSS which feels strange), and Slack seen an uptake in enterprise usage which makes sense considering the new(-ish) owner.
edf13|7 months ago
hestefisk|7 months ago
v5v3|7 months ago
epolanski|7 months ago
Discord is mostly used by devs.
Zealotux|7 months ago
burnt-resistor|7 months ago
v5v3|7 months ago
whamlastxmas|7 months ago
lukax|7 months ago
pftburger|7 months ago
18172828286177|7 months ago
dethos|7 months ago
kolanski|7 months ago