- cross-posted to:
- programmerhumor@lemmy.ml
- cross-posted to:
- programmerhumor@lemmy.ml
Memory is cheap and data sells enough to many parties. Most apps are just store front for Ads and data collection.
No wonder why open source apps are quite light.
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.
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:
That’s straight up not true. It’s not even remotely close to that.
Some devs will include a whole library for one thing instead of trying to learn another way to do that thing.
A whole library which was meant to to 10 things, but you only use one. And that for x libraries
from * import *
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.
Cheaper & faster development by leveraging large libraries/frameworks, but inability to automatically drop most unused parts of those libraries/frameworks. You could in theory shrink Electron way down by yoinking out tons of browser features you’re not using, but there’s not much incentive to do it and it’d potentially require a lot of engineering work.
Yep. Apps are 20x bigger with no new features…that you are using.
Let’s not forget that the graphics for applications has scaled with display resolution, and people generally demand a smooth modern look for their apps.
In the case of normal apps like PayPal graphics shouldn’t be a huge factor since it should be vectorized and there is pretty much no graphics in apps like PayPal.
The issue comes from frameworks.
64kb should be enough for anyone
is that the size of doom or something lol
Its a reference to an old he said she said quote attributed to bill gates from the 1990’s
“640K ought to be enough for anyone” — Bill Gate
Yeah, though the joke is funny, this is the real answer.
Storage is cheap compared to creating custom libraries.
Also the storage is the cost for the user, and google in the case of play store. So the developers have no incentive to reduce the size.
Storage is cheap on a PC, it’s not cheap on mobile where it’s fixed and used as a model differentiator. They overcharge you so much. Oh, and they removed SD card slots from nearly all phones.
Nah it’s fine. Clean up used apps every once in a while. Base phones have more than enough space.
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 😅
Has to send a number to Apple’s server too! actually not even sure if that’s client side.
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.
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
Let me (lemme?) translate this into customer-friendly business language:
Enhanced user experience
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.
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
Marketing. Corporate leadership has decided marketing knows better software design than actual engineers.
Bro, just use AI, bro, you don’t need developers, bro, also skip the testing, bro, who is going to hack your SaaS, bro
Just let ai code bro its so much better and more reliable, just does what its told it works so good bro, ai is the future its so smart.
Kinda tired of people referring to my work as “IT”
I think this is a European thing. “IT” is a general term for any tech work, whereas in the US that term refers to technician level network infrastructure and sysadmin work.
No, people misuse the term in the US, too.
deleted by creator
IT sector
Still no.
I’m not setting up routers or configuring laptops.
I’m designing and building systems.
“IT” being used this way just means “touch computer.”
So you work with information technology? 😉
Agreed, anyone that falls below the CIO gets called IT.
What about the CTO?
What would you prefer?
Since I’m an engineer and I engineer things, maybe “engineering.”
Do you make engines?
No, I drive trains.
Have one of those cool hats?
And I get to toot the whistle
Feral Developer Level 3
Skill issue
Nailed it. Things have changed to allow cheaper (interpretable in several ways) developers to create “good enough” software as quickly as possible. If that involves inefficient frameworks, technology, and practices that unlock this, then so be it; if the “best” code is the code that makes money, and money is what corporations prioritize above all else, and there is a way to do that quicker and cheaper, the outcome is obvious and now ubiquitous. Furthermore, if nobody at the top cares, why should anyone on the ground care? The problem compounds.
Priorities are fucked.
If it runs “fast enough” on a completely clean system that would cost the average user $1500, then companies assume that that means that it is a good product.
If you want better software, you have to give developers worse hardware to develop on, and more time to develop.
If it runs slow on my laptop then there isn’t a chance it will run at all pushed to the cloud. Our cloud servers are…not great. Single core 1.75gb boxes compared to my 16 core, 32gb laptop. We can do a lot with them though. Just takes a decent amount of tinkering. In some ways the cloud was the best thing for performant code.
If you want better software, you have to give developers worse hardware to develop on, and more time to develop.
Shhh. There could be application development managers listening… (I’m joking… Mostly.)
inefficient frameworks
I’d like to object to that. Frameworks are often built by dedicated and paid developers, so they tend to be above average in terms of efficiency. But being frameworks, they have to facilitate lots of use cases, so they also tend to be bigger than what you would write if you had 6 months to roll your own. And 36 more months to kill all the worms that got out of the can, to mangle a proverb.
I wouldn’t say skill issue, more of time issue. You only get a week to implement something. Quicker to use existing libraries than try to optimise yourself.
It’s both, and they are in a sense the same.
Cheaper less skilled or less experienced programmers take longer to get similar results. One week with a a skilled programmer is a lot more value than one week with an unskilled programmer.
Even more if you want to invest some of that experienced programmer time to get the new guy up to speed.
Don’t worry, vibe coding is going to solve everything 😂
It’s the secret sauce, called unnecessary frameworks and user analytics modules.
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 2012, i run gnome and kde easily. windows usually needs a round of debloating every update to be usable.
User analytics is such an innocent word for spyware.
React
Why? Its libraries are a few kilobytes each.
https://bundlephobia.com/package/react@19.0.0 - 7.3 Kb
https://bundlephobia.com/package/react-dom@19.0.0 - 3.6 KbIs that the JS bundle only? I think you’re forgetting the need to ship a rendering engine, a JavaScript engine, and the rest of the JS you inevitably bring in if you’re using something like React.
Oh, I focus mainly on web. ‘Forgetting’ to ship engines is my bread & butter. lol I see you meant React (+Electron).
It’s like Moore’s law. The number of bytes for a basic app doubles every 2.5 years.
When I was young, we’d get a few different games games on a single 1.4 Mb floppy disk. The games were simpler, sure, but exactly the same games now would be far bigger in bytes.
Games is the one example that actually makes sense though. The game code size hasn’t really increased tremendously, but the uncompressed assets have only gotten more detailed and more numerous.
At least games make sense, as the graphics get better. Though in some cases, the compression is also better. Like PS5 games are smaller on average than their PS4 versions, even though they have higher resolution textures in most cases, just because the PS5 has better compression/decompression tech.
Better than that, the lack of reliance on spinning disks means that asset duplication and data read order is less of a requirement to reduce load times. It can still be argued that there’s just too many polygons, since simply scaling things back would be plenty effective in reducing storage usage and load times.
The other problem for bigger GB games is texture resolution. Games don’t always need 8K or 4K textures. 2K is good enough.
I only notice that the bigger the resolution, the smaller the text when the game in question has poor scaling options for the 2D elements…
My shitty eyes can’t detect any difference past 720p
Like PS5 games are smaller on average than their PS4 versions
My favorite example of this is Subnautica. The system didn’t call on the assets as quickly, or a different way I can’t remember all of the details but essentially they had to put like five copies of every asset on the ps4 version to get it to run properly. The ps5 accesses the assets fast enough it only needs one copy. At least that’s how it was explained to me.
Compression is mostly done in software.
uh, bad news for you.
All programming is done in software my guy.
Great! Your point?
this entire thread is about software being dogshit? (this specific comment thread is about compression being moderately improved on one console, but that’s not really significant)
deleted by creator
Tap for spoiler
Get electroned
AHHH, please trigger warning
I’d rather have the Rickroll, please 😐
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…
That’s how a bunch of apps broke when M$ got rid of explorer
#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.
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.
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 guess it’s easier and safer to make a string replace for each function name beforehand than hoping the compression algorithm will figure that out.
Also, as SpaceCowboy points out, comments are completely useless for the final web page. There’s no need to even compress them.