I went to update all of my apps the other day when something caught my eye… since when does LinkedIn take up 275MB of space?!
In fact, the six apps in this picture average roughly 230MB in size, 1387MB in total. That would take an 8Mbit internet connection 24 minutes to download, and I’d still be left with 27 additional apps to update! More and more companies are adopting shorter release cycles (two weeks or so) and it’s becoming unsustainable as a consumer to update frequently.
Something this systematic leads me to believe Apple has to intervene. Only two years ago were people complaining about Facebook being 100MB. Now it’s a whopping 354MB!
As app developers, we should be more conscious of the space we use. Take some time to remove the cruft that builds up and push back against needless waste.
So really, how does an app that occasionally sends me a connection request and recruiter spam take up 275MB? Maybe I’ll do an analysis at some point, but for now it’s deleted.
Update Aug 02
I want to thank everyone who read my article and voiced their opinion. You can follow along on Hacker News. I did not expect such a tremendous response when writing this so I’ll add a few more thoughts.
Like others mentioned, you can read more detailed analyses and breakdowns here (thanks
App thinning is a great place to start and nearly a free win.
As I learned in the comments, Apple also supports distributing app “diffs” rather than the entire binary. This sounds really neat, although I can’t speak to how well it works in practice.
Now this is where things get weird. The reported download size in the App Store is not the actual installation size! For example, it says Netflix has an available update that’s 114MB. After updating and installing it only occupies 66.7MB. Does that mean the App Store is reporting the fat binary size, but I’m downloading the thinned variant? It’s not very clear.
With these App Store download optimizations it seems like a major design flaw on Apple’s part to not report the download size and installation size separately.