iOS 9 app thinning

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

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

iOS 9 app thinningHeb 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, waardoor je iPhone, iPad en iPad touch minder opslagruimte nodig heeft. 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 in iOS 9, maar zijn natuurlijk ook aanwezig in iOS 10, iOS 11 en latere versies van iOS. Bovendien wordt het ook op andere platformen gebruikt, zoals op de Apple TV.

App Thinning: 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.

App 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 een app op de iPhone 4s? Dan download je bijvoorbeeld niet de graphics die nodig zijn op nieuwere iPhones of iPad, die veel grotere schermen hebben. 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. Een voorbeeld: 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 8GB of 16GB iPhone 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 iOS 9-apps compact

Om te kunnen profiteren van de hierboven genoemde technieken voor App Thinning, moet de ontwikkelaar de app wel speciaal aanpassen.

Bij Bitcode is dat niet nodig: dit 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.

Zo maakt Bitcode bijvoorbeeld onderscheid tussen 32-bit code voor de iPhone 4s en 64-bit code voor de iPhone 5s en nieuwer, zodat jij een veel kleiner appbestand kunt downloaden. Bitcode is verplicht voor Apple Watch-apps (waarop immers weinig opslagruimte beschikbaar is).

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.

Het mooie van bitcode, is dat Apple een app-binary kan optimaliseren voor een bepaalde toestel-architectuur, zonder dat de ontwikkelaar iets hoeft te doen. Het zorgt ervoor dat jij als gebruiker profiteert van optimalisaties, zodra iets beschikbaar is. Ook als de ontwikkelaar geen tijd heeft om zijn app bij te werken.

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 downloadt. Het installeren van apps gaat ook sneller en het opstarten van een complexe game duurt korter.

Kleinere iOS-updates

Apple heeft er sinds iOS 9 ook voor gezorgd dat het update-bestand niet langer meerdere MB’s groot is, maar in de buurt van 1GB blijft. Eigenlijk was Apple daar in iOS 8.1.3 al mee begonnen, maar bij iOS 9 konden we echt merken dat er grote sprongen zijn gemaakt. Dankzij optimalisaties zijn toekomstige iOS-updates veel kleiner, waardoor er minder vrije ruimte vereist is om je toestel te updaten naar de nieuwste versie. In het volgende artikel lees je meer over de downloadgrootte van iOS-updates: Waarom iOS extra installatieruimte nodig heeft.

Artikelcorrectie of -aanvulling doorgeven? Meld het ons!

Informatie

Laatst bijgewerkt januari 2017
Categorie Diensten
Onderwerpen ios 9, ios 9 uitgelicht, opslag, thinn
Devices Apple TV, iPad, iPhone
Software iOS, tvOS