I look at MS Teams currently using 1.5GB of RAM doing nothing.
I look at MS Teams currently using 1.5GB of RAM doing nothing.
Every single one of them makes me feel like the vendor is telling me "we can't be bothered employing half decent developers or giving the developers we have enough time and resources to write decent software, so we're just going to use cheap and inexperience web developers and burn another gigabyte or two of your memory to run what could easily be a sub 100MB native app."
At least now I'll have significant numbers to tell my boss: "Sure, we can continue to use Slack/VSCode/Teams/Figma/Postman/ - but each of those is going to require an additional GB or two of memory on every staff member's computer - which at today's pricing is over $500 in ram per laptop which are all on a 18-24 month replacement cycle. So that's maybe a million dollars a year in hardware budget to run those 5 applications across the whole team. We'll need to ensure we have signoff on that expenditure before we renew our subscriptions for those apps."
Not that I know what's going on in an Electron app heap (because there's no inspection tools afaik), but I'm guessing much of it is compiled code and the rest is images and text layout related.
What? Are you talking about assets? You'd need a considerable amount of very high-res, uncompressed or low-compressed assets to use up 100MB. Not to mention all the software that uses vector icons, which take up a near-zero amount of space in comparison to raster images.
Electron apps always take up a massive amount of space because every separate install is a fully self-contained version of Chromium. No matter how lightweight your app is, Electron will always force a pretty large space overhead.
But window buffers are usually in VRAM, not regular RAM, right? And I assume that their size would be relatively fixed in system and depend on your resolution (though I don't know precisely how they work). I would think that the total memory taken up by window buffers would be relatively constant and unchanging no matter what you have open - everything else is overhead that any given program ordered, which is what we're concerned about.
Luckily, windows aren't always fullscreen and so the memory usage is somewhat up to the user. Unluckily, you often need redundant buffers for parts of the UI tree, even if they're offscreen, eg because of blending or because we want scrolling to work without hitches.
I'm very curious if this AI wave will actually lead to more native apps being made, since the barrier to doing so will be lower.
Surely video calls have a native capture method in Windows/macOS now where you can overlay the controls for fairly cheap resources, and file sharing only needs to consume RAM during the upload process.
What gives with these apps? Like seriously, is it the fact that they need to load a whole browser environment just to run 100mb of JS? If so, why bother shipping an app at all? Just encourage users to allow notifications in the browser for the site and be done with it. No apps to maintain, instant patching on refresh, where's the obvious downside I'm missing?
Usually followed by "stock holder value"
unfortunately for a vast majority of people, memory is not the biggest constraint in pedestrian computing needs.
My hope is that with the growing adoption of Linux that MS takes note...
At home I have Windows, MacOS, Mint, SteamOS, etc.
Why get all that capability for inside a native browser engine? We should reinvent all of it to run as JavaScript!