Live data from Hacker News

How Uber Deals with Large iOS App Size

eng.uber.com

1–10 of 215 posts

Re: How Uber Deals with Large iOS App Size

#3
post #2

I'd take a sledge hammer to it. The app doesn't have to be an app at all. It could simply be a stream with an os interactive overlay that intercepts touches. Like a thin client for phones.

That could trigger the App Store review block. But this is Uber, so I'm guessing there's special treatment :)

Re: How Uber Deals with Large iOS App Size

#4
Complementary: This thread on Uber's transition to Swift that almost broke them https://twitter.com/StanTwinB/status/1336890442768547845

Includes, among other things: forcing Apple to increase cellular download limits, 45 seconds for letters to appear in XCode, 12 seconds to call main, rewriting the linker and so on.

Re: How Uber Deals with Large iOS App Size

#8
Can someone help me understand this? They blame the source of the large bundle size on:

> The choice of Swift as our primary programming language, our fast-paced development environment and feature additions, layered software and its dependencies, and statically linked platform libraries result in large app binaries

but can somebody familiar with iOS development explain what makes app bundles so big? Actual CPU instructions or config can't contribute this significantly. The entire Bible is about 4.5mb. If you're writing an app by yourself you almost certainly didn't write that much text in the source code. A sibling comment links to https://news.ycombinator.com/item?id=25376346 which says that they have a lot of screens but even something like "PayTM (15+ screens)" is still just textual source code and config that I don't follow how it gets beyond kilobytes. The App Store places them at 309mb, so ~68 bibles.

I understand when games are large because they typically ship with images and videos included in the binary for game assets. But for a normal application where does the size come from?

Is it dependencies? (And how did _they_ get so big?) That weird intro video they have on the loading screen? Are they shipping bitmaps of the cities they have markets in?

Re: How Uber Deals with Large iOS App Size

#9
post #2

I'd take a sledge hammer to it. The app doesn't have to be an app at all. It could simply be a stream with an os interactive overlay that intercepts touches. Like a thin client for phones.

A stream may also make it harder for the app to work in areas with poor connection. Which, given Uber's use case, is probably a likely scenario and one that could lose a lot of customers to competitors.

Re: How Uber Deals with Large iOS App Size

#10

Can someone help me understand this? They blame the source of the large bundle size on: > The choice of Swift as our primary programming language, our fast-paced development environment and feature additions, layered software and its dependencies, and statically linked platform libraries result in large app binaries but can somebody familiar with iOS development explain what makes app bundles so big? Actual CPU instr…

I'd say this is the most comprehensive breakdown: https://news.ycombinator.com/item?id=25376346
Post reply on HN