Hacker News new | past | comments | ask | show | jobs | submit login

328.9 MB I'm sure it could easily be 1/10 of that while keeping all features important to the user.



Important to a user in 1 region/country.

https://news.ycombinator.com/item?id=25376346

Uber is a global app, so the other 9/10s of the code is for all the features and functionality you'll never see outside your region since there is currently no way to split up binaries by region.


328 mb more than a complete OS. No doubt they can EASILY trim 30-60%. Asset optimization, stripping SDK libraries and you're done.

It's like graffiti.. the app is so big already, that the devs don't give a damn about optimizing.. why bother if they are just A/B-feature tests? 30mb for some unoptimized screens for example


If you click the link OP posted and read the previous thread you will see they can "easily" do ass. They already spent millions in engineering time to cut the app size as the company existence literally depended on it when Apple's bundle size limit was 150 MB.

If your app is serving hundreds of cities with specific per-city customizations and all code and assets are in a single binary, life gets tough.


If you open up the IPA, you'll see that basically they've recreated some anroid-xml compatible rendering engine.

The localization files (50MB) -> All the strings files are double the size (unpacked), because of useless comments. There's 25MB already.

In the assets catalog -> half an MB for an upscaled (!) visa card. Other images where jpgs of heif are a better choice. probably in total 10-20 mb.

Strip all ICC/Gamma from the PNGS -> another 10mb.

pngcrush the images -> about 40%

And then of course the binary itself which is probably full of unused information.


I would like Apple to be doing some of these against all the apps.

Few app developers have the time/bandwidth to do these things and it would be a very inefficient use of resources to have everyone do it over and over again.


I hope they have enough resources “They already spent millions in engineering time to cut the app size”

The image optimizations, precalculation should be done be apple. But the dev could use a lossy format for certain files. That’s up to the dev, not Apple.

Maybe it’s because I used to write some j2me games. Or some games when Apple only allowed 15mb I think. I had to optimize the hell out of my assets. Still I think I’d Lucy’s that certain apps are almost half a gb in size


Nice check. I guess they relaxed a bit since Apple raised the app size limits :) (sorry for the snark in the previous post)


Well it’s easy to assume that big companies do the work you’d expect. But I think the bigger the team, the less they care about all aspects.

Especially with A/B tests, because they are just temporarily


Curiously, they've also had that issue and wrote a dedicated tool to clean up unreachable code after old A/B tests:

https://www.infoq.com/news/2020/04/uber-piranha-unreachable-...

I also know it first-hand as just last week I've been doing a mega-cleanup of years-old A/B test flags in our own code.


tbh I'm actually surprised that the executables / code takes up so much space at all. I'm sure the executable has some embedded resources in as well, but 130mb for just the executable is quite a lot imo.




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

Search: