Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I find it funny that backend devs will do all this infrastructure work to support billions of real time messages and then frontend devs stomp all over it by making the app take 500MB of RAM and hundreds of ms to take basic actions.


I agree with you that we should care more about resource usage, but it's a false comparison. Backend devs control where their code runs, frontend devs don't.

You can make more precise decisions when you have complete control over the environment. When you don't, you have to make trade-offs. In this case, universality (electron and javascript) for higher RAM usage. It doesn't seem to have slowed Discord's adoption rate.

Even if they built their desktops apps in native code and UI, they'd have to build a JS website in parallel.


> Backend devs control where their code runs, frontend devs don't.

This has nothing to do wih the fact that Discord is a bloated, slow monstrosity.

> Even if they built their desktops apps in native code and UI, they'd have to build a JS website in parallel.

Oh no. The impossibility of building a site that displays text and images


It's a fair point. I think loss-aversion over React (Native) is to blame.

Their current client stack is: Web: React Desktop: React + Electron Mobile: React Native + Native

Their commitment to React on so many platforms makes it easy to accumulate bloat. Their need to support lower-level features means they can't avoid native code altogether.

I wonder why they stick with it.

My guess is they don't want to add more hires just for this problem

Their 2018 commitment to RN: https://discord.com/blog/why-discord-is-sticking-with-react-...

Their 2025 complications with it: https://discord.com/blog/supercharging-discord-mobile-our-jo...


Their native app actually feels surprisingly good, web less so, it's not a RN thing.


One runs on machines we pay for (= costs us money). Another runs on end users' machines (= costs them money).


You can pay to have better/more machines, while you can't do the same with your clients


But you can tell users their hardware isn't supported and to fuck off until they buy new hardware. Which is the norm.


But it affects user experience.


Backend performance issues can grind your system to a halt. It’s basically a requirement for Discord to work reliably.

Front-end performance is not a hard requirement for most end users, unless the app is actually unusable. Discord isn’t that bad compared to some software I’ve used. You have to get beach balls on startup and complete UI freezes for people to really care. If it’s good enough for most people, shaving some MB off the memory usage or small number of ms off latency isn’t important to the business


As long as negative experience doesn’t meaningfully impact user monetization, there’s no business incentive for that type of company to care.


Given how intelligent people are, I would not be surprised if this is by choice. They probably don't want poor pleba using their software anyway, just those with money to spare


Devs are probably running high end MBPs and don't get to experience the frontend on a potato


You can't buy client performance, so it is just more visible. It's not like there are a lot of people with Rust/C++ back ends outside of some very critical pieces.


Sure you can, you hire people to improve it


Well, no wonder everyone ships websites.


The average Discord user does not care.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: