Menu

Proč nikdo nečte požadavky aplikací na oprávnění?

Proč-nikdo-nečte-požadavky-aplikací-na-oprávnění
Proč nikdo nečte požadavky aplikací na oprávnění?
4.5 (90%) 10 hlasů

Myšlenka, aby uživatel schvaloval či odmítal požadavky aplikací na oprávnění, není sama o sobě špatná. Google ji však rozhodně nedotáhl k dokonalosti. Důvody jsou v podstatě dva: nedostatek a přebytek informací, které musí uživatel přečíst, vstřebat a vyhodnotit. Jádro problému však je v tom, že většinu uživatelů zařízení s Androidem tvoří laici, kteří nutně nemusí rozumět modelu oprávnění tohoto operačního systému.

Dosud vyhledávací gigant vyzkoušel dvě cesty, jejichž společným cílem bylo, aby uživatel měl přehled o tom, k čemu aplikace potřebuje přístup. Tou první bylo zobrazení všech požadavků před zahájením instalace. Uživatel se musel rozhodnout, zda za stávajících podmínek oprávnění schválí a aplikaci tak nainstaluje, nebo naopak. Novější pojetí spočívá v tom, že aplikace žádá o některá oprávnění před instalací, o další pak až v okamžiku, kdy je chce využít. Rozhodně je to krokem vpřed, neboť uživatel není zahlcenou přemírou informací, ve které se ty podstatné (jako že například aplikace svítilny vyžaduje přístup k poloze) mohou ztratit. Je upozorněn až v okamžiku, kdy daný program hodlá přistupovat k nějaké komponentě či datům. Může se tedy zamyslet nad tím, zda je to – s ohledem na aktuální situaci a činnost – relevantní požadavek. Kromě toho lze některá oprávnění vypínat a zapínat v systémovém nastavení, což starší verze Androidu překvapivě nenabízely.

Požadavky aplikací na oprávnění v praxi

Jako modelový příklad si vezmeme meteorologickou aplikaci MORECAST. Když se v Obchodě Play podíváte na seznam požadovaných oprávnění, napočítáte zde bezmála dvacet položek. U některých je význam vcelku jasný – například přístup k přibližné a přesné poloze je vyžadován proto, aby MORECAST dokázal zobrazit předpověď pro místo, kde se aktuálně nacházíte. Jinde ale uživatel pochopí důvod požadavku až při bližším prozkoumání aplikace. Například oprávnění pro čtení obsahu v úložišti USB je vyžadováno proto, že uživatelé mohou posílat své fotky aktuální meteorologické situace. Jenže jak tohle můžete zjistit ještě před instalací, kdy o oprávněních rozhodujete?

Požadavky aplikací na oprávnění

Požadavky aplikací na oprávnění

U některých položek už jsou důvody k váhání. Například takové „zabránění přechodu zařízení do režimu spánku“. K čemu je meteorologickému programu, že může zabránit telefonu v usnutí? Komu prospěje, když takový program bude bránit telefonu v přechodu do úsporného režimu? Bohužel to se v Obchodě Play nedočtete. Důvod je však poměrně prostý: aplikace tím zajišťuje, aby v okamžiku, kdy je na popředí, nedošlo ke zhasnutí obrazovky a uživatel mohl nerušeně studovat poskytnuté informace.

Co může Google udělat?

Když se podíváme na výše zmíněný požadavek „zabránění přechodu zařízení do režimu spánku“, zde by pomohla implementace funkce do aplikačního rozhraní (API). Přes něj by si aplikace držela zapnutou obrazovku po dobu, kdy je v popředí, a nepotřebovala by přitom takto obskurně znějící oprávnění.

Další věc, kterou by měl vyhledávací gigant udělat, je poskytnout uživateli více informací. Uživatel by měl mít k dispozici všechny informace o tom, která oprávnění aplikace potřebuje, a především proč. Dobré by bylo nabídnout možnost jít ještě o krok dál, než je zobrazení seznamu s požadavky – tedy ukázat nejen co, ale za jakým účelem aplikace něco chce. Za stávající situace je problémem příliš mnoho informací v podobě dlouhých seznamů na straně jedné a nedostatek informací na straně druhé.

Pokud se podívá na přehled požadavků pokročilý uživatel, patrně bude schopen rozhodnout, zda jsou relevantní k tomu, co aplikace dělá. V některých ne zcela zřejmých případech může autora programu požádat o vysvětlení. Z pohledu laika je však tento způsob podání informací těžko stravitelný, navíc není nijak akcentováno, které oprávnění může být potenciální hrozbou, a které naopak nejspíš neznamená riziko.

Chcete více informací?

Bohužel ani odkaz na Více informací, který vede na stránku nápovědy Obchodu Play, nevnese laikovi do problému větší jasno. Zapátrá-li, k čemu aplikace potřebuje „zabránit přechodu zařízení do režimu spánku“, mnoho informací nedohledá. Přitom by stačilo uvést například: „Tato aplikace potřebuje zabránit telefonu v přechodu do režimu spánku. K tomu může dojít jen tehdy, když je aplikace spuštěna a zobrazena na obrazovce, aniž by musela intenzivně využívat procesor. Pokud máte nějaké dotazy, měli byste požádat vývojáře pomocí kontaktních informací v dolní části stránky.“

Text sám o sobě není přehnaně dlouhý a předává uživateli to hlavní, co potřebuje vědět. Není to možná nejlepší vysvětlení toho, co by oprávnění mohlo znamenat, ale je to rozhodně lepší, než co mají uživatelé teď. Lidé z Googlu, kteří mají o Androidu nesporně lepší povědomí, by to určitě zvládli ještě o něco lépe. Pomohli by tak uživatelům, kteří oprávnění sledují, nejsou v nich úplně zběhlí, ale chtějí jim lépe porozumět.

Kudy vede cesta?

Požadavky aplikací na oprávnění jsou na Androidu problémem od okamžiku, kdy se tento mobilní operační systém začal prosazovat ve velkém. Uživatelům byl a je servírován často až příliš dlouhý seznam požadavků, aniž by měli k dispozici dostatek informací o tom, co vlastně jednotlivé položky znamenají. Přitom nejsou zvýrazněna oprávnění potenciálně ohrožující osobní či jiné údaje. Pokud by chtěl být začátečník opravdu pečlivý, tak by například u aplikace MORECAST musel projít, vyhledat a analyzovat osmnáct položek. Řádově by tím strávil až několik minut času – a to v případě laika není příliš pravděpodobné chování.

V kostce se tedy dá konstatovat, že důvodem, proč uživatelé nečtou požadavky aplikací na oprávnění, je politika Googlu. Východisko je v podstatě jedno: poskytnout uživatelům veškeré informace ve snadno stravitelné podobě, aby už nemuseli hledat podrobnosti v dokumentaci pro vývojáře.

Jak hodnotíte stávající stav požadavků aplikaci na oprávnění?

Komentáře

Douby

Douby

1.8.2017 12:07

Nové verze androida tuším od verze 7 se ptají na práva ne při instalaci ale jednotlivě až ve chvíli kdy se aplikace snaží dané potenciálně nebezpečné oprávnění využít, v té chvíli informací není příliš, uživatel snadno potvrdí že chce povolit přístup ke kontaktům když po aplikaci zrovna chtěl spustit synchronizaci,… to mi připadá jako chytré řešení problému.

Yggynko Slobodko

Yggynko Slobodko

1.8.2017 12:08

Ked som mal prvy smart a chcel nieco nainstalovat ,tak po precitani poziadaviek ,som to radsej odmietol ,az som dosiel k tomu ,ze si vlastne nemozem nainstalovat nic ,lebo je to zasah do mojho sukromia …☻☻☻ Preto to uz teraz ani necitam…

landys

landys

1.8.2017 12:18

Ten popis oprávnění ze strany googlu mi přijde příliš obecný. Já bych uvítal povinnost autora aplikace ke každému oprávnění uvést i vlastní důvod proč jeho aplikace potřebuje to či ono oprávnění.

Karel Kilián

Karel Kiliánexternista

1.8.2017 12:30

To: landys
Tak nějak bych si to představoval.
Samozřejmě autor si může vymýšlet, ale pořád lepší než nic. Přinejmenším u těch aplikací, které jsou v pořádku.

unions8

unions8

1.8.2017 12:32

Landys: nechápu, že to tak není už dávno.

SkyblockJeSuper

SkyblockJeSuper

1.8.2017 12:41

Douby je to od verze 6 a je to vidět i na jednom z obrázků.

Anty

Anty

1.8.2017 12:43

1. Oprávnění, které zmiňujete, že morecast používá na udržení obrazovky zapnuté se (mimo jiné) dá používat i k udržení procesoru (zabraňují jeho úspání a tak přerušení nějaké činnosti), když je telefon zhasnutý a aplikace běží na pozadí. (Používal jsem ho v minulosti často v aplikacích, ale teď už vím že to bylo zbytečné)
Takže aplikace s tímto oprávněním může značně zvýšit spotřebu baterie. Zejména protože může narušovat systém Doze, který už nějakou chvíli android používá k lepšímu plánování probouzení procesoru na pozadí.
Píšu to hlavně kvůli popisu tohoto oprávnění, který jste uvedli ve článku, protože mi přijde nesprávný.

2. Zmíněné oprávnění k přístupu do úložiště aplikace morecast je zbytečné i když aplikace potřebuje přístup k fotkám. Od toho je v androidu možnost vyžádat si různá data od aplikací, které k nim mají přístup. Například aplikace potřebuje od uživatele telefonní číslo, tak raději, než aby vytvořila vlastní „aktivitu“ na výběr kontaktu a přidala do oprávnění na kontakty, může zažádat systém android o telefonní číslo a systém android otevře aplikaci kontakty, kde uživatel vybere kontakt a ten je pak v podobě něčeho jako povolení k přístupu k tomu kontaktu předán aplikaci. V případě morecastu by se pak jednalo o požadavek na soubor, s tím že by specifikovali, že chtějí aby to byl obrázek (což není nic těžkého). Dostali by pak přístup právě k tomu jednomu obrázku (jde si i zažádat o několik obrázků najednou, uživatel jich pak může několik „označit“ a předat jich víc najednou).

Takže shrnuto podtrženo, největší chyba je momentálně u vývojářů, kteří nerespektují systém oprávnění tak, jak ho vymyslel Google. Zatímco aby si vyžádávali data (kontakty, soubory, účty, …) od systému, přidávají si oprávnění a přistupují k datům přímo a to pouze proto, že to uživatelům nevadí… (Nevadí jim povolit aplikacím přístup snad ke všemu.) U pokročilejších aplikací taky proto, že vlastní „aktivita“ lépe zapadne do designu jejich aplikace.

Na závěr:
landys: Souhlasím, akorát je zde problém, že by to musel někdo dobře kontrolovat, hodně her si úplně zbytečně vyžaduje přístup ke kontaktům, jen proto aby nemuseli uživateli zobrazit výběr účtu Google k přihlášení ke hrám Google a když jim to odmítneš, tak to zdůvodňují, že to jinak nejde a všichni jim to očividně věří…

Karel Kilián

Karel Kiliánexternista

1.8.2017 14:42

To: Anty
Děkuji za upřesnění a přínosný příspěvek. Neřekl bych, že jsme vysloveně v rozporu ohledně toho oprávnění – přeci jen v tomto směru jsem se snažil to podat stručně a rychle.
Ovšem s Vaším závěrem z velké části souhlasím :) Ano, vidím to podobně.

pajik77

pajik77

1.8.2017 16:01

Mě osobně vadí, že aplikace ukáže seznam požadavků na oprávnění, nebo se při spuštění dotáže, ale pokud člověk s nějakým požadavkem nesouhlasí, tak se aplikace nespustí a nemůže jí používat. Takže stejně se ve výsledku nucen přijmout diktát tvůrce aplikace, takže celá akce s oprávněními je jen jedna velká iluze, která je na uživatele činěna. Ano jistě, můžu hledat mezi tunou aplikací nějakou další, co dané oprávnění nebude chtít, ale s největší pravděpodobností nezískám stejnou funkčnost, nebo se jí nedohledám. Bohužel nevím proč, když mám třeba přímo od výrobce aplikaci na synchronizaci kontaktů, kalendáře a já nevím čeho všeho a nastavím si, že kontakty synchronizovat nechci, se aplikace bez oprávnění ke kontaktům neobejde.

Anty

Anty

1.8.2017 16:01

To: Karel Kilián
V rozporu určitě nejste, jen mi šlo o to, že je to jen jedno z možných použití toho oprávnění a že má i jiné vyžití. ;) Jinými slovy mi přišel ten popis neúplný.

Každopádně děkuji za přečtení mého komentáře. Říkal jsem si, jestli si ho vůbec někdo přečte, když je tak dlouhý. :)

pajik77

pajik77

1.8.2017 16:02

Takže dovětek. Má cenu se vůbec zajímat co aplikace požaduje za oprávnění, když bez bezvýhradného souhlasu tu aplikaci nemůžu používat?

Anty

Anty

1.8.2017 16:31

To: pajik77
V podstatě píšeš to, co píšu v části „Sečteno podtrženo“, takže s tebou souhlasím. Je dlouhodobým faktem, že většina problémů s oprávněními je způsobena u vývojářů a Google to moc neřeší. (Myšleno zejména z pohledu pravidel, které musí aplikace splňovat, aby mohla být umístěna na Google play.) Zároveň je ale pochopitelné, že to neřeší, protože android potřebuje vývojáře a podobnými pravidly by si je mohl Google odehnat a když to uživatelům (očividně) moc nevadí, tak proč to řešit, že? :D

v6ak

v6ak

1.8.2017 19:23

K zabránění spánku: Myslím, že to je (vedle např. vibrací) jedno z oprávnění, které se už běžně neukazují a dozvíme se je leda z nějakých detailních seznamů. A má to svůj důvod – zbytečně to ubíralo pozornost od důležitých oprávnění.

K postoji „stejně to musím schválit“: Ne, nemusím. Samozřejmě, nemůžu chtít třeba správce souborů, který nemá přístup k souborům, ale mohu chtít svítilnu, která nemá přístup k poloze a kontaktům.

* Mnoho aplikací si poradí s tím, že nemá plná oprávnění. Třeba Zomato sice trošku brblalo, ale šlo to.
* Pokud si aplikce neporadí nebo chce oprávnění už při instalaci, prostě ji odinstaluju nebo ani nenainstaluju. Na Google Play je plno jiných aplikací.
* V některých případech využiju systém hodnocení. To dělám i v případě, že zjistím, že aplikace využívá oprávnění nějak excesivně (DTEK bonzuje ☺), jako třeba Moovit zjišťoval polohu na pozadí bez zjevného legitimního důvodu. (Snad jediná funkce, která by to mohla potřebovat, byla vypnutá.) Někteří vývojáři reagují, někteří ne – ale čím víc nás bude takto hodnotit aplikace, tím více budou reagovat.

Konkrétně u Moovit jsem si ještě dal tu práci a dopisoval si s autory, kteří nebyli schopni vysvětlit, proč se aplikace takto chová. Dnes spíše projdu nastavení (abych zjistil, jestli si nemám něco vypnout – ale IMHO ani to by u slušné aplikace nemělo být nutné) a pak rovnou hodnotím, vývojář může reagovat.

uni

uni

2.8.2017 9:12

Douby: Toto od iOS Google okopíroval u šestky. U 7.1 okopíroval noční režim. Tedy „okopíroval“, prostě implementoval.
Téma práv je u Androidu velmi smutné a nešťastné. Např. že buzerují i stock aplikace s dotazem…uf. Nj, je to prostě javovaská splácanina no.

pajik77

pajik77

2.8.2017 10:33

v6ak: Většina uživatelů fakt nechce probírat 10 aplikací na baterku, aby mohla zvolit tu jednu, co funguje a nechce nesmyslná práva. Navíc není řeč jen o aplikaci na baterku, která pouze rozsvítí nějakou diodu a může jí napsat „kdejaký jouda“. Ale třeba o aplikaci na psaní SMS…. nějak jsem nenašel žádnou použitelnou, co by nevyžadovala například přístup k souborům…. na co? V SMS rozhodně soubor posílat nehodlám. O aplikacích na synchronizaci, proč chtějí přístup ke kontaktům, jo aha, oni je chtějí synchronizovat, no ale já nechci synchronizaci kontaktů, jen určitých vybraných složek, tak zakážu v aplikaci synchonizaci kontaktů, no jo, ale ona stejně chce přístup ke kontaktům a bez toho nefunguje. OK další aplikace, aha, ta má rozhraní aby se v tom prase vyznalo…. Ano, již jsem několika tvůrcům napsal také své reakce a podměty. Dokonce jsem i některým po změně uživatelského rozhraní doporučil že toto fakt není přehledné a pohodlné.

uni

uni

2.8.2017 10:36

pajik77: Přístup k souborům? Nebylo to přístup k úložišti? Tam to přeci dává smysl, kam by si to mělo ukládat data apod.:)

SeppWinkler

SeppWinkler

2.8.2017 10:43

@landys: to by bolo veľmi rozumné, +1 :)

@v6ak: zabránenie režimu spánku považujem za jedno z najdôležitejších oprávnení. Má totiž, na rozdiel od polohy pri svetielku, výslovne praktický a okamžite účinný dopad – vybitý telefón v situácii, keď ho potrebujem. Práve toto oprávnenie vývojári vyslovene zneužívajú, akoby práve ich apka bola najdôležitejšia na svete. Toto by malo byť vždy umožnené vypnúť.

pajik77

pajik77

2.8.2017 14:31

uni: K souborům a k foťáku, aby bylo možné poslat fotku přes zprávu, počítám MMS. Takže z pohledu MMS ano. Fajn, chci jen inteligentně posílat SMS (možnost odstranění diakritiky, odeslání v určitém čase, hromadní příjemci) s nějakým logickým a přehledným uživatelským rozhraním. A to jsem tady procházel i čtenáři doporučují, Světandroida doporučuje. Fant na to padl celý večer. Fajn, zrovna jsem neměl co dělat, ale myslím, že málokdo se věnuje technice jen pro techniku, většina lidí jí chce pouze používat.

uni

uni

2.8.2017 14:52

pajik77: Jasný. Já skončil u ChompSMS, ořez diakritiky, pokud je zpráva krátká, tak ji zachová. Podpora MultiSIM (kde si pamatuje posledně použitou SIM k odeslání). Spokojenost, ale více příjemců bylo myslím nic moc (konvertovalo na MMS?).

v6ak

v6ak

4.8.2017 20:21

pajik77: No, Android nicméně nástroje nabízí a myslím, že se Google snaží. Už tím, že aplikace s méně požadovanými oprávněními by brzy měl nabídnout jako první: https://www.svetandroida.cz/nekvalitni-aplikace-google-play-201708/ Je jen na uživateli, jestli odsouhlasí kdejaká oprávnění, najde si jinou aplikaci nebo funkčnost úplně oželí.

SeppWinkler: Pak jsi IMHO jeden z mála (a máš možnost si to přečíst v podrobnostech). Reálně je to ale oprávnění, které nezasahuje do soukromí (jako poloha, kontakty, soubory apod.) a umožní tak maximálně DoS. Navíc celkem nápadně, Android aplikaci žeroucí baterku napráší. Ze samotného oprávnění se navíc nedozvíš, jestli aplikace to oprávnění používá rozumně, nebo nějak excesivně. Což platí i u ostatních oprávnění, ale tady to spolu s výše uvedeným znamená akorát to, že jsem to začal ignorovat.

RSS (komentáře k článku)