- cross-posted to:
- [email protected]
- cross-posted to:
- [email protected]
Duh, it’s because more and more code is ran remotely. Wait…
Ads and trackers
Don’t forget poor optimization
That doesn’t make the software take up more space on a drive. Optimizing is likely to result in a slightly larger install that runs more efficiently.
. . . does. Import whole ass library, use one function, once. Probably one of the easiest to implement yourself. Boom, file grew. Repeat.
Lodash wants to know your location
Paypal has 500 mb and just shows a number and you can press a button to send a number to their server.
It’s insane
You made me check it, and on my android device it’s 337 (just the app). Jesus Christ.
LMAO, he also made me check it.
347 MB for me, no wonder why I am always struggling with storage for my 128 GB phone (with not expandable storage of course), and I don’t even have that many games, even less ROMs 😅
Mine has 660MB with 7MB user data, 15MB cache.
Check out the apps Hermit and Native Alpha. They make web pages run like an app. I’ve only run into a couple sites where they don’t work right.
Native alpha sounds good since it’s foss and uses vanadium’s webview. Are you still logged in to paypal (any annoying website) a couple of months later. Or does it revoke your rights after a while?
I only use it rarely and I hate providing my info for 5 minutes just to do one transaction.
Has to send a number to Apple’s server too! actually not even sure if that’s client side.
It’s the secret sauce, called unnecessary frameworks and user analytics modules.
User analytics is such an innocent word for spyware.
With that in mind, I LOVE how lean and fast some FOSS apps/projects are. One of my motivations to go searching for FOSS alternatives is when something seems slow for no reason.
It’s not always the case, but it’s often the case
KDE Plasma has been getting so much more efficient with every release that you can almost recommend it for low-end systems.
I remeber using plasma on a weak 2016 160 usd laptop with no issue in 2018, I can only imagine how much better is now
lol my laptop is from 2011, i run gnome and kde easily. windows usually needs a round of debloating every update to be usable.
isn’t it a combination of younger developers not learning to programme under the restrictions of limited memory and cpu speed, on top of employers demanding code as soon as possible rather than code that is elegant or resource efficient or even slightly planned out
Generally maybe but apps specifically, it’s the default choice of IDE, Android Studio, bundling tons of libraries for added functionality bound to Play Services by default.
Which would probably be illegal in EU now, if any judge had the tech see-through for it.
Mostly the latter. We don’t do any optimizations on our product whatsoever. Most important thing is to say yes to all the customers and add every single feature they want. Every sprint is spent adding and adding and adding to the code as much as we can and as quickly as we can. Not a single second is allotted to any discussion about performance or efficiency. Maybe when something breaks, but otherwise we keep piling on more crap at full speed non-stop. I have repeatedly been told “the fast way is the right way” followed by laughter. I was told to “merge this now” on multiple occasions even when I knew that the code was shit, and told the team as much. I am expected to write code now and think about it later.
As you can expect, the codebase is a bloated nightmare. Slow as shit, bugs galore, ugly inconsistent UI, ENORMOUS memory use, waaaaaay too frequent DB access with a shit ton of duplicate requests that are each rather inefficient themselves. It is a rather complex piece of lab management software, but not so complex that it should be struggling to run on dedicated servers with 8 gigs of RAM. Yet it does.
Much the latter.
Plus everything better work perfecly out of the box on any hardware, and there is a lot of different hardware. Compatibility layers are often built into the package.
Java, for instance, recommenda that you package the whole (albeit slimmed down) JVM inside the package for the target platform, rather than relying on the java runtime installed already.
The users arent expected to know any of that anymore.
yep, a lot of apps are just repackaged chrome running a web page.
which begs the question to companies that require use of the app instead of just having a working website i can use on my copy of chrome/firefox that’s already on my phone…
why do you need hardware access to my device?
1 reason is that they want as much data as possible. They sell the user data. Or they use the user data to improve their targeted advertising. They want more ad clicks.
Re app versus site, many know how to block ads on browsers. With an app, the firm is hoping they can show you ads. There’s a way to remove ads from certain apps but the layperson doesn’t know.
Fucking Chrome/Electron is why.
I honestly wouldn’t mind that if they could all use the exact same runtime so the apps could be a few MB each, but nooooo.
400mb iphone banking app entered the chat
See: Webview2
Unfortunately, it is extremely painful to work with😔 Enjoy rolling your own script versioning and update systems instead of using squirrel et al
Edit: I think Tauri works by targeting this and webkitgtk via their wrapper library, unfortunately I can’t get my coworkers to write rust
Isn’t that just the same pig, just wearing different makeup? I’m not a fan of msedgewebview2.exe allocating 500+ MB RAM just because Teams is open, but maybe that’s Teams fault…
Not quite. instead of a bundled pinned version of electron, it is an arbitrary version of edge’s WebKit fork shared across all programs using it. That means you don’t need to keep multiple copies of the webkit libraries loaded into memory.
That’s not to say that building things on web technology is an efficient use of resources. Even if multiple programs are sharing the webview2 library, they’re still dealing with the fundamental performance and memory problems caused by building an app in JavaScript.
As for why teams is so memory hungry? I would blame Teams.
Discord manages to make a half decent, highly responsive webview app, and that’s with the overhead of having its own separate instance of electron.
EDIT: the original poster was also talking about application binary size, not runtime memory consumption. Application binary size should actually be significantly helped by linking webview to instead of bundling electron.
Is there any alternatives to electron ? And why people’s doesn’t move on to alternatives if electron is huge & heavy resources ?
The alternative is “just serve it as a regular website”. It doesn’t need to be an app to do its job. Name a functionality which only exists in electron but not in the standard browser API.
I mean, Object Pascal was doing the “write once, run anywhere” thing decades ago. Java, too. The former, especially, can make very small programs with big features.
Java (and Object Pascal, I’m assuming) have very old-looking UIs. Discord’s gonna have trouble attracting users if their client looks like a billing system from 2005. Also, what do you do about the web client? Implement the UI once in HTML/CSS/JS, and again in JForms?
So if you’re picking one UI to make cross-platform, and you need a web client, do you pick JForms and make it work on the web? or React and make it work on desktop?
Yea, electron has flaws, but it’s basically the only way to make a truly cross platform native and web app. I would rather take a larger installed size and actually have apps that are available everywhere.
The sad truth is there aren’t enough developers to go around to make sleek native apps for every platform, so something that significantly frees dev time is a great real world solution for that.
I think maybe you’re confused. Java drives a significant percentage of Android apps. It absolutely can do modern UI. I can almost guarantee you’ve interacted with a Java program this year that you never considered.
Pascal is more niche, but it can do modern, too.
Java was doing web clients before the web could and still can. I don’t know much about Delphi’s web stuff, but I know they’ve targeted it for years now.
WASM and transpiling blur the lines, too. LVGL can provide beautiful interfaces on the web as well as platforms Electron could never target, and works with any language compatible with the C ABI.
I’m not saying these strategies are without their own warts, but there are other ways to deliver good experiences across platforms with a ~single codebase in a smaller payload. But mostly nobody bothers because they just reach for Electron. It’s this era’s “nobody ever got fired for picking Intel”.
We need more people working with and on alternatives, not just for efficiency but also for the health of the software ecosystem. Google’s browser hegemony is feasting. Complexity has become their moat, preventing a fork from being viable without significant resources. Mozilla is off in a corner consuming itself in desperation.
A US-based company holds a monopoly over the free web and a hell of a lot of our non-web software. So maybe let’s look for ways to avoid feeding the beast, yes? And we can get more efficient software in the process.
Stares at Mullvad…
Is their app big? fwiw on desktop, I just use their config with wireguard app, and that works quite well for me.
I just updated Epic Games Launcher. BEHOLD:
1st update
2nd update
Almost a gigabyte for a mostly blank interface, wtf.
i have a better one, corsair ICUE. 4gb for a fucking png simulator.
God, I hate Corsair. Not only do you need to download their garbage software to fucking turn off the RGB on a headset, you have to have it running or the RGB will turn on again!
OpenRGB was my solution to almost all my RBG woes. It doesn’t work for everything but they have a compatibility page and it’s like 5-10mb.
Thanks for sharing that. My device isn’t listed, but I’d be surprised if Corsair changed how their shit works that much between devices. I’ll give it a try (it supposedly even works on Linux <3)
“Program is slow? Just get better hardware, brah!!! It’s cheap, bruh!!!”
Fuck you and anyone that thinks like that
It’s truely a sad norm
uh, please do ask, why does opening a fucking glorified text and image processing app require 1 gigabyte of ram.
Who wrote this software? The guy from the bible who was the model for greed and gluttony? Jesus christ.
I don’t remember those being particularly emphasised traits of his.
it’s going to be ret conned if you give it long enough, just like every part of the bible.
Did my husband made this meme? Because he is constantly saying this 😂😂😂😂
It’s nearly all just using a whole library instead of the specific single function thats actually required, because few people are actually writing any code these days.
Is this the appropriate point to reference the suckless community? I mean, that’s THE point of the movement…
The hp printer app says it needs your location to connect to WiFi. It says it needs your location all the time when not using the app, again to connect to WiFi
I think that’s to do with how permissions work.
Having wi-fi access can technically tell the app where you’re located so you need to give it location access
Which is stupid because it then also gets GPS access.
Can confirm.
Now, I just need to know why my calculator needs access to my contacts.
That’s because it gets lonely and needs someone to text.
It’s because one is the loneliest number.
You just reminded me of one particular calculator app which put “+” button behind a paywall
Lazy devs not removing old non functional commented code and background code additions ?
Though I do get it if they don’t want to remove the old code if their employer is an asshole
That’s not why. It’s the dependency trees that run a dozen layers deep and end up importing “isEven”. If you’re building a react app odds are good you’ll import way more code than you ever write yourself.
And no one should be leaving commented-out code in their app, that’s what source control is for.