Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I do find it ridiculous just how big mobile applications have gotten. Why does the UPS app have to be over 100 MB? It's got maybe a couple dozen unique screens visible to the user, few image assets, and mostly just settings, and account login, text entry, and pulling results from the web. It's not unique to UPS, most of the apps on my phone are of that size magnitude (Amazon is almost a quarter gigabyte with data), it was just a convenient choice because of how simple the app seems.

That being said, the oddest-to-me thing in this article is a bank call center not being open 24/7.



I don't know about iOS, but when I look at big APKs on Android, what I usually see is a good number of images that are essentially repeated 3-4 times for different dpi ranges, and localized text, in utf-16, for many languages, uncompressed. I think I saw something recently about Google providing tools to compressing localized text, but I may be misremembering. The logic for storing localized text uncompressed is something about mmaping the data and accessing by offset for efficiency, but when an app supports a majority of the world's living written languages, and users tend to support only one or two, the storage cost doesn't make sense. At one point, Google Play tried to do localization packs, but it never actually made sense to use, so nobody does. I know proprietary options exist to compress localized text in apks, but being part of the default system is important.

</dated rant> (edit: my information is old, and perhaps hopefully outdated)


Android as a platform definitely supports only downloading the image assets etc relevant for your specific device - whether applications are taking advantage of this is a different question https://developer.android.com/guide/app-bundle/app-bundle-fo...


Uhm I think Google Play now always only sends you only the resources for your device and language? (except for the few old apps that are exempt from giving the signing key to Google)


It seems always so weird, when you compare those to some older well optimized desktop softwares. Some with decent number of features being in under 10 megabyte range...


In my experience it’s largely tracking SDKs, as well as other metric SDKs. Facebook here, data dog there… it all adds up. Then add images and other assets and you have a large app.


>> Why does the UPS app have to be over 100 MB?

Oh oh!! Let me guess!! I don't do mobile but have looked into it. And the guy behind me is doing an app too. Everyone wants to minimize development effort so they pick a framework that will spit out both iOS and Android apps. It's the framework that ends up bloating everything. Maybe? That doesn't explain "why", it just pushes it off the app developer onto someone else.


>Why does the UPS app have to be over 100 MB?

There are two conflicting problems here that are the two heads of the same coin:

>"Why is this app so big, don't the devs respect my storage?"

vs:

>"Why is this app so slow, don't the devs respect people with poor connections?"


? They're not in conflict at all, if the app is smaller it's also faster to download.


The app is only downloaded once every month or two for the usual updates. It happens in the background when you aren't using your phone anyway, and by default both OSes will wait until you're on wifi too.

App size doesn't matter much in the actual use of the app, especially if you're using it often.


I don't expect it to fetch everything from a server every time, not every app needs to be only a browser serving remote content. I just expect a simple app to be simple in size, there just isn't much going on in this app.


... except that the complete collection of everything the UPS app needs to execute or display, in order to actually fulfill its function, summed up throughout all of its operation in every possible mode, probably fits in 1MB. If there's 100MB of stuff you store or potentially download for a shipping app, then you're including something that doesn't add value for the user.

Start by removing all the pictures, videos, and similar. Then take out the analytics crap. Then, if your app is still big, figure out what's wrong with your code.


Is 100MB a lot? It feels like a decent size, yet if you consider that a hello world weighs 17kb, it feels like a lot without an explanation.

I'd venture a guess that there's a fat dependency chain based on the need to avoid reinventing the wheel all the while not paying for software dependencies.

NPM import npm2 npm2 install obscuredependency

And npm2 doing full dependency duplication to avoid version conflicts, leaving like 2 or 3 versions of each base library, that kind of stuff


100 MB is a lot for a simple application. On the Android phone I had in the mid-2010s, that would have taken up a ridiculous amount of my precious little storage.

That chain of dependencies does fall in line with the message (regardless of how widely it applies) of "modern developers don't care about efficiency".


> Why does the UPS app have to be over 100 MB?

The same reason it takes longer to write a shorter letter. Nothing is free, removing things costs time.


My experience is that it doesn't take longer. It just takes knowing that a lot of "best practices" are actually not (both dev and management need to know this, or at least management needs to trust dev).


Apps are like subscriptions, a way to get their claws into your stuff and continually drain whatever they can from you.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: