Iedereen met een smartphone zal het herkennen; als je de telefoon net hebt, staat er een handjevol apps op, maar na een paar maanden is de hoeveelheid apps op je telefoon ontploft. Het is niet dat je ze ook allemaal regelmatig gebruikt, vaak gaat het om apps die je voor sporadisch gebruik installeert en vervolgens niet verwijdert.
Google onthulde voor dat probleem een oplossing tijdens zijn ontwikkelaarsconferentie I/O in de vorm van Android Instant Apps. Met deze technologie kunnen apps op een Android-telefoon draaien, zonder installatie. Een Instant App kan gestart worden door bijvoorbeeld een url te openen of door in de buurt te zijn van een bluetooth-beacon. Instant Apps zijn volgens Google bij uitstek geschikt voor situaties waarin je een app maar één keer wil gebruiken.
Een van de demonstraties die we bij Google zagen, was opgebouwd rondom een parkeerautomaat. Door de telefoon tegen de automaat te houden, werd via een ingebouwde nfc-chip een betaal-app gestart, waarna het mogelijk was om het aantal parkeerminuten in te stellen en via Google Pay te betalen. Gedurende dat proces werd de app dus niet op de telefoon geïnstalleerd. Zodra de betaling compleet was, verdween de app van de telefoon. We hebben dit zelf meer dan eens kunnen doorlopen en wat vooral opviel, was hoe snel de Instant App gestart was; meer dan twee seconden duurde het niet.
Wat vaker zal voorkomen, is dat een gebruiker een link ontvangt naar een website die ook een app heeft. Als Instant Apps aanstaat, zal niet de mobiele versie van de website geopend worden, maar wordt de app op de achtergrond gedownload en meteen uitgevoerd. Dat kan handig zijn als de app meer functionaliteit biedt dan de website, zoals bijvoorbeeld integratie met camera of sensoren. Veel keuze heb je hier op dit moment nog niet in; of je geeft Google toestemming om Instants Apps te openen als daar een mogelijkheid voor is, of je zet de hele functie uit. Google onderzoekt of ze de instellingen daarvoor verder kunnen verfijnen.
Een laatste implementatie die we konden testen, draaide om locatie. Het is namelijk mogelijk om door middel van bluetooth-beacons een bericht naar een telefoon te sturen die in de buurt van een bepaalde plek is. In het geval van deze demonstratie werd gesimuleerd dat je als gebruiker in Disneyland bent en bij de Splash Mountain-attractie staat. Via een notificatie krijg je de mogelijkheid om de Splash Mountain-app te starten, waarin meer info staat over de attractie en waarin ook de actuele wachttijden te zien zijn.
De voordelen van Instant Apps zijn duidelijk: ten opzichte van mobiele sites kun je veel meer functionaliteit gebruiken, zoals integratie met Google Maps, de camera in de telefoon en verschillende sensoren. Daarbij werken native apps vaak vloeiender dan mobiele sites. Een van de grootste voordelen is misschien nog wel dat mensen in de praktijk minder apps op hun telefoon hoeven te installeren, waardoor meer ruimte overblijft voor media en andere zaken, en er ook minder geheugen in gebruik zal zijn.
Het biedt ontwikkelaars ook een optie om gebruikers te laten weten dat ze naast een site ook een app hebben. Ontwikkelaars kunnen ook een Installatie-knop inbouwen, zodat gebruikers de app direct kunnen installeren op de telefoon. Wel moet Google wat ons betreft nog meer controle aan de gebruiker geven, door bijvoorbeeld om goedkeuring te vragen voordat in plaats van een website een Instant App gestart wordt.
Het draaien van een app op deze manier moet net zo veilig zijn als via installatie. Apps die permissies nodig hebben, zullen hier simpelweg met een pop-up om vragen, zoals we dat sinds Android 6.0 gewend zijn. Voor oudere versies van Android, waarbij je normaliter permissies goedkeurt bij de installatie van een app, heeft Google een work-around bedacht, waardoor je eenzelfde soort permissie-pop-up krijgt als in Android 6.0. Je hoeft dus niet bang te zijn dat een Instant App zonder toestemming uitgebreide toegang tot de telefoon krijgt.
Bouwen met modules
De techniek achter Instant Apps is gebaseerd op het idee van app-modules. Momenteel worden Android-apps verpakt in een apk-bestand en bij installatie wordt dat hele bestand gedownload en geïnstalleerd. Met die werkwijze zijn apps te groot om on the fly te worden geladen, zoals de bedoeling is bij Instant Apps. Google heeft daarom technologie ontwikkeld waardoor ontwikkelaars hun apps kunnen opdelen in verschillende modules. Het hoofdscherm kan bijvoorbeeld een module zijn, terwijl het instellingenscherm een andere losse module is.
Als je de app gebruikt, merk je dit niet, maar de technologie achter Instant Apps kan hierdoor alleen de delen van de applicatie downloaden die nodig zijn. Navigeer je binnen een applicatie en kom je in een deel dat nog niet geladen is, dan zal de benodigde module vanuit de Play Store gedownload en weergegeven worden. Google zegt dat het redelijk eenvoudig is om bestaande apps op te delen in modules en dat de meeste apps in een aantal dagen compatibel gemaakt kunnen worden.
Die modulaire aanpak kan er ook voor zorgen dat apps minder belastend zijn voor een toestel, vooral als het aankomt op geheugengebruik. Zeker bij apps die uit veel verschillende schermen en onderdelen bestaan, waarbij de kans klein is dat je ze allemaal elke keer gebruikt, kan het geheugengebruik door het opdelen in modules flink slinken.
Voor vrijwel iedereen
Veelal heb je voor dit soort nieuwe functies in Android de allernieuwste versie van het besturingssysteem nodig, maar Instant Apps zal werken op versie 4.3 en nieuwer, omdat de achterliggende technologie in de Play Store en Google Play Services is verpakt. Dat betekent dat meer dan 95 procent van de huidige Android-telefoons ermee overweg kan en dat vergroot de kansen dat ontwikkelaars ermee aan de slag gaan. Aan een precieze releasedatum waagt Google zich nog niet, maar het ontwikkelteam hoopt Instant Apps nog dit jaar uit te kunnen brengen.