- cross-posted to:
- programmerhumor@lemmy.ml
- cross-posted to:
- programmerhumor@lemmy.ml
Oh, they have new functionality. It’s all in the back end, detailing everything you do and sending it to the parent company so they can monetize your life.
Performance/optimisation wise is an environmental catastrophe…
Most resources are not consumed by wonky code or dependencies. Most resources are consumed by images and sounds.
Surely it depends on the specific software.
I imagine the ability for an app to watch me take a shit consumes about the same resources regardless of platform.
Because companies give zero fucks. They will tell you they need tons of IT people, when in reality they want tons of underpaid programmers. They want stuff as fast and cheap as possible. What doesn’t cause immediate trouble is usually good enough. What can be patched up somehow is kept running, even when it only leads you further up the cliff you will fall off eventually.
Management is sometimes completely clueless. They rather hire twice as many people to keep some poorly developed app running, than to invest in a new, better developed app, that requires less maintenance and provides a better user experience. Zero risk tolerance and zero foresight.
It still generates money, you keep it running. Any means are fine.
Ironically the management that does have a clue often is hamstrung somewhere up the chain.
It’s all because of Electron, unnecessary libraries, and just bad coders. Asus Armoury Crate weighs a lot and is so slow, but it’s basically a simple app. Total Commander has much more features, but it’s fast, lightweight, and consumes 9 MB of RAM.
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
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. Ads can be removed from certain apps but the layperson doesn’t know.
Generally maybe but for apps specifically, it’s the default choice of IDE, Android Studio, bundling tons of libraries for added functionality bound to Play Services.
Which would probably be illegal in EU now, if any judge had the tech see-through for it.
I’d argue that deploying from one codebase to 3+ different platforms is new functionality, although not for the end user per se.
I wish though that more of the web apps would come as no batteries included (by default or at least as a selectable option), i.e. use whatever webview is available on the system instead of shipping another one regardless of if you want it or not.
But if your tool chain is worth anything the size of each binary shouldn’t be bigger. To oversimplify things a bit: it’s just #ifdefs and a proper tool chain.
In the web development world on the other hand everything was always awful. Every nodejs package has half the world as dependencies…
#include “the_entire_fucking_internet.h”
You know we’ve reached peak bloat and stupidity when JavaScript web apps have a compilation step, and I don’t mean JIT.
If the goal is to not have apps be too large, you probably don’t want to send the full variable and function names and all of the comments over the wire every time someone loads a webpage. That would be a very inefficient use of bandwidth, wouldn’t it?
Don’t we have compression built into http already?
I’d rather take a compile step than having no type safety in JS, even as a user.
Except… the compilation step doesn’t add type safety to JS.
As an aside, type safety hasn’t been something I truly miss in JS, despite how often it’s mentioned.
I think they are talking about typescript which is compiled into javascript
Ok, that could be true. I assumed they meant the “building” phase that some frameworks go through.
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.
Usually, instead of having 8-bit art, you have epic songs and very high definition textures. That is a good deal of why.
I think the epic songs and 4K textures are missing in my MS Office.
Yeah but they made xlookup, that’s worth a few hundred megabytes
All hail xlookup
That’s weird. Have you tried reinstalling?
Textures and songs are not a thing on most apps right? For android, using Kotlin has created much bigger appsize than old java
Kotlin doesn’t have much impact on binary size.
For smaller apps maybe. I’ve seen apps that should take less than 1mb rise to 15mb or so
Backed devs: sweats
It’s just that we have to make space for our 5,358 partners and the telemetry data they need.
* legitimate telemetry data
Legitimate interest to train AI
That still wouldn’t account for it. The code to collect this is tiny and the data isn’t stored locally. The whole point is for them to suck it up into their massive dataset.
Because the app stores keep adding new requirements that you have to add code to deal with and it gets worse every year and seemingly every day.
Isn’t it strange that a shop is demanding code?
Simple reason - dependencies.
Modern devs dump any dependency and sub-dependency under the sun into their project and don’t bother about optimizing it. That’s how you end up with absurdly large applications. Especially electron is a problem in this regard.
You can still write optimized and small software. However, for most businesses, it’s just not worth their time. Rather using an additional couple hundred megabytes of dependencies on the client system.
In terms of programming, absolutely some bloat there.
But I would wager a majority (or plurality) would actually be high(er) res media assets, embedded animations and video etc.
The only sector where that is applicable is games.
Tell that to my banking apps!
I’d wager it’s the multilevel dependency of countless prebuilt components when devs are only going to use a small fraction of their capabilities.
I don’t get paid to optimize, I get paid to implement features.
It’s the ads.
Electron everywhere.
And analytics. And offloading as much computation to the client, because servers are expensive and inefficiency is not an issue if your users are the ones paying for it.
I saw an ad request with an inline 1.4 MB game. Like, you could fit Mario in there.
The Samsung shop hands out 1.4mb JSON responses for order tracking, with what I estimate 99% redundant information that is repeated many times in different parts of the structure.
Web “Apps” are also quite bad. Lots of and lots of stuff we’re downloading and it feels clunky.
Sometimes that’s bad coding, poor optimization, third party libraries, or sometimes just including trackers/ads on the page.
I vaguely recall a recent-ish article that an average web page is 30mb. That’s right, thirty megabytes.
It’s amazing how much faster web browsing becomes when I run PiHole and block most of it.
Suddenly the TV is pretty snappy, and all browsers feel so much smoother.
That’s straight up not true. It’s not even remotely close to that.
And I’m sitting here uneasy thinking how the hell I’m going to compress my map data any further so that my entire web app is no bigger than 2 mb. 😥
No, you need to go further: https://512kb.club/
Oh god, I’m not ready for the trauma and the emotional scars… D:
Some devs will include a whole library for one thing instead of trying to learn another way to do that thing.
from * import *
A whole library which was meant to to 10 things, but you only use one. And that for x libraries
Nowadays libraries are built with tree-shaking in mind, so when it’s time to deploy the app only the code that’s actually used gets bundled.
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.
Mine has 660MB with 7MB user data, 15MB cache.
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 😅
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.
Dude!! What a badass concept, cannot wait to give this a shot!!
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.