Live data from Hacker News

I shaved 187MB off United Airlines' 439MB iOS app

telkins.dev

161–170 of 452 posts

Re: I shaved 187MB off United Airlines' 439MB iOS app

#161
post #18
post #6

Does iOS not have code splitting? I thought most of iOS app bloat comes from the multiscreen assets. I surprised compiled code takes up so much space.

Do iOS apps still use bitmap graphics?

In many cases yes, but svg support has been available in xcode since ver. 12 and before that pdf had been available. As a consultant I haven't worked on a project yet where vector assets has been chosen over bitmap

Re: I shaved 187MB off United Airlines' 439MB iOS app

#162

Earlier quoted context omitted.

As a frequent and mostly non-loyal flier, I can say despite all its faults the United app is far and away the best airline app in the US: fast, easy to navigate, powerful, useful and often pleasantly surprising. American is the only other app that compares, I can't stand to use any other airlines' apps.

One could argue that maybe the developers of the app were optimizing for the right things. Usability, performance, etc., as opposed to disk space.

As a long time united frequent flyer, while I have many gripes, they have consistently made the app better and better without useless "redesigns for the sake for redesigns"

Re: I shaved 187MB off United Airlines' 439MB iOS app

#163

I spent the last ten years of my career building iOS apps, all but one you would likely known at the time, and whoever in charge of this app is an idiot. Shipping an app to the general public with symbols intact? Really? If they didn't know/didn't care, it tells me no one there likely cared about any other quality issue either. It's highly likely that any relevant lead person probably screamed about this daily, but h…

I travel on United probably 6 flights a month on average. Overall I think it’s a pretty good app but like anything I use routinely, I could easily come up with a list of 10 complaints, from a UX perspective.

My biggest is the UI only considers one half of a RT “trip” a trip.

Re: I shaved 187MB off United Airlines' 439MB iOS app

#164
post #100

Earlier quoted context omitted.

That may be true for some airlines (webviews vs native), but it is not true for many. Boarding passes are probably a good example. It's very typical for that functionality to use something like Apple Wallet integration, and also native widgets to upsell cross-sell boarding/seat upgrades, etc.

While broadly fair, one minor quip, I believe all Wallet passes have to come down from the server. Apps can't make their own, can they?

Passes already in the wallet don't require you to be online. But, what I meant was that there was additional code, thus additional size for all the functionality and ui related to boarding passes, whether or not parts of it don't work offline.

At least the airlines I've worked with prefer native code and UIs for any flow that's either revenue-producing, or likely to create issues on day-of-travel. They tend to use webviews only for things that don't have to be working to sell a ticket or board the aircraft.

Re: I shaved 187MB off United Airlines' 439MB iOS app

#165
post #135
post #65

You know what also have huge app sizes, it's various iOS email app. Fastmail is the only email/calendar app with a reasonable size (just 20MB) [0]. - Gmail (397MB) [1] - Outlook (328MB) [2] - Hey (69MB) [3] - Protonmail (128MB) [4] [0] https://apps.apple.com/us/app/fastmail-email-calendar/id9313... [1] https://apps.apple.com/us/app/gmail-email-by-google/id422689... [2] https://apps.apple.com/us/app/microsoft-outlook/…

To add some context, Gmail also includes a lot of the core workspace apps(chat, meetings, etc) if you do have a workspace account, which most users will likely never see. All of that isn't needed on regular accounts, I guess, but it's probably easier for them to ship it as one app because people might get confused/are able to switch between their workspace and regular accounts in the app. Gmail is also supposed to be…

Isn't chat, meeting, etc all separate apps from Google (and not included in the core Gmail app).

https://apps.apple.com/us/app/google-chat/id1163852619

https://apps.apple.com/us/app/google-meet/id1013231476

Re: I shaved 187MB off United Airlines' 439MB iOS app

#166

Earlier quoted context omitted.

If app sizes trend down, it might serve the users well, but it would depress iPhone sales as fewer users would need to upgrade storage. Which one do you think Apple cares more about?

If App sizes go down, its a win for Apple as well: 1. Faster update downloaded to devices compared to before & to Google/Android. That's a big PR win. 2. Most badly behaving apps have tons of unnecessary process & their binaries. Also storage is taken up by UI assets. If these are streamlined & reusable, the footprint goes down. That means less RAM can still do fine.

> big PR win

But it wouldn't move the sales needle. Nobody is going to switch from Android because they were waiting for smaller download sizes.

> less RAM can still do fine

That's bad for Apple because it discourages upgrading.

Re: I shaved 187MB off United Airlines' 439MB iOS app

#167
On android, the default Hello World example when you load Android studio takes more that 1MB, and it's a single screen with two words displayed.

The same ninja-optimized app can be less than 1kb. All the useless space is taken by libraries, features "just in case" like login and assets, and more runtime generic things.

Supposedly all that generic stuff should help for more complex apps, so for a very simple app the ratio used/unused is very high, but for more advanced apps it is low which means that the size of apps should not be linear with complexity

...yet they are, because the more complex an app is the more useless libraries are included.

Re: I shaved 187MB off United Airlines' 439MB iOS app

#168
Apple should have never allowed these "non-compiled" applications. An LTO like pass/etc would rip out tons of size too simply by removing all the unused code.

BTW: The last couple times I've run into this, they say use the app, but there has been a plex/etc like http video server on the onboard Wifi network which can just stream to random browsers/PCs/etc. I've yet to have any DRM/etc issues, although I suspect that might be part of why they want to push people to dedicated apps. A large number of people though just use their locked down work laptops/etc so they will have a problem when they cut off that path.

Re: I shaved 187MB off United Airlines' 439MB iOS app

#169
post #65

You know what also have huge app sizes, it's various iOS email app. Fastmail is the only email/calendar app with a reasonable size (just 20MB) [0]. - Gmail (397MB) [1] - Outlook (328MB) [2] - Hey (69MB) [3] - Protonmail (128MB) [4] [0] https://apps.apple.com/us/app/fastmail-email-calendar/id9313... [1] https://apps.apple.com/us/app/gmail-email-by-google/id422689... [2] https://apps.apple.com/us/app/microsoft-outlook/…

Used Emerge Tools size analysis to analyze the binaries, here's some quick findings to answer some questions: [0] Fastmail: smallest of the apps but still could have room for improvement, could save almost 20% of the app size by optimizing their audio files. 71% of the app is the binary. Check out the X-ray here: https://emergeassets.s3.us-west-1.amazonaws.com/Screen+Shot+... [1] Gmail: looks like most of their bloat…

Thanks for sharing. TIL about Emerge. Super interesting.

Re: I shaved 187MB off United Airlines' 439MB iOS app

#170
post #150

Earlier quoted context omitted.

I’d like to approach this differently, and think about what it would have cost United Airlines to do it “the right way”, versus what value it brings them. I’m the first to say that this utter bloat is terrible, but most people aren’t really bothered by it. And I can only imagine that they outsourced their app development completely and like to keep costs low. From that perspective, it’s probably much more pragmatic t…

I'm no mobile developer, but why wouldn't stripping out symbols be default behaviour that publishing process performs?

I can imagine that in case of app crashes, having debug symbols makes debugging them much easier.

Other than that, there’s unlikely to be a reason.

Post reply on HN