App Thinning: one of the best new features of iOS 9 for iGadgets users with 8GB and 16GB

Many cool news were presented in the opening keynote of WWDC 2015, which happened yesterday. But we cannot deny one thing: most of them should have been implemented by Apple some time ago, which proves that, despite (almost) always doing everything very well, Ma really takes time to bring some resources considered “basic” to its employees. systems.

A great example of what I'm talking about the Thinning app, a feature that pleases owners of iPads, iPhones and iPods touch with little space for storage (8GB and 16GB). In short, the idea that the device in question only downloads the piece of code of the app that it needs, consequently leaving the final size of the app / game much smaller.

As reported by the Ars Technica, there are three different mechanisms that developers can use to benefit users. Let's go to them:

App Slicing

Developers will continue to upload full binaries to the App Store. That is, codes and images to support a range of devices that have different specifications, including processors (32 or 64 bits), screen sizes / resolutions (3.5, 4, 4.7, 5.5, 7, 9 and 9.7 inches), among other things.

Currently, those who have an 8GB iPhone 5c and want to download a latest generation game, universal, obliged to keep on their device specific files created for iPads, iPhones with different screens, 64-bit processors, GPUs (graphics processing units, or graphic processing units) that support the API (application programming interface, or application programming interface) Metal, etc. What could be a 200MB download, for example, ends up becoming something like 1GB because of these unnecessary items.

Like App Slicing, users will now be able to download only those files created specifically for their devices. For that, it is enough for developers to catalog everything correctly and place tags for individual platforms. In the example above, when downloading the supposed game, an iPhone 5c user would download only the images and codes for his device.

ODRs (on-demand resources, or resources on demand)

Here, the idea is that some pieces of the applications should be downloaded only when it is necessary for the user not to use all the assets of an app at once. For example: in a multi-tier game, Apple suggests that the app only needs to have data for the level at which the user is and the next few, leaving outdated and very distant. An application with some kind of tutorial can download these assets only the first time the user is going to use them and delete them after he is no longer needed.

It remains to be seen how to solve some problems that this can generate, such as an app that needs to download an add-on at a time when the device in question has no internet connection.

Bitcode

When developers upload their apps to the App Store, they will no longer send pre-compiled binaries and will include what they call an “intermediate representation” of these apps, compiled on demand, depending on the device the user is downloading.

Yes, as you may have already fished, this feature is essential for some features of the App Slicing can be performed, for example determining whether an iPhone transfers a 32-bit or 64-bit torque.

· · ·

More information about Thinning app can be found in this Apple development guide.

Without a doubt, we are talking about a great feature that should have been implemented a long time ago. Still, better late than never!