Google and others are putting 2FA notifications in their regular apps like gmail. I had to open my gmail app to get a 2FA code instead of my google authenticator app today... which is very weird and probably increases the needed security of the gmail app in addition to the size
> why is the Gmail app almost 80x the size of the native Mail app?
Apple Mail leverages libraries and frameworks already present on the device.
Google uses libraries and frameworks very likely already present on say Android, but on iOS they have to ship a gigantic runtime that implements those things the app depends on; this way they only have to write the app once for several supported platforms.
I’m just speculating by the way but it sounds like the likely reason.
You’ll notice Google Docs or sheets are equally gigantic because each also ships a copy of those enormous runtimes.
Windows 98 and Office 97 in their entirety are less than 700MB combined. How have things gotten so out of hand that a single email client needs more than an entire OS and office suite used to?
Hacker News is currently sitting at 130 MB. I simply do not understand how these things are calculated but I suspect the calculated amount that the Chrome tab diagnostic isn't a consistent way of comparing to other application memory usages, or at least a mental model that makes sense to most people (e.g. whats a lot of memory consumption? what should it be? is it too high, is it too low? etc.)
The question why is almost all modern apps pushing around 1G.
It is dependencies, if you ever compiled almost any GUI application via prots/pkgsrc on a BSD, you will be shocked by the dependencies that application needs, it is obscene.
>Gmail isn’t even the worst offender, it’s just a more popular one. The Tesla and Crypto.com apps are around 1 GB each.
One reason is those are typically apps which need to be heavily secured. So behind the seemingly "simple" user interface and functionalities, there's so much security related code to ensure their "safety".
More importantly, it's difficult to code without dependencies.
> For most of that period, the size of the Gmail app hovered around 12 MB, with a sudden jump to more than 200 MB near the start of 2017... The Gmail app, on the App Store, is currently 760.7 MB in size.
I had no idea common apps used to be just 10-30 MB. But are now hundreds of MB.
Something like Gmail doesn't have massive hi-resolution bitmap graphics. Since the article doesn't give any answer, I'm assuming it's a hand-wavy "frameworks", but that's an enormous amount of compiled code.
There are full-featured operating systems that fit on like one or a few floppy disks. Standard Linux distros would fit on a standard 600-700 MB CD, with some made for mini CDs being much smaller.
Personally I always wonder why a pdf tool puts 3-6 background processes on startup that are constantly doing something with my CPU and internet connection when my PC is otherwise idle.
I know that in some cases, apparent bloat like this is related to needing to support so many potential devices and versions of the underlying OS. Google has to support, on iOS, roughly 6 years of devices and their variations + OS variations on them. Each of these may require their own libraries compiled against it, for optimal performance or because it simply is less practical to engineer non-breaking updates against new SDK and HW versions in the same codebase without introducing complexity.
Apple, on the other hand, doesn't have to do this. They can integrate at lower levels and even with all else being equal can develop updates with perfect insight on the ecosystem and foresight on things to come.
Somewhat supporting this possible explanation is that, similar to Apple on iOS, Google's apps on android are significantly smaller.
I believe it is because it includes a suite of enterprise management features in addition to Gmail-related features. (Search for "google basic mobile device management" for more info.)
For me, the most important takeaway from the article was that the Passwords app supports 2FA codes! I was not aware of this, that's nice and getting rid of Authenticator is one less Google thing to worry about.
I genuinely struggle to understand how apps can get that large. Games with hi-res graphics, sure. But Gmail barely has any assets. And they aren't shipping with custom runtimes or anything of that sort (like an Electron app) because Apple doesn't allow it. So how much code can you possibly write that compiles to 700 MB?
Not surprising, sadly. In 2022, a friend who did trekking, asked how to view files with national parks borders on a map. I recommended installing QGIS desktop (geospatial viewer/editor of files/database tables). He replied: "1 GB of download?! Seriously?!" I was surprised, because last time I had paid attention, maybe in 2016, it was ~200 megs. I checked, and indeed, it weighed 1 gig. I checked in 2025, and it's beyond 1,3 gig now. And it's FOSS, not commercial bloatware you might think. I have no idea what they stuff it with.
Just yesterday, I wanted to generate a GeoTiff on a macbook. To do it in a simple way, you need libGDAL, a geo-spatial abstraction library that exists since maybe the '90 and supports all thinkable formats. Under Linux, you just install it together with QGIS as a dependency. Mac is still unix, so you may think, a 3-decades old library, with few patches to support modern formats, should be just a couple of megs, right? Brew suggested downloading ~2 GB of ~100 packages!!!! Half of them were aws-* (yes, AWS tools), and 1 GB of LLVM!!! (is it their whole GIT repo with 10M SLOC?)
For geotiff, I ended just using standard Tiff library, inserting my 4 geospatial tags with a few lines of code.
Well, something fishy is going on because there is literally no way that Safari, in its entirety, is 5.1 MB. The numbers for the others app seem similarly off.
It would be really hard to believe that somehow Apple has found some magic formula to make their apps 100x smaller than Google and Microsoft.
Much more likely is that the reporting by the OS is off somehow (probably most of the app functionality is tied up in shared resources counted towards system files, and not counted towards the app's size).
With respect, I would expect more from articles posted on Hacker News. More thorough research, and in fact an answer to the question.
The table at the end is seriously misguided. You can’t compare the sizes of an iOS preinstalled app against a non-preinstalled app. It’s just a thin UI shell where the code for all the functionality is inside system frameworks. The Photos app is quoted at 4.2MB. Guess what, if you delete that, you still have system components to render photos, UI for a photo picker, perform analysis on photos such as face recognition, all the iCloud networking code to support iCloud Photo Library, etc.
It’s wild when you put it into context. I remember when Gmail first opened to the public with a whopping *1 GB* of storage… now the app alone almost exceeds that.
Not only is the YouTube iOS app huge, it uses an atrocious amount of additional storage. It was using over 2GB on my iPad for...something...and the only way to clean that up was to delete the app and reinstall.
The easy answer: Google simply does not care. Some mix of: they don't measure it, they don't look at it, they don't goal around reducing it, nobody's performance review is going to be better because they reduced it, no director is asking product teams why they're increasing the app size. It's not surprising why these companies don't care, because it's a tragedy of the commons. The better question is why is Apple allowing these companies to ship apps that unnecessarily take up a meaningful amount of storage space?
A significant portion of larger sizes is likely due to how Google handles shared code across its iOS suite. They rely heavily on a shared C++ backend (using tools like J2ObjC or similar internal transpilers) to keep logic consistent between Android, iOS and of course the web.
When you pull in the gmail dependency from the internal monorepo, you are most likely pulling in the entire visual stack for Google meet, chat and spaces, plus the heavy protocol buffer definitions and gRPC libraries that underpin them.
Even if you don't use the "meet" tab, the binary could be including the video codecs, the real-time transmission logic plus the AR filter assets, because the app is compiled as a "Super App" container rather than a modular mail client. I feel it's an organizational artifact as much as a technical one.
It's pretty much the results of inter-platform competition. None of the actors want to use what the others are making for various reasons which I think are valid. For example, history has showned that being completly dependant on Apple tooling/frameworks/APIs isn't really a good idea because they are not a trustworthy player.
The same thing could be said about the reverse I guess and about most companies in general.
Software really has a big dependency problem because the sellers always bundle it with a service or a hardware in order to make money. I doubt it can be solved, since one has to make money somehow.
95 comments
[ 2.5 ms ] story [ 61.7 ms ] threadApple Mail leverages libraries and frameworks already present on the device.
Google uses libraries and frameworks very likely already present on say Android, but on iOS they have to ship a gigantic runtime that implements those things the app depends on; this way they only have to write the app once for several supported platforms.
I’m just speculating by the way but it sounds like the likely reason.
You’ll notice Google Docs or sheets are equally gigantic because each also ships a copy of those enormous runtimes.
It is dependencies, if you ever compiled almost any GUI application via prots/pkgsrc on a BSD, you will be shocked by the dependencies that application needs, it is obscene.
One reason is those are typically apps which need to be heavily secured. So behind the seemingly "simple" user interface and functionalities, there's so much security related code to ensure their "safety".
More importantly, it's difficult to code without dependencies.
Frameworks 150MB
Assets for all screen resolutions 50MB
Google Meet/Chat/etc 100MB
AI models 25MB
Yet there is a positive correlation between size and startup time…
With charts:
https://www.axios.com/2017/12/15/the-top-iphone-apps-are-tak...
I had no idea common apps used to be just 10-30 MB. But are now hundreds of MB.
Something like Gmail doesn't have massive hi-resolution bitmap graphics. Since the article doesn't give any answer, I'm assuming it's a hand-wavy "frameworks", but that's an enormous amount of compiled code.
We crossed lunacy long ago.
Apple, on the other hand, doesn't have to do this. They can integrate at lower levels and even with all else being equal can develop updates with perfect insight on the ecosystem and foresight on things to come.
Somewhat supporting this possible explanation is that, similar to Apple on iOS, Google's apps on android are significantly smaller.
Just yesterday, I wanted to generate a GeoTiff on a macbook. To do it in a simple way, you need libGDAL, a geo-spatial abstraction library that exists since maybe the '90 and supports all thinkable formats. Under Linux, you just install it together with QGIS as a dependency. Mac is still unix, so you may think, a 3-decades old library, with few patches to support modern formats, should be just a couple of megs, right? Brew suggested downloading ~2 GB of ~100 packages!!!! Half of them were aws-* (yes, AWS tools), and 1 GB of LLVM!!! (is it their whole GIT repo with 10M SLOC?)
For geotiff, I ended just using standard Tiff library, inserting my 4 geospatial tags with a few lines of code.
It would be really hard to believe that somehow Apple has found some magic formula to make their apps 100x smaller than Google and Microsoft.
Much more likely is that the reporting by the OS is off somehow (probably most of the app functionality is tied up in shared resources counted towards system files, and not counted towards the app's size).
With respect, I would expect more from articles posted on Hacker News. More thorough research, and in fact an answer to the question.
When you pull in the gmail dependency from the internal monorepo, you are most likely pulling in the entire visual stack for Google meet, chat and spaces, plus the heavy protocol buffer definitions and gRPC libraries that underpin them.
Even if you don't use the "meet" tab, the binary could be including the video codecs, the real-time transmission logic plus the AR filter assets, because the app is compiled as a "Super App" container rather than a modular mail client. I feel it's an organizational artifact as much as a technical one.
Software really has a big dependency problem because the sellers always bundle it with a service or a hardware in order to make money. I doubt it can be solved, since one has to make money somehow.
As a regular user, you are probably using 10% of all features available.