App thinning – how Apple will optimize space on our iPhones
Piotr Zaj?c
Strategic Leader | Former Founder and CEO of Untitled Kingdom (acquired) | MedTech Consulting Director at Monterail | Driving Innovation in HealthTech | EO'er
A number of articles about iOS 9 have been written and appeared on various technological websites. I myself mentioned the innovations coming with the Autumn iOS update in the article about WWDC 2015. In all this mass of information about functions that will make lives of iPhone users easier there is surprisingly small number of reports and descriptions of “App thinning” which is a new solution that will improve the quality of applications and save a lot of space on users' devices.
From all these reports on public and developer beta versions of iOS 9, one expression stands out and says that Apple have put a great emphasis on optimisation which is nothing more but improvement of system's speed as well as provided support for the same devices as iOS 8 (for the first time in history, the new update will apply to the same devices as “retiring” system). “App thinning” and its components are parts of this politics. Why? I will explain this below.
Currently those who use iPhones without or with Retina or Retina HD download always the same version of an app from AppStore. It doesn't matter if you have 16GB RAM, 64GB or 128GB – you always download (depending on an app) tens or hundreds of MBs of unnecessary graphic files and app's elements. No more of that since Autumn.
Slicing
Slicing is something we, as end users don't have to know but it will make our lives easier and free hundreds of megabytes from our smartphones. In short, it is a technology which allows developers to easily make an application in such a way that an iPad Air 2 user downloads the iPad Air 2 version only and an iPhone 5 user doesn’t have to download from AppStore components of an application made for an iPhone 6 Plus (among others, support for 64-bit architecture, Metal engine or graphic elements for Retina HD).
Slicing, source: developer.apple.com
It works in a really easy way. The code made by developers is the same as before but now it is also automatically adjusted by Xcode during the time needed for compilation to slicing thanks to which an app is divided into the so-called variants which apply to different hardware configurations – as on the picture below. The final result is what I described above.
Slicing, source: developer.apple.com
BitCode
Another new element is BitCode which is strictly technical and maintenance-free component of App thinning. How does this work? From an archive sent by the developer to iTunes Connect (a system for managing applications available for developers) an intermediate representation of a compiled program is then created.
Such a version of an app is stored in the server and allows Apple to re-optimize applications to run even faster and smoother on your device without developer having it rebuilded and reuploaded to the App Store (which takes time).
On-demand resources
When downloading an application, do we always have to download the whole game with e.g. 25 levels which equals 2,5 GB of data? Do we always have to wait till all levels, models, cars etc. download just to see if we like the game or if it is playable? Do we have to wait for even those elements used after e.g. 20 hours of playing? In most cases the answer would be “no” and therefore Apple have met the users' expectation and created on-demand resources. The developers tag assets in selected places of the code and thanks to this, when creating an archive, Apple automatically groups them and we download just a few of initial levels when we install an app. Later on the app intercepts when it should download next levels to make using the app possible or allow playing without any breaks. Such a solution seems very reasonable as old levels that we finished are deleted in the same way as new ones are downloaded.
On-demand resources, source: developer.apple.com
We won't see a number of new features in iOS 9 and it's not a visual update like iOS 7 where we moved from the skeumorphism to flat design. With iOS 9 Apple clearly shows that, contrary to common belief, they do not do everything to make us buy new devices because the new system will slow them down. Quite contrary. When iOS 9 is finally present, all our iPads 2 and 3, iPhones and 4s (!!) will be much faster showing what they are really capable of. Speed isn't everything, do you value more the disk space? Now you won't have to worry about space for pictures or music from ?Music as iOS 9 will free hundreds of MBs from your phone!
About author:
Piotr Zaj?c - CEO of two companies: Untitled Kingdom, software house with 7 years experience in mobile development and Growth Republic, Ruby on Rails software house and Growth Hacking Agency. Especially keen on productivity, project management and of course mobile (mostly Apple platform). Also an NGO's enthusiast, pursuing his passion for culture as a president of 50 people Concert Band.