3 ms·
>but its a chat client That's part of the problem. Electron apps are unavoidably heavy - huge binaries and 250MB-300MB+ memory consumed regardless of the task
by kitsunesoba 10y ago
>but its a chat client
That's part of the problem. Electron apps are unavoidably heavy - huge binaries and 250MB-300MB+ memory consumed regardless of the task at hand. A simple "hello world" in electron without an ounce of JS or CSS will exhibit these traits.
Chat is a very simple sort of application. We've been doing it for decades now and have had functionality that approaches that of hangouts that works perfectly on machines with tens and hundreds of times less power and resources available. There's barely an excuse for such a program to consume more than 50MB of RAM, let alone 300MB+.
Some may argue that "unused RAM is wasted RAM," but I'd argue that this statement holds true only if the RAM that would be used is needed for actual functionality. If it's baseline requirement for the program to run at all, something is wrong unless the program is monstrous in nature (think AutoCAD, Maya, etc).
- kbenson 10y agoThis is only a useful argument when comparing to an alternative that does not exhibit those traits, otherwise you are saying it's worse than nothing, which it is not. If you want to say this is worse than X (where X is some theoretical desktop hangouts client) because it uses too much RAM, then do so, and we can compare and contrast what that RAM usage gets us in this case, and what the trade off is. If you just want to make a case that the RAM usage is too much for any chat, and if that's the baseline requirement for hangouts on the desktop because there are no other clients without those same problems (?), then you can propose a different protocol which doesn't have those restrictions. If you aren't willing to do any of that, then all you're really doing is telling people not to use a technology because it uses a lot of RAM, on principle, regardless of whether it would be useful to them. I don't think that's a good stance to take.
- kitsunesoba 10y ago>I don't think that's a good stance to take. You're probably right, but it's also no good to sweep the shortcomings of a technology under the rug and forget about them. With Electron and similar web-wrapper technologies becoming more popular, these issues should be put out in the spotlight and consistently pointed out so that they might be addressed. Brushing them aside is a disservice to everyone, developers using Electron included.
- kbenson 10y agoSure, but presumably the technology was chosen because there were trade-offs and the developers found it worth while. It's the same argument as writing a program in a dynamic language, in Java, or in C/C++ (or any other bare-metal low resource implementation, such as Rust). Complaining about a program being written in Java because it's bloated and used too much memory isn't useful in itself, if there are no better alternatives with respect to those complaints. Pointing out the alternative forces you to think about it more critically. Saying use C++ instead of Java opens you up to thinking about the choice the developer made in using Java. Perhaps it was specifically to avoid some pitfalls in C++, or because it was perceived as easier to work in. Similarly, saying to use Java instead of Python opens you up to those same considerations. All that's really just a long way of saying, maybe the developer decided that using this system accelerated their development enough that it was worth it. It's up to the users to choose to use the program, and if they find the drawbacks of the developer's choices to be not worth it, then they can choose something else (if it exists). If nothing else exists, then maybe the reason the capability exists at this point in the first place is because of those developer choices, in which case it's hard to fault them.
- mdeeks 10y agoThe latest YakYak release is only 50MB. YakYak has been running on my Mac the entire day now and it is only consuming 55MB of RAM. I tend to agree that Electron apps are heavy but it seems like there are ways to make it small like this one.