- 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.
deleted by creator
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
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?
Remember that day when GDPR dropped and website suddenly started loading much faster.
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.
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.
That’s one of the features Google should have stolen from Cyanogen/LineageOS long ago which had permissions differentiated between precise location and approximate
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
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 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.
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 some apps but the layperson doesn’t know.
removed by mod
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.
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.
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.
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.
It’s the ads.
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.
Tree shaking should fix this to a large degree though
It’s just that we have to make space for our 5,358 partners and the telemetry data they need.
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.
* legitimate telemetry data
Legitimate interest to train AI
Let me (lemme?) translate this into customer-friendly business language:
Enhanced user experience
That topics always made me curious tho…take a sample AAA games back then has smaller size compared to shitty Unity 2D games nowadays and i wonder why ?
Smaller textures, more assets, and worse audio mainly. Textures used to be like 512 for hero props. Now even random objects you see a few times get a texture 16 times larger. And they get up to 4 of those for each object/group of objects. Thanks to pbr and normals and whatever other masks and lightmaps may be required.
Im sure there are more reasons for size bloat but this is from us artists at least.
Less triangles and smaller textures. Crt monitors had less resolution and practically built-in anti-aliasing so they could get away with (and had to) “worse” assets.
Also since ssd-s have become mainstream unity uses less compression so it would load relatively faster.
Basically because monitors got better, standards got higher, competition got fiercer, storage got bigger and faster, etc.
And it’s not like there weren’t shitty games before, just everybody forgot about them.
I like how the game Banished is made. From a requirenments/looks ratio it is IMO great. One guy made it. Ghosts of Tsushima also looks amazing and is great from a techical perspective, but it is heavy.
Polygons aren’t that costly, they’re just a set of coordinates and pack up well and ultra expensive highpoly stuff is avoided wherever possible by proffessionals. It’s mostly textures and maybe audio that bloats size.
Yea, textures are the biggest thing (unless there’s video). But don’t underestimate vertices, even when using strips. Unity, i think, just ships textures as BCn, meaning 1MB per 1k texture (would be 3-4MB raw). It’s even better for the gpu then raw. Then there’s normal maps, etc.
Another thing is lighting data, be it some textures, probes, or whatever. That can also take up plenty of space.
I’ve mostly been told to use one 512 map max for lighting maps while textures I ship have a casual working file size of 5 gigs and above for substance painter. Idunno how well they get packaged up as since I haven’t played any of the games I’ve worked on for a while. I can see vertice data taking up a lot but other than some AAA games I don’t see why anyone would need to make super poly dense models.
Presumably less compression and fewer ways to install only necessary assets (such as only downloading audio for used languages)
Yeah but like, what new features do apps have which weren’t available in those times? Embedded videos maybe? Doesn’t justify the bloat.
#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 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.
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.
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.
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.
Dude!! What a badass concept, cannot wait to give this a shot!!
Has to send a number to Apple’s server too! actually not even sure if that’s client side.