logoalt Hacker News

Fivepluslast Tuesday at 5:50 PM5 repliesview on HN

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.


Replies

zbentleylast Wednesday at 12:03 AM

Hilarious. “The public’s phones don’t run google3, you say? Then we’ll ship google3 to them!”

(And yes I know it’s a tiny fraction of the size, let me have my fun).

itopaloglu83last Tuesday at 11:05 PM

Thank you for your explanation.

This is more like the what causes these apps to be so large, but when you ask why then you see that they simply do not care about the amount of space they take on users’ devices. There’s no obvious effort to reduce app size with modular design, it simply feels like they don’t care.

port11last Tuesday at 7:44 PM

Very insightful, rather than unjustified speculation. Of course it doesn’t explain why many other apps are so big, e.g. Withings, Bunq (bank), and Albert Heijn (supermarket) together eat 1GB of my storage. All 3 are things I need to list data, but somehow are the size they are.

show 3 replies
jeffbeelast Tuesday at 5:57 PM

> and gRPC

Right, I wouldn't be surprised of the app includes its own cryptography instead of relying on platform libraries, and/or contains what amounts to a userspace network stack in the form of QUIC (Cronet).

j45last Tuesday at 8:50 PM

I guess so much has already been built they wouldn't have just recreated it in Flutter or something.