Snowballing App Sizes

Here’s something that isn’t exactly news at this point: apps are taking up more space than they used to. Randy Nelson of Sensor Tower:

Of the top 10 most popular U.S. iPhone apps, the minimum growth we saw in app size since May 2013 was 6x for Spotify. As the chart above shows, other apps, especially Snapchat, have grown considerably more.

In fact, Snapchat is more than 50 times larger than it was four years ago, clocking in at 203 MB versus just 4 MB at the start of the period we looked at. It’s not the largest app among the top 10, however. That distinction goes to Facebook, which, at 388 MB, is 12 times larger than it was in May 2013 when it occupied 32 MB. It grew by about 100 MB in one update during September of last year.

Gmail is another standout in terms of sudden app size growth, having grown from 41 MB last October to 197 MB in November (an almost 5x or 380 percent increase) after a redesign.

Nelson is far from the only person to observe the egregious sizes of popular apps. Search Twitter and you can find hundreds of complaints about the sizes of Facebook, Facebook Messenger, LinkedIn, Twitter itself, and loads of others. People — especially those who update their apps over a cellular connection — are noticing the sizes of these updates.

But the numbers presented by Nelson are inaccurate compared to the apps’ sizes when they’re on a device. The size shown in the App Store is the total app size including all possible assets and code variants. However, iOS is smart enough to download only the assets needed for each specific device, provided the developer set things up correctly when submitting their app to the store.

For example, Nelson says that Snapchat is now 203 MB which is, indeed, the size shown in the App Store (actually, 213 MB as of the most recent update). But the copy of Snapchat on my iPhone 6S is 121 MB — a little more than half the size indicated in the store. The version of Facebook that I just downloaded to my phone is 159 MB compared to the monstrous 388 MB app shown in the store.

So the situation is not as dire as it appears; yet, these apps are still enormous. For comparison’s sake, I have a version of the Facebook app on my hard drive from April 2012 and it’s just 13.1 MB. Where’s all the extra weight in today’s app coming from? A chunk of it is due to an increased app binary: the 2012 version clocks in at 7.8 MB, while the June 2017 release is 43.3 MB. But the biggest change is in the Frameworks folder, especially because many of today’s Facebook apps include the same FBSharedFramework.framework file, which is over 250 MB in its uncompressed form.

Twitter provides another example of maddening bloat. A version of their app from March 2016 is 64 MB; a version from earlier this month clocks in at 122 MB.1 If you crack them open, you’ll see a 66.4 MB Twitter binary in the old version, but the newer version is just 144 KB — that’s kilobytes. Once again, the culprit for the increased app size can be found in the Frameworks folder — a nearly-200 MB directory. While many of these frameworks are relatively small and named logically, the biggest — the 100 MB T1Twitter.framework — isn’t easy to identify. It appears to be the bulk of the Twitter app in framework form.

One more, just for comparison, is the LinkedIn app. In March 2016, it was 105.7 MB; in June 2017, 200.1 MB — both versions downloaded from iTunes. The binary size has stayed pretty similar at about 1 MB in each, but the newer app’s Frameworks folder has exploded from 177.5 MB to 247.3 MB.

Not all big apps have an over-large Frameworks folder. But when I started examining these apps, I was a little surprised to find that first-party frameworks are a big component of large file sizes for apps from the App Store’s biggest developers. It appears to me that major developers — the Facebooks and LinkedIns of the world — are using frameworks to make it easier for disparate teams to build different components of their apps.

The thing that I don’t get is that all three of these apps are, from a user’s perspective, just windows into websites. Twitter is mostly just text, so it’s hard to understand why a 122 MB app is needed to show a feed. It’s the same thing for Facebook — the vast majority of what will be displayed in the app is downloaded live from a gigantic database, rather than existing within the app itself.

I think that leads to something else we should all remember: users don’t really care about apps — they care what they can do with apps. Nobody is excited to download the Skype app for the application; they’re excited to make a video call to their grandparents. Users aren’t stoked about buying a drawing app — they can’t wait to paint pictures on their iPad. An app should be well-built and a joy to use, but there should be no more application than is absolutely necessary for users.

And that’s what all this comes down to: respect for users. Apps should be as small as possible because users have a lot of other stuff that they want to put on their devices, and the only reason they’ve allowed some of that storage space to be occupied by a particular app is because they want to do something with it. Apps from good developers respect that.

  1. In Twitter’s case, there’s effectively no difference in app sizes between the version downloaded through iTunes on my Mac and the size reported on my iPhone. ↥︎