Mr. Grummel Pobierz aplikację
← Wszystkie poradniki
PORADNIK 7 MIN CZYTANIA

Jak działają blokady aplikacji?

Większość blokad aplikacji niczego nie blokuje na poziomie sieci czy kodu — przechwytują moment, w którym próbujesz otworzyć aplikację, i stawiają coś między tobą a nią. To, czym jest to „coś”, decyduje, czy blokada faktycznie się utrzyma.

Blokada aplikacji działa, siadając między tobą a aplikacją, którą próbujesz otworzyć, i wykorzystuje dowolny dostęp, jaki przyznaje jej system operacyjny, by albo uniemożliwić jej uruchomienie, albo sprawić, że coś to uruchomienie kosztuje. Na iOS ten dostęp pochodzi niemal wyłącznie z własnego frameworku Apple, Screen Time — aplikacje zewnętrzne nie mogą po cichu zabijać innych procesów, więc cokolwiek nazywa siebie blokadą na iPhonie, jest w rzeczywistości tylko nakładką na te same App Limits i Communication Limits, które Apple już dostarcza. Na Androidzie system jest bardziej liberalny: aplikacja może poprosić o uprawnienia Accessibility Service lub Usage Access i wykorzystać je, by wykryć, kiedy zablokowana aplikacja trafia na pierwszy plan, i natychmiast przykryć ją własnym ekranem. Mechanizm różni się między platformami, ale cel jest identyczny — przechwycić otwarcie i zdecydować, co dzieje się dalej.

Dwa mechanizmy i dlaczego zachowują się inaczej

Na iOS blokada zewnętrzna zwykle działa, prosząc o autoryzację Family Controls / Screen Time, co pozwala jej zarejestrować listę aplikacji jako „ograniczone” za pomocą frameworku Apple ManagedSettings. Gdy stukasz w ograniczoną aplikację, to sam iOS — nie aplikacja zewnętrzna — przechwytuje uruchomienie i pokazuje ekran blokady Screen Time, ponieważ deweloper zewnętrzny w rzeczywistości nigdy nie ma dostępu do danych ani procesów twoich innych aplikacji; może jedynie poprosić system, by je oznaczył. To także powód, dla którego blokady na iOS zachowują się względem siebie stosunkowo spójnie: wszystkie są nakładkami na ten sam, leżący u podstaw system. Na Androidzie blokada zwykle korzysta z API Accessibility Service (zaprojektowanego dla czytników ekranu) lub API Usage Stats, by obserwować, która aplikacja jest na pierwszym planie, a gdy wykryje zablokowaną nazwę pakietu, rysuje nad nią nakładkę, zanim zdążysz wejść w interakcję z aplikacją pod spodem. Daje to blokadom na Androidzie więcej elastyczności — bogatsze nakładki, niestandardowe procesy odblokowania w rodzaju quizu — ale też większą kruchość, ponieważ uprawnienia dostępności można cofnąć w Ustawieniach, i to ta sama osoba, którą blokada ma powstrzymywać, może to zrobić. Ten podział tłumaczy też częstą skargę dotyczącą konkretnie blokad na iOS — że wiele z nich wygląda i działa podobnie do siebie mimo tworzenia przez różne firmy — ponieważ wszystkie są ograniczone tym samym, wąskim zestawem haczyków, jakie udostępnia Apple, zamiast budować każda od zera naprawdę niezależny mechanizm blokowania.

Co naprawdę decyduje o tym, czy blokada się utrzyma

Siła każdej blokady aplikacji sprowadza się do jednego pytania: kto kontroluje wyłącznik? Blokada, która istnieje wyłącznie na tym samym koncie co osoba, którą blokuje — bez osobnego kodu, bez drugiego urządzenia, bez żadnej innej osoby trzymającej klucz — jest mechanicznie zawsze odwracalna przez tę samą osobę, ponieważ system musi pozwolić, by ustawienia własnej aplikacji zmieniał ktokolwiek aktualnie korzysta z telefonu. Screen Time od Apple jest tego najczystszą ilustracją: ustawiony bez osobnego kodu Screen Time, App Limits można wyłączyć w Ustawieniach w mniej niż trzydzieści sekund — zrobi to ta sama osoba, którą miały ograniczać. Dodaj kod, który trzyma inna osoba — konfiguracja rodzic/dziecko w Family Sharing, wokół której Screen Time jest zbudowany — a mechanika się nie zmienia, ale zmienia się strona, która może cofnąć blokadę, i to jest cała różnica między ograniczeniem a sugestią. To też powód, dla którego pytanie „jak silna jest ta blokada” jest nieco mylące; framework leżący u podstaw większości blokad na danej platformie jest w dużej mierze taki sam. Różni się to, co stoi między blokadą a stuknięciem, które by ją zdjęło — nic, odliczanie, wpisany kod albo coś, co wymaga realnego wysiłku. Warto jasno powiedzieć, że to nie jest wada charakterystyczna dla jednej konkretnej aplikacji; to strukturalna właściwość każdego narzędzia zbudowanego, by działać na urządzeniu, które ta sama osoba zarówno posiada, jak i próbuje sobie ograniczyć — a to dotyczy praktycznie każdej konsumenckiej blokady aplikacji na rynku, nie tylko tych słabszych.

Gdzie w tym mechanizmie mieści się tarcie

Ponieważ leżący u podstaw mechanizm blokowania (albo jego braku) jest w dużej mierze narzucony przez system, znaczący wybór projektowy, jakiego dokonuje większość blokad, dotyczy tego, co dzieje się w momencie odblokowania. Odblokowanie oparte na timerze (poczekaj pięć minut) dodaje opóźnienie, ale żadnego wysiłku. Odblokowanie wpisywanym kodem (pobierz kod z innego urządzenia) dodaje niewielką przeszkodę logistyczną. Odblokowanie wymagające wysiłku poznawczego — odpowiedź na prawdziwe pytanie, wykonanie serii pompek zweryfikowanej przez czujnik ruchu telefonu — dodaje coś bliższego dyskomfortowi samego zadania, którego pierwotnie unikasz, a to jakościowo inny rodzaj tarcia niż zwykłe czekanie. Żadne z tych rozwiązań nie zmienia tego, czy leżące u podstaw uprawnienie systemowe da się technicznie cofnąć; zmieniają one to, jak bardzo osoba to cofająca musi tego chcieć w danym konkretnym momencie — co badacze zachowań badający kompulsywne korzystanie z telefonu (w literaturze naukowej czasem nazywane „problematycznym korzystaniem ze smartfona”, ponieważ nie istnieje formalna diagnoza uzależnienia od telefonu w DSM-5) generalnie traktują jako bardziej istotną dźwignię niż surowa siła ograniczenia, ponieważ siła woli się waha, a spójny koszt — nie. Warto też zauważyć, że tarcie i twarde ograniczenie techniczne nie są konkurencyjnymi podejściami tak bardzo, jak raczej punktami na jednym spektrum — zaplanowany Downtime bez kodu jest słaby na obu osiach, limit chroniony kodem jest silny na osi technicznej, ale nie daje żadnego tarcia, jeśli kod jest znany, a odblokowanie oparte na quizie jest porównywalnie słabe na osi technicznej (nic nie powstrzymuje przed całkowitym odinstalowaniem aplikacji), ale silne w wymaganiu aktywnego, wysiłkowego zaangażowania dokładnie w tym momencie, który ma znaczenie.

Gdzie w tym wszystkim jest Mr. Grummel

Mr. Grummel wykorzystuje wysiłkową wersję tego mechanizmu: zamiast timera czy wpisywanego kodu, przejście przez blokadę oznacza poprawną odpowiedź na prawdziwe pytanie quizowe. Nie próbuje być twardszą blokadą techniczną, niż pozwala na to system — żadna aplikacja w pełni taką nie jest, bez drugiej osoby trzymającej kod — jest zaprojektowany tak, by podnieść koszt poznawczy momentu, w którym inaczej po prostu stuknąłbyś przez to na wprost. Ten wybór projektowy odzwierciedla konkretny zakład: że dla większości ludzi, przez większość czasu, problemem nie jest potrzeba technicznie niemożliwej do złamania blokady, tylko to, że bezkosztowe obejście jest zbyt łatwo dostępne.

Sources

  1. Apple, "Set up Screen Time for yourself" and "Screen Time API" documentation (developer.apple.com)
  2. Panova, T. & Carbonell, X. (2018). "Is Smartphone Addiction Really an Addiction?" Journal of Behavioral Addictions, 7(2)
Mr. Grummel jeszcze nie wystartował — dołącz do listy oczekujących, a napiszemy do Ciebie e-mailem, gdy tylko to nastąpi.
Dołącz do listy oczekujących