Inleiding
Het releaseschema van Android is in de afgelopen paar jaar op zijn zachtst gezegd onregelmatig geweest. Soms kwam Google in één jaar met twee updates, soms duurde het langer. Ook op de versienummers was geen peil te trekken; Honeycomb was versie 3, Ice Cream Sandwich versie 4 en Jelly Bean was vervolgens versies 4.1, 4.2 en 4.3.
Vorig jaar kwam daar verandering in, al wisten we dat toen nog niet. Toen kwam Google tijdens zijn I/O-ontwikkelaarsconferentie met een preview van Android L, de versie die nu bekendstaat onder de naam Lollipop en rugnummer 5.x draagt. Nu, een jaar later, doet Google precies hetzelfde en ook in de toekomst kunnen we elk jaar om deze tijd een preview van de nieuwe Android-versie verwachten, met een release in het najaar.
Deze week stelde Google de previewversie van Android M beschikbaar. Wat de uiteindelijke naam zal zijn en welk versienummer daarbij hoort, weten we nu nog niet. Wel weten we voor een deel al welke nieuwe features Android M met zich meebrengt. Zo legt Google flinke nadruk op het efficiënter omspringen met de accu. Daarnaast krijgt Android ingebouwde ondersteuning voor vingerafdrukscanners en ook krijgen gebruikers vanaf Android M eindelijk uitgebreide controle over de permissies die een app mag gebruiken.
Verder wordt Google Now flink uitgebreid, met een optie om de informatiedienst binnen een app te gebruiken, zodat je relevante info krijgt over de informatie die de app op dat moment laat zien.
Zodra de preview uitkwam, installeerden we hem op een Nexus 6 en gingen we op onderzoek uit. In dit artikel werpen we een eerste blik op deze en vele andere vernieuwingen die deel uitmaken van deze komende versie van Android.
Betere accuduur in stand-by
Het liefst wil je dat een telefoon zoveel mogelijk 'slaapt'. Vrijwel elk onderdeel in een moderne smartphone heeft een low-powerstate voor als er niets hoeft te gebeuren. Als een telefoon bij de gebruiker in de broekzak zit en niets aan het doen is, zou vrijwel alle hardware moeten 'slapen'. Op die manier haal je de beste stand-by-tijd en loopt de telefoon nauwelijks leeg als je hem niet gebruikt.
Wat roet in het eten gooit, is dat veel apps gegevens over een gebruiker willen verzamelen of vaak willen communiceren met de servers van de ontwikkelaar, ook als het scherm uitstaat. Android-apps gebruiken daar iets voor dat een wakelock heet, een functie om de telefoon voor een bepaalde tijd wakker te houden. Zolang ze spaarzaam en slim ingezet worden is er niets mis met wakelocks, maar als ontwikkelaars er roekeloos mee omgaan, kan dat een behoorlijke negatieve impact hebben op de accuduur van een telefoon.
Om dat tegen te gaan kwam Google vorig jaar met Project Volta, een reeks nieuwe api's in Android Lollipop die ervoor moest zorgen dat er slimmer omgesprongen wordt met wakelocks. Het probleem van Volta bleek dat de verantwoordelijkheid bij de ontwikkelaars kwam te liggen. Als ze geen zin hadden om gebruik te maken van de nieuwe api's, veranderde er niets.
Daarom komt Google in Android M met twee nieuwe technieken die het accugebruik moeten verbeteren zonder dat apps daarvoor aangepast moeten worden. Het gaat om de Doze-modus en het fenomeen App Standby.
Doze en App Standby
Doze is bedoeld voor apparaten die enige tijd niet gebruikt worden, zoals een telefoon die in een rugzak zit en een tablet die op een nachtkastje ligt. Aan de hand van de accelerometer en gyroscoop kan zo'n situatie herkend worden, waarna het besturingssysteem een stuk strikter omgaat met draaiende apps. Zo worden wakelocks van apps genegeerd, worden geen wifi-scans uitgevoerd, kunnen apps geen data synchroniseren en wordt ook het netwerkverkeer beperkt. Dringend netwerkverkeer, zoals pushnotificaties zijn uitgezonderd, zodat je belangrijke communicatie niet zult missen.
Volgens Google ging de Nexus 9 in een test in stand-by met Doze twee keer zo lang mee als met Lollipop. Dat klinkt indrukwekkend, maar Doze heeft wel als nadeel dat je toestel als je het weer oppakt minder 'up to date is', omdat apps bijvoorbeeld niet konden synchroniseren. Je moet dan dus een paar momenten wachten totdat de nieuwe gegevens opgehaald zijn.
Daarnaast heb je natuurlijk weinig aan Doze op bijvoorbeeld je telefoon, die toch vaak in je broekzak zal zitten en dus niet ergens stilligt. Voor dat soort situaties hoopt Google met App Standby ook wat winst te kunnen behalen op accugebied. Android M zal strenger kijken of een app die op de achtergrond draait echt nodig is. Als een app langere tijd niet geopend is door een gebruiker, hoeft deze volgens Android M niet constant op de achtergrond te draaien. Netwerkverkeer wordt voor die app dan geblokkeerd totdat de gebruiker de app zelf weer opent.
Meer controle over app-permissies
We hebben er lang op moeten wachten, maar met Android M krijgen gebruikers eindelijk een stukje controle over de telefoon en hun gegevens terug. Op dit moment zie je bij het installeren van een app nog welke permissies deze allemaal wil hebben en je hebt dat maar te slikken. Het is een 'alles of niets'-situatie. Wil je Facebook wel toegang geven tot je locatie, maar niet tot je contacten, dan kon dat tot dusver niet in Android. Android M gaat dat wel mogelijk maken.
Dat Google aan dergelijke functionaliteit werkt, wisten we al een tijdje. Met een kleine omweg was het in Android Jelly Bean al mogelijk om het zogeheten App Ops-overzicht te openen. Vanuit hier was het mogelijk om per applicatie in te stellen welke permissies deze precies mocht gebruiken. Toen dit bekend werd, kwam Google snel met een statement waarin het duidelijk maakte dat App Ops een developertool was en er geen plannen waren om hier een functie voor eindgebruikers van te maken.
Dat weerhield gebruikers er niet van het te gebruiken. Ook op andere manieren werd het mogelijk om meer controle over het gedrag van apps te krijgen. Huawei heeft bijvoorbeeld al een tijdlang een permissiemanager in zijn Android-versie ingebouwd en voor gebruikers met root-toegang kun je hetzelfde bereiken met het Xposed-platform en de Xprivacy-module.
Hoe werkt het?
In Android M krijg je bij applicaties die met ondersteuning voor deze nieuwste versie zijn gecompileerd, bij de installatie geen lijst van gewenste permissies meer te zien. In plaats daarvan krijg je een pop-up bij de eerste keer dat de app een dergelijke permissie wil gebruiken, waarbij je dat kunt goedkeuren of afwijzen. Ook kun je per app bekijken welke permissies deze allemaal wil gebruiken en deze aan- of uitzetten. Daarnaast is het mogelijk om te kijken welke van de geïnstalleerde apps allemaal de locatie willen kunnen uitlezen of toegang willen tot het adresboek.
/i/2000616629.jpeg?f=imagenormal)
De pop-ups voor toestemming werken zonder wijzigingen dus niet zomaar met alle apps, maar de mogelijkheid om permissies voor geïnstalleerde apps te wijzigen werkt met alle applicaties. Omdat bij de ontwikkeling van huidige apps nog geen rekening is gehouden met de mogelijkheid dat bepaalde permissies niet aanwezig zijn, zou het kunnen dat apps crashen of anderzijds ongewenst gedrag gaan vertonen. Dat is de theorie; in de praktijk hebben we bij verschillende apps de locatiepermissie zonder problemen uitgezet en ook het blokkeren van de contactenlijst leverde geen gekke dingen op.
Google Now werkt samen met apps
Een van de zaken die tijdens de keynote de meeste indruk maakten, was een uitbreiding van Google Now, genaamd Now on Tap. Daarmee wil Google de algoritmen achter Google Now inzetten binnen apps om gebruikers zo sneller bij relevante informatie te krijgen. Dat gebeurt door lang op de homeknop te drukken terwijl een app openstaat. Onder het scherm verschijnt dan een Google Now card, met daarop informatie die relevant is voor de desbetreffende app en de info die dan getoond wordt.
De dienst is nog buggy en het duurt even voordat de info verschijnt, maar we konden het al in verschillende situaties testen, bijvoorbeeld bij een sms-conversatie waarin de naam van een restaurant werd genoemd. Door Now on Tap te gebruiken kregen we een card te zien met de gegevens van dat restaurant en de mogelijkheid om ernaartoe te navigeren of een tafeltje te reserveren.
Een andere demo betrof een e-mail waarin iemand het had over een film die net uit was. Now on Tap herkende de naam van de film en gaf in de card wat korte informatie, plus links naar IMDB en Flixster om meer te weten te komen over de film en waar hij draait.
Now on Tap bevat ook een stemcomponent, waardoor gebruikers een vraag kunnen stellen over de app die op dat moment draait. Luister je naar een nummer van U2 op Spotify en wil je graag weten hoe de drummer ook alweer heet, dan kun je simpelweg zeggen: 'OK Google', gevolgd door: 'What is the name of their drummer?' Now on Tap snapt dan dat je refereert aan de band van het nummer dat je aan het beluisteren bent. We konden het ook testen in de ESPN-app, bij het bekijken van de wedstrijduitslag van een basketbalteam. Toen we vroegen: 'When is their next game?' wist Google ons direct een antwoord te geven, omdat Now on Tap snapte om welk team het ging.
Now on Tap zal werken met alle Android-apps die door Google geïndexeerd zijn, waarbij ontwikkelaars er nog voor kunnen kiezen om via een nieuwe api extra informatie naar Now on Tap te pushen. Op dit moment is de dienst duidelijk nog in ontwikkeling; de wachttijden zijn vaak lang en soms worden simpele vragen niet herkend. De potentie is echter groot en als het werkt, doet het enorm futuristisch aan, vooral bij de contextuele vragen via spraak. Het zal nog wel even duren voordat dit soort software echt slim genoeg is om het gros van de input van de gebruiker te snappen, maar met de enorme investeringen die Google doet in machine learning, neural nets en natural speech kan het in de komende tijd enkel beter worden.
Fingerprint-api en Android Pay
Met alle persoonlijke data die tegenwoordig op veel smartphones terug te vinden is, is het raadzaam om een telefoon te beveiligen. Android biedt daar sinds de eerste versies een paar mogelijkheden voor: een pincode, een wachtwoord of een ontgrendelpatroon. In de afgelopen jaren hebben fabrikanten daar zelf ook methodes voor bedacht, zoals Knock Code van LG en de vingerafdrukscanners bij Huawei en Samsung.
Dat laatste is vanaf Android M standaard opgenomen in het besturingssysteem; telefoons die met een vingerafdrukscanner zijn uitgerust kunnen door middel van standaard-api's communiceren met het besturingssysteem en apps. Dat moet leiden tot betere ondersteuning, want tot op heden kun je de vingerafdrukscanner op bijvoorbeeld de Galaxy S6 maar voor een select aantal dingen gebruiken. Bij inloggen op de telefoon werkt het, maar doe je vervolgens een aankoop in de Play Store, dan moet je gewoon een wachtwoord invoeren.
/i/2000616636.png?f=imagenormal)
Met de api's van Android M is het wel mogelijk om de vingerafdrukscanner te gebruiken voor aankopen in Google Play. Het is ook mogelijk om hem te gebruiken voor fysieke aankopen, want de functionaliteit is gekoppeld aan Googles nieuwe Android Pay-dienst. Hiermee kun je via je telefoon betalingen doen als de winkel een terminal heeft die contactloos betalen ondersteund, net als bij Apple Pay. Android Pay moet je koppelen aan een creditcard of bankrekening en net als bij Apple Pay worden die gegevens niet direct doorgespeeld aan de verkopende partij, om zo de privacy van de gebruiker te waarborgen.
Android Pay is vooralsnog alleen aangekondigd voor de Verenigde Staten. Of en wanneer de dienst naar Europa komt, is nog niet bekend.
App links en App back-ups
Binnen Android is het mogelijk om een app te koppelen aan een bepaald type url. Zo kan Facebook aangeven dat Facebook-weblinks geopend kunnen worden met de Facebook-app in plaats van de browser. Op dit moment kunnen verschillende apps een linktype claimen en een gebruiker zal bij het openen van zo'n link dan een venster zien waarin een app gekozen moet worden om de link mee te openen.
In Android M kan een linktype geclaimd worden door een app. De ontwikkelaar moet daarvoor een koppeling maken tussen het domein en de app, zodat bewezen is dat deze bij elkaar horen. Doet een ontwikkelaar dit, dan zal de gebruiker dus geen opties meer voorgeschoteld krijgen, maar wordt de desbetreffende app direct gestart als een dergelijke link wordt geopend. Dat scheelt dus een stap en dat moet het voor de gebruiker gemakkelijker maken.
Deze functie heeft ook een duidelijk nadeel: third-party-apps. Deze zijn niet de bezitter van het domein dat bij de dienst hoort. Een ontwikkelaar van een Twitter-client kan bijvoorbeeld geen koppeling maken met twitter.com. Third-party-apps kunnen dus geen gebruikmaken van deze functie. Sterker nog, als een gebruiker zowel de officiële als een third-party-client voor een dienst geïnstalleerd heeft, zal de keuzeoptie niet meer voorgeschoteld worden. Het is gelukkig wel mogelijk om de koppeling tussen een weblink en een app te verwijderen, maar daarvoor moet je het instellingenmenu induiken.
Back-ups
Sinds enige tijd is het voor ontwikkelaars mogelijk om de instellingen van hun app te back-uppen in de cloud. Dat gebeurt van via het Google Drive-account van de gebruiker. Zo blijven deze instellingen bewaard als een toestel opnieuw geïnstalleerd wordt of als het Google-account op een nieuw apparaat gebruikt wordt. Het probleem is dat maar weinig ontwikkelaars hier gebruik van maken.
Daarom heeft Google deze functie met ingang van Android M standaard ingeschakeld. App-instellingen zullen dus altijd in de cloud worden opgeslagen, tenzij een ontwikkelaar aangeeft dit specifiek niet te willen. Voor mensen die geregeld hun account opnieuw toevoegen, om welke reden ook, zal dat een heleboel tijd en ergernis schelen.
Kleine wijzigingen in de interface
Hoewel het overgrote deel van de interface in M gelijk is aan die in Lollipop, zijn er hier en daar toch kleine zaken gewijzigd. Te beginnen bij het app-overzicht.
In plaats van een lijst van apps die in pagina's is opgesplitst, waarbij je naar links en rechts moet swipen om alles te kunnen zien, toont Android M alle apps in een verticaal scrollende lijst, net zoals dat gebeurt bij HTC's Sense-software. Ben je een horizontaal scrollend overzicht gewend, dan is de nieuwe indeling best wennen. Niet langer kun je onthouden dat een bepaalde app zich op pagina drie van het overzicht bevindt, dus twee swipes naar rechts. Omdat de weergave nu één lange lijst is, zul je meer moeten zoeken.
Gelukkig staan boven aan de app-lijst de vier meest gebruikte apps, zodat je die vlug kunt vinden. In de kantlijn staan de letters van het alfabet om apps sneller te vinden. De snelste manier om een app te vinden is waarschijnlijk via de nieuwe zoekfunctie van het overzicht; tik op het vergrootglas en je kunt simpelweg de naam van de app die je wilt starten intikken.
Gebruikers van een telefoon met amoled-scherm zullen blij zijn om te weten dat Android M de mogelijkheid biedt om behalve voor het standaard- lichte thema ook voor een donker thema te kiezen. Dit gaat via de ontwikkelaarsopties. Amoled-schermen zijn zuiniger bij het weergeven van donkere tinten en deze mogelijkheid kan daarom bijdragen aan de accuprestaties van telefoons met een dergelijk scherm.
Een andere optie die nu nog is weggestopt in de ontwikkelaarsinstellingen is de System UI Tuner. Hiermee is het mogelijk om de iconen in het notificatiecentrum aan te passen en in te delen. Dit is een feature die al tijden in custom Android roms en firmwares van bedrijven als Samsung en HTC zit, maar dat maakt het natuurlijk niet minder welkom in Googles versie van Android.
Ook op het vlak van geluid, notificaties en de do not disturb-modus zijn zaken gewijzigd en dat is maar goed ook. In Lollipop waren deze zaken op de schop gegaan met als gevolg dat het minder gemakkelijk was om een telefoon op stil te krijgen. Er was wel een snel te vinden 'silent'-optie, maar deze liet ook geen weksignalen door en dat ging wel heel ver.
In Android M krijg je als je op de volumeknop drukt een vertrouwde slider te zien voor het geluidsniveau met daarbij de optie om dit te regelen voor verschillende soorten geluid, zoals wekkers en media. De do not disturb-modus, die je via het notificatiemenu kunt openen, bevat nu drie opties: Priority, Alarms Only en Total Silence. De namen spreken voor zich. De mogelijkheden tot automatisering zijn hierbij uitgebreid. Zo kun je bijvoorbeeld voor week- en weekenddagen andere tijden instellen waarop een apparaat stil moet zijn.
Tot slot
Zoals bij elke Android-release zijn er nog een heleboel kleine zaken aangepast, die we onmogelijk allemaal kunnen behandelen. Toch zijn er nog een paar dingen die het waard zijn om kort te worden aangestipt. De ondersteuning voor high-res-audio met een samplerate van 96kHz bijvoorbeeld en de mogelijkheid om een sd-kaart te encrypten en in te zetten voor dezelfde dingen als het interne opslaggeheugen. Dankzij een nieuwe voice interactions-api kunnen apps op een stemcommando reageren met een tegenvraag, zodat bij onduidelijkheid achterhaald kan worden wat de gebruiker bedoelt. En koop je later dit jaar een telefoon met usb c-connector, dan kun je deze gebruiken om andere apparaten mee op te laden.
Daarnaast is er nog de optie om een 5GHz-hotspot op te zetten, verbeterde ondersteuning voor bluetooth-styli, een betere implementatie van tekstselectie en verbeteringen in de Android Runtime, waardoor het geheugengebruik verlaagd is. Voor een uitgebreid overzicht van wijzigingen raden we je aan om Googles ontwikkelaarssite te raadplegen.
Ben je nu geneigd om de developer preview te flashen, weet dan wel dat nog niet alle functies even goed werken. Zoals gezegd is voor zaken als de nieuwe permissies nog actie van ontwikkelaars nodig en Google Now on Tap werkt totaal niet in deze previewversie; wij konden het enkel bekijken op demotoestellen van Google, die een andere versie van M draaiden.
Wellicht dat Google die zaken in latere versies wel beschikbaar maakt, want in tegenstelling tot vorig jaar is Google van plan om drie previews uit te brengen, waarbij elke nieuwe versie over meer functionaliteit zal beschikken. In het derde kwartaal van dit jaar moeten die previews gevolgd worden door een final release, die alle eerdergenoemde functionaliteit zal bevatten, waarschijnlijk samen met features die Google nu nog even onder de pet houdt.