Logo nl.androidermagazine.com
Logo nl.androidermagazine.com

Plezier met machtigingen: waarom de verandering in Android 6.0 ervoor kan zorgen dat je jezelf herhaalt

Inhoudsopgave:

Anonim

Android 6.0 Marshmallow is technisch gezien al een week oud. (Ik denk dat het minder is als je de datum van de codeweergave meetelt.) Maar deze bevindt zich al maanden in de preview-status van ontwikkelaars en ontwikkelaars hebben apps kunnen indienen die het nieuwe API-niveau (en dus de nieuwe machtigingen) gebruiken voor een korte tijd nu.

Dus als u Marshmallow op een Nexus-telefoon gebruikt (en dat zou u eigenlijk ook moeten zijn), zult u het nieuwe machtigingsschema tegenkomen wanneer apps worden bijgewerkt. Een van mijn eerste voorbeelden hiervan was met Twitter. (En een pluim voor Twitter omdat hij een van de eersten was.)

Hoe Twitter het doet …

Overweeg deze screenshot, die je zult zien wanneer je Twitter voor het eerst opent. Twitter wil mijn huidige locatie gebruiken om mijn ervaring aan te passen. Oke waarom niet. Ik hou van mijn locatie en ik hou van betere ervaringen. Ik zal het toestaan.

Dan begint de nieuwe toestemming in Marshmallow. Wil ik Twitter toegang geven tot datgene waarvan ik zei dat ik het toegang wilde geven? Ja, ik wil. Daarom sloeg ik de eerste keer op OK.

Het punt is dat het eerste dialoogvenster van Twitter eigenlijk niets te maken heeft met het daadwerkelijk toestaan ​​van de toestemming voor mijn locatie. Het activeert alleen het systeemdialoogvenster. Maar het is een beetje vriendelijker geformuleerd dan het Android-machtigingsvenster.

Overwegen:

Twitter: "Twitter wil graag uw huidige locatie gebruiken om uw ervaring aan te passen."

Android: "Twitter toegang geven tot de locatie van dit apparaat?"

Twee toestemmingsachtige vragen die dezelfde vraag stellen - maar slechts één staat eigenlijk alles toe.

De eerste vertelt me ​​wat het wil doen - en nog belangrijker waarom het het wil doen. Het laatste is meestal hetzelfde soort eenvoudige, maar vage toestemming-spreken die we van Android gaan haten. En dat moet ook wel, denk ik. Maar dat is waar de app die om toestemming vraagt ​​- dat eerste dialoogvenster van Twitter - nog belangrijker wordt. In plaats van me onmiddellijk de optie "Niet toestaan ​​/ OK" te geven, zou Twitter nog een zin moeten nemen om me te vertellen wat de volgende stap is. "Twitter wil graag je huidige locatie gebruiken om je ervaring aan te passen. Als je dat goed vindt, klik je op 'toestaan' in het volgende scherm." Of zoiets. Dan hebt u een betere context voor het toestemmingsverzoek en is de gebruiker voorbereid op wat er komt - en het is niet zo repetitief.

Dat zijn twee harde stops voor de gebruiker en dat is zwaar. Maar het is een eenmalig pijnpunt. En het is de moeite waard, denk ik, om ons wat meer aandacht te geven voor de gevaarlijke (dat is de technische term) machtigingen die apps kunnen vereisen. Aan de andere kant kunnen iconografie en context betekenen dat je me niet hoeft te vertellen dat je op het punt staat toestemming te vragen voor de camera, omdat ik net op het camerapictogram heb getikt.

Hier is hoe Google het zegt:

In sommige omstandigheden wilt u de gebruiker misschien helpen begrijpen waarom uw app toestemming nodig heeft. Als een gebruiker bijvoorbeeld een fotografie-app start, zal de gebruiker waarschijnlijk niet verbaasd zijn dat de app toestemming vraagt ​​om de camera te gebruiken, maar de gebruiker begrijpt misschien niet waarom de app toegang wil tot de locatie of contacten van de gebruiker. Voordat u toestemming vraagt, moet u overwegen de gebruiker een uitleg te geven. Houd er rekening mee dat u de gebruiker niet met verklaringen wilt overweldigen; als u te veel uitleg geeft, kan de gebruiker de app frustrerend vinden en verwijderen.

Hoe Facebook het doet …

Laten we eens kijken hoe Facebook - een andere app die al is bijgewerkt voor de nieuwe machtigingen.

Ahhh, het zeldzame verzoek om dubbele toestemming. Dit krijg je van Facebook als je op het camerapictogram voor een nieuwe statusupdate klikt. OK, ik heb een beetje vals gespeeld - je krijgt deze dubbele melding als je de opslagmachtiging de eerste keer weigert, wanneer het de thumbnails probeert te vullen van wat er in je galerij staat. Maar het is mooi gedaan. Facebook vertelt je wat het wil en waarom het het wil.

En dan mag je jezelf nog eens herhalen. Ja, ik wil dat Facebook toestemming heeft om mijn telefoon te vragen iets te doen.

Maar nogmaals, het is die eerste "Toestaan" knop waar ik een probleem mee heb. Het staat eigenlijk niets anders toe dan het systeemdialoogvenster om u opnieuw exact hetzelfde te vragen. En je hoeft het maar één keer te doen.

Hoe Hangouts het doet …

Hier is nog een voorbeeld, deze keer in Google Hangouts. Als u de camera- of galerijpictogrammen in een gesprek raakt, wordt alleen het systeemdialoogvenster geactiveerd. Er is geen overbodig verzoek voorafgaand aan het daadwerkelijke verzoek dat de machtigingen verleent. (En nogmaals, ik zou beweren dat dat prima is. Als ik op een camerapictogram tik, heeft het krijgen van een verzoek om cameratoestemming al context.)

Waar ik denk dat Google het echt goed gedaan heeft, was met deze eerste uitleg voor de toestemming voor contactpersonen, welke flat-out nodig is om de app te laten werken. Eerst wordt aangegeven waarom toegang tot uw contacten nodig is. Als u op "Volgende" drukt, wordt het systeemmachtigingsverzoek gepresenteerd. Dat er "Volgende" staat en niet "Toestaan" is wat daar echt belangrijk is. Het ene vloeit over in het andere. U wilt natuurlijk niet elk toestemmingsverzoek op deze manier op volledig scherm uitvoeren. Maar voor iets belangrijks dat bij de eerste run wordt gepresenteerd, is het heel mooi gedaan.

De overschakeling naar runtime-machtigingen is groot en belangrijk. Maar ze kunnen een klein leerproces zijn.

Ik maak weliswaar een beetje een berg van een molshoop hier. Je hoeft dit alleen de eerste keer te doorlopen voor een app. Maar machtigingen zijn belangrijk. (En ik denk dat de overschakeling naar runtime-machtigingen een goede is.) Een verklaring van machtigingen is goed. Zelfs de dubbele stop kan over het hoofd worden gezien om je te laten kijken voordat je springt. Leg de toestemming uit aan de gebruiker, laat ze niet denken dat ze het al een keer hebben toegestaan, maar laat ze het een stap later in het systeemverzoek doen. Ik hou er gewoon niet van mezelf te herhalen.

En zoals altijd, bent u vrij om machtigingen in te trekken wanneer u maar wilt. Als u dit doet, vraagt ​​de app u opnieuw de volgende keer dat u die functionaliteit probeert te gebruiken.

Het punt is, wij als gebruikers hebben hier iets nieuws om aan te wennen. Maar dat geldt ook voor app-ontwikkelaars.

Update: voor een meer technisch luisterend oor - en trouwens, bevestiging dat de manier waarop Facebook en Twitter dingen doen niet helemaal ideaal is - bekijk Episode 33 van de Android-ontwikkelaars Backstage podcast.