iOS 9 app thinning

App Thinning: zo bespaar je opslagruimte op de iPhone, iPad en Apple TV

Apps hebben dankzij App Thinning, App Slicing, Bitcode en On-Demand Resources minder opslagruimte nodig. Hoe werken deze technieken en wat merk je ervan?

Heb je door de vele apps, opgeslagen foto’s en videobestanden eigenlijk altijd te weinig ruimte op je iPhone? Daar probeert Apple met technieken als App Slicing, App Thinning, Bitcode en On-Demand Resources iets aan te doen. In deze gids leggen we uit hoe het werkt en wat jij eraan hebt.

Opslagruimte besparen op 4 manieren

Apple heeft meerdere oplossingen bedacht om te zorgen dat je iPhone, iPad en iPad touch minder opslagruimte nodig hebben. Apps worden daardoor compacter, iOS-updates zijn kleiner en je hoeft niet langer volledige games te downloaden om deze te spelen. De meeste van deze verbeteringen zijn ingevoerd sinds iOS 9, maar zijn natuurlijk ook aanwezig in latere versies van iOS. Bovendien wordt het ook op andere platformen gebruikt, zoals op de Apple TV.

App Thinning: een verzameling technieken

iOS-apps kunnen gebruikmaken van een verzameling technieken die gezamenlijk App Thinning worden genoemd. Ze zorgen ervoor dat apps zo weinig mogelijk opslagruimte op je toestel in beslag nemen. En ze zorgen ook dat het downloaden van apps zo snel mogelijk gaat, omdat je alleen de onderdelen downloadt die je nodig hebt. App Thinning lost dus twee problemen op: de opslagruimte van je iPhone raakt niet meer zo snel vol en je databundel is minder snel op.

App Slicing: apps op maat

App slicing is één van die technieken. Het zorgt ervoor, dat je een app op maat krijgt geleverd, die alleen de onderdelen bevat die op jouw toestel zijn afgestemd. In de loop van de tijd moesten ontwikkelaars met steeds meer dingen rekening houden: verschillende schermresoluties, ondersteuning voor 32- en 64-bit chips, OpenGL ES, Metal en dergelijke. Dit zorgde ervoor dat universele apps steeds groter werden, omdat ze assets (graphics en dergelijke) voor elk ondersteund toestel moesten bevatten.

iOS 9 app thinningApp Slicing lost dat op. Ontwikkelaars uploaden nog wel de volledige universele app bij Apple, maar de App Store zorgt ervoor dat alleen een variant wordt geleverd die bij jouw toestel past. Installeer je bijvoorbeeld een game op de iPhone SE? Dan download je niet de graphics die nodig zijn om de game op de nieuwste iPhones en iPads met een veel groter scherm te kunnen spelen. Ondersteunt jouw iPhone niet Apple’s Metal game-engine, dan worden de benodigdheden voor Metal in de app ook niet gedownload. Dat is vooral handig bij universele apps, waarin voorheen de volledige assets voor alle iPhones en iPads te vinden waren, terwijl jij de game alleen op een iPhone wilt spelen.

App Slicing wordt ook wel Asset Slicing genoemd. Het gaat dus om het eenmalig downloaden van een maatwerkversie van een app, afgestemd op jouw apparaat. Er is geen sprake van streaming of later downloaden van extra content (dat laatste heet ODR en bespreken we verderop). App Slicing zorgt voor minder dataverkeer. Dat is handig voor jouzelf, omdat je databundel langer meegaat. Maar het is ook handig voor Apple, omdat zij met miljoenen downloads per dag te maken hebben en op deze manier hun dataverkeer kunnen beperken.

App Slicing

On-Demand Resources voor games

Er is nog een andere manier om apps kleiner te maken, die vooral afgestemd is op games. Deze techniek heet On-Demand Resources (ODR). Je hoeft vanaf iOS 9 niet langer een volledige app te downloaden om deze te gebruiken. Daarbij wordt alleen de content gedownload die je nodig hebt om de app te kunnen opstarten. Bij een game kan het bijvoorbeeld gaan om de eerste gamelevels en een video-tutorial. Wil je verder spelen, dan haalt de app on-demand (dus op verzoek) extra content op.

Het werkt als volgt: je downloadt een spel uit de App Store, waarbij in eerste instantie de eerste paar levels worden geïnstalleerd. Dat downloaden gaat lekker snel, want het is een relatief klein bestand. Naarmate je de game langer speelt worden in de achtergrond nieuwe levels gedownload, terwijl het spel de oude levels verwijdert. De behaalde score blijft uiteraard wel bewaard.

Je hoeft hier niets voor te doen. Zodra jij level 4 hebt uitgespeeld en aan level 5 begint, weet de app dat jij misschien wel verder wilt spelen en downloadt alvast levels 6 t/m 10. Daarbij worden levels 1 en 2 en de introductievideo meteen gewist, want die heb je niet meer nodig. Met andere woorden: periodiek wordt nieuwe content opgehaald en oude content gewist.

Het gebruik van on-demand resources (ODR) bespaart downloadtijd, omdat je een relatief kleine versie van de app kunt downloaden. Ook bespaart het opslagruimte, want een game bevat bijvoorbeeld geen tutorialvideo’s meer als je de game onder de knie hebt. Helaas heb je zelf geen controle wat er wel en niet wordt bewaard. Je kunt dus niet bij het opstarten van een game al meteen de tutorialvideo’s weggooien. Alles gebeurt op de achtergrond, zonder dat jij erover na hoeft te denken.

Het is een goede ontwikkeling voor spelers die een game even willen proberen en vervolgens nooit meer spelen. Voorheen moest je bij een grafisch complexe game met meerdere spelwerelden dan meteen 1 GB downloaden, terwijl je nu bijvoorbeeld met een download van 300 MB klaar bent. De besparing is zo’n 50% of meer.

Dankzij app slicing en ODR kunnen apps en games gemakkelijker onder de downloadlimiet van 100 MB blijven, zodat je ze via het mobiele datanetwerk kunt downloaden. Bij games die groter zijn moet je gebruik maken van het Wi-Fi-netwerk. Extreem grote games die voorheen 4 GB of groter waren, kunnen nu ook redelijk compact worden aangeboden. Als je een game volledig uitspeelt, heb je natuurlijk geen data bespaard, want uiteindelijk zul je bij ODR wel alle content downloaden. Maar het dataverbruik is wat meer verspreid over de tijd. On-demand resources worden verwijderd als ze overbodig zijn geworden of als je toestel vol begint te raken.

ODR is goed nieuws voor mensen die een iPhone met minder dan 64GB hebben, waarop grote games bijna niet meer te installeren waren. Ook wordt ODR gebruikt op de Apple TV, waar de basisuitvoering van een app of game maximaal 4GB mag zijn. Overige content wordt dynamisch geladen.

Bitcode maakt alle apps compacter

Om te kunnen profiteren van de hierboven genoemde technieken voor App Thinning, moet de ontwikkelaar de app wel speciaal aanpassen. Er is echter een andere oplossing: Apple’s Bitcode zorgt ervoor dat álle apps minder ruimte op je iPhone of iPad innemen. Ontwikkelaars kunnen dankzij Bitcode een nog niet gecompileerde app indienen bij Apple, zodat de App Store kan zien welke code bedoeld is voor een bepaald type iPhone. Apple analyseert en optimaliseert de code voor een specifiek toestel, zonder dat de ontwikkelaar een update hoeft uit te brengen of de app opnieuw hoeft in te dienen bij Apple. Bitcode kan apps in theorie nog kleiner maken. Het zou bijvoorbeeld kunnen scannen op inefficiënt geschreven code, om dit vervolgens op een logische manier in te korten. Handig, al zullen ontwikkelaars niet altijd blij zijn dat Apple met hun code gaat knutselen. Het maakt het voor Apple ook makkelijker om te scannen naar misbruik door malware in apps.

Bitcode is verplicht voor watchOS-apps, omdat op de Apple Watch vaak maar weinig ruimte beschikbaar is.

Wat merk je van App Thinning en alle andere technieken?

Het mooie van App Thinning en alle gerelateerd technieken, is dat je er zelf helemaal niets voor hoeft te doen. Het zijn de ontwikkelaars, die hun apps moeten aanpassen voor deze technieken. Wat jij er vooral van zult merken, is dat je opslagruimte minder snel vol raakt en dat je databundel minder snel op raakt, als je apps via 3G/4G/5G downloadt. Het installeren van apps gaat ook sneller en het opstarten van een complexe game duurt korter.

Wil je opslagruimte op je iPhone vrijmaken? Dan hebben we hiervoor diverse tips. Je kunt ook de opslagruimte die apps innemen controleren en beperken.

Suggestie hoe we dit artikel kunnen verbeteren? Laat het ons weten!