Submitted by Jon Reed on
It has long been a frustration of iPhone owners, especially those of 8GB and 16GB models, to see a sizable chunk of their device's storage devoted to the operating system. Thanks to a new technology known as "App Thinning" that will be introduced with iOS 9, this will no longer be the case. As noted in this week's WWDC Keynote, the technology was used to pare down the iOS 9 OTA update from 4.6GB to 1.3GB, a 71% size reduction. Not only will this help with future OTA updates, but the technology will be available for developers to reduce the storage required by third party apps.
Though it won't actually increase your iPhone's total storage capacity (a 16GB iPhone will still have 16GB storage), App Thinning will allow you to store more apps and media, so for all intents and purposes, it does give you more storage. The technology uses three main features to de-bloat apps, the first and foremost is known as App Slicing. As explained by Ars Technica, iOS apps are coded to run on a variety of devices, so they come with code to support all them, whether or not your particular device requires it. For example, you may have an iPhone 5c with a 32-bit CPU and a GPU that doesn't support Metal. If you download a newer game, it will come with 64-bit code, iPad and "3X" iPhone 6 Plus assets and Metal API code, none of which your phone will use. App Slices will allow your iPhone to download only what it needs - the 32-bit code, "2x" iPhone-sized assets, and the OpenGL graphics code.
The second mechanism, known as On-Demand Resources (ODRs), works on the idea that an app probably doesn't need its entire library of resources at any given time, so parts of it can be downloaded or deleted as needed. For example, if you are just starting a multi-level game like Candy Crush, you probably don't need levels 100 and above right away, and once you've played the tutorial and are making your way in the game, you can probably discard the tutorial and maybe even the levels you have fully beaten. Developers will be able to specify what code is needed at what times by tagging sections of code as ODRs. These portions will be automatically downloaded from the App Store when they are required and deleted when they won't be needed again.Bitcode is the third mechanism and it refers to an "intermediate representation" of an app that developers will upload to the App Store rather than a pre-compiled binary. This works hand-in-hand with App Slicing, allowing the bitcode to be compiled on demand as 32-bit or 64-bit, depending on the downloading device. This will also allow any compiler improvements made by Apple to be implemented automatically, rather than having developers resubmit their apps.
It is yet to be seen how much App Thinning will reduce the size of a typical app by, but if it can achieve even half of what Apple did with the iOS 9 update (71% size reduction), that's enough to be a decision maker for some when choosing between storage capacities on their next iPhone. iOS 9 is already in the hands of developers, so expect to see some smaller apps in September when iOS 9 officially launches, likely along with the next generation iPhones.