Innehållsförteckning:
Android 6.0 Marshmallow är tekniskt hela en vecka gammal. (Mindre så om du räknar datumet för kodnedgången antar jag.) Men det har varit i förhandsgranskningsstatus för utvecklare i månader, och utvecklare har kunnat skicka appar som använder den nya API-nivån (och därmed de nya behörigheterna) för en en liten stund nu.
Så om du kör Marshmallow på en Nexus-telefon (och det borde du verkligen vara) börjar du springa in i det nya behörighetsschemat när appar uppdateras. Ett av mina första instanser av detta var med Twitter. (Och kudos till Twitter för att vara en av de tidiga.)
Hur Twitter gör det …
Tänk på den här skärmdumpen, som du ser när du öppnar upp Twitter för första gången. Twitter vill använda min nuvarande plats för att anpassa min upplevelse. Okej varför inte. Jag gillar min plats och jag gillar bättre upplevelser. Jag tillåter det.
Sedan startar det nya tillståndet i Marshmallow. Vill jag ge Twitter tillgång till det jag sa att jag ville ge det tillgång till? Ja det gör jag. Därför slog jag OK första gången.
Saken är att Twitter: s första dialogruta inte har något att göra med att tillåta tillstånd för min plats. Det utlöser bara systemdialogen. Men det är formulerat lite mer vänligt än Android-behörighetsdialogen.
Överväga:
Twitter: "Twitter vill använda din nuvarande plats för att anpassa din upplevelse."
Android: "Låt Twitter få åtkomst till den här enhetens plats?"
Två tillståndsliknande frågor som ställer samma fråga - men bara en tillåter faktiskt vad som helst.
Den förra berättar för mig vad den vill göra - och ännu viktigare varför den vill göra det. Det senare är mestadels samma typ av enkla men vaga tillåtelsestalningar som vi har kommit för att tyska från Android. Och det måste det vara, antar jag. Men det är där appen som begär tillstånd - den första dialogrutan från Twitter - blir ännu viktigare. I stället för att omedelbart ge mig alternativet "Tillåt inte / OK", bör Twitter ta en ny mening för att berätta vad som är nästa. "Twitter vill använda din nuvarande plats för att anpassa din upplevelse. Om du är cool med det, klicka på" tillåt "på nästa skärm." Eller något därtill. Då har du bättre sammanhang för tillståndsförfrågan, och användaren är beredd på vad som kommer upp - och det är inte så repetitivt.
Det är två hårda stopp för användaren, och det är tufft. Men det är en enstaka smärtpunkt. Och det är värt det, tror jag, att få oss att ägna lite mer uppmärksamhet åt de farliga (det är den tekniska termen) behörigheter som appar kan kräva. Å andra sidan kan ikonografi och kontext innebära att du inte behöver säga mig att du håller på att begära tillåtelse för kameran, eftersom jag bara knackade på kameraikonen.
Så här säger Google:
Under vissa omständigheter kanske du vill hjälpa användaren att förstå varför din app behöver ett tillstånd. Om en användare till exempel startar en fotograferingsapp kommer användaren förmodligen inte att bli förvånad över att appen ber om tillåtelse att använda kameran, men användaren kanske inte förstår varför appen vill ha åtkomst till användarens plats eller kontakter. Innan du begär tillstånd bör du överväga att ge en förklaring till användaren. Tänk på att du inte vill överväldiga användaren med förklaringar; om du ger för många förklaringar kan användaren hitta appen frustrerande och ta bort den.
Hur gör Facebook det …
Låt oss ta en titt på hur Facebook - en annan app som redan har uppdaterats för de nya behörigheterna.
Ahhhh, den sällsynta begäran om dubbelt tillstånd. Det här är vad du får från Facebook när du trycker på kameraikonen för en ny statusuppdatering. OK, jag fuskade lite - du får den här dubbla anmälan om du nekar lagringstillstånd första gången, när det försöker fylla miniatyrbilderna om vad som finns i ditt galleri. Men det är snyggt gjort. Facebook berättar vad det vill ha och varför det vill ha det.
Och sedan får du upprepa dig själv igen. Ja, jag skulle vilja att Facebook ska ha behörighet att be min telefon göra något.
Men igen, det är den första "Tillåt" -knappen jag har problem med. Det tillåter faktiskt inte annat än systemdialogen att fråga dig exakt samma sak igen. Och du behöver bara göra det en gång.
Hur Hangouts gör det …
Här är ytterligare ett exempel den här gången i Google Hangouts. Att slå kamera- eller galleriikonerna i en konversation utlöser bara systemdialogen. Det finns ingen överflödig begäran före den faktiska som ger behörigheterna. (Och återigen skulle jag hävda att det är bra. När jag pekar på en kameraikon har jag redan en sammanhang för att få en begäran om kameratillstånd).
Där jag tror att Google verkligen gjorde ett trevligt jobb var med den här första körningsförklararen för kontakttillståndet, vilken platt-out är nödvändig för att appen ska fungera alls. Först säger det varför den behöver tillgång till dina kontakter. Om du trycker på "Nästa" presenteras sedan begäran om systemtillstånd. Att det står "Nästa" och inte "Tillåt" är det som verkligen är viktigt där. Det ena flyter in i det andra. Du vill uppenbarligen inte göra alla tillståndsförfrågningar på hela skärmen så här. Men för att något viktigt nog ska presenteras vid första körningen är det mycket snyggt gjort.
Växlingen till körtidstillstånd är stor och viktig. Men de kan vara en liten inlärningsprocess.
Jag gör visserligen lite av ett berg ur en mullbacke här. Du behöver bara gå igenom detta första gången för en app. Men behörigheter är viktiga. (Och jag tycker att övergången till körtidstillstånd är bra.) En förklaring av behörigheter är bra. Till och med dubbelstoppet kan förbises i namnet på att få dig att titta innan du hoppar. Förklara användaren tillåtelse, låt dem inte tro att de redan har tillåtit det en gång, bara för att få dem att göra det ett steg senare i systembegäran. Jag gillar bara inte att upprepa mig själv är allt.
Och som alltid är du fri att återkalla behörigheter när du vill. Om du gör det kommer appen att be om tillåtelse igen nästa gång du försöker använda den funktionen.
Poängen är att vi som användare har något nytt att vänja sig här. Men det gör också apputvecklare.
Uppdatering: För en mer teknisk lyssna på allt detta - och förresten en bekräftelse på att Facebook och Twitter gör saker och ting är inte riktigt idealiskt - kolla avsnitt 33 i Android Developers Backstage-podcast.