Ostatnio wpadłem na reklamę urządzenia "The Brick" 🧱
To fizyczna kostka, która blokuje np. social media w Twoim telefonie i aby je odblokować, musisz pobiec do pokoju obok i stuknąć "bricka".
Wszystko fajnie... tylko ta cena 🧅
Zrobiłem własną wersję "low budget" 🧵 ↓
To urządzenie to tak naprawdę zwykły tag NFC, który musi zostać zeskanowany przez Twój smartfon. Nie ma tam od strony hardware niczego innego.
Tylko taki tag kosztuje na Allegro jakieś 3-4zł, a nie 240zł + przesyłka 😉
Cała magia siedzi więc w aplikacji, a nie w urządzeniu.
Mógłbym oczywiście poprosić np. Claude 3.7 o napisanie mi aplikacji skanującej kody NFC na iOS i dodać tam warunek do blokowania wskazanych rozpraszaczy, ale byłoby to podejście jak z armatą na muchę.
Da się to zrobić znacznie prościej i to bez napisania nawet linijki kodu😏
Postanowiłem wykorzystać aplikację "Shortcuts" (Skróty) na iOS.
Wymagało to ode mnie stworzenia trzech automatyzacji:
↳ zakładanie blokady o zadanej godzinie (u mnie 21:00)
↳ zdejmowanie blokady po zeskanowaniu tagu NFC
↳ wykrywanie uruchamiania "szkodliwych" aplikacji
Z racji tego, że skróty nie obsługują "zmiennych globalnych", do synchronizacji danych między scenariuszami użyłem pliku:
/unknow/lock.txt
O godzinie 21:00 do środka ląduje napis "Blokada".
Po zeskanowaniu NFC idzie tam napis "OK".
Zakładanie blokady jest proste:
1) Wchodzisz do Skrótów
2) Nowa Automatyzacja (nie nowy skrót!)
3) "Pora dnia" → 21:00
4) Nowa pusta automatyzacja
5) Tekst = Blokada
6) Zachowaj "Tekst" w /unknow/lock.txt (nadpisz, jeśli istnieje)
Do zdejmowania blokady potrzebny będzie tag NFC. Można takie tanio dostać np. na Allegro. W zależności od wyglądu i rozmiaru kosztują od kilku do kilkunastu złotych za sztukę.
Kupiłem rolkę 10 sztuk za ~35zł.
Automatyzacja do zdejmowania blokady jest identyczna jak do zakładania, tylko wyzwalacz to nie "Pora dnia" a "NFC", a treść tekstu do zapisania to "OK" zamiast "Blokada".
W obu automatyzacjach trzeba zaznaczyć, aby wykonywały się same, bez pytania o zgodę.
Pozostała ostatnia z automatyzacji.
Jako wyzwalacz wybieram "Aplikacja", następnie wybieram wszystkie rozpraszacze (appki do social mediów, filmów itp.) i w zdarzeniu wybieram "Kiedy otwarta".
Scenariusz wykona się w momencie otwierania aplikacji.
Ostatni workflow wygląda mniej więcej tak:
1) Pobierz plik /unknow/lock.txt
2) Dopasuj tekst "Blokada" do Plik
3) Jeśli znaleziono dopasowanie, to idź do ekranu głównego + wyświetl alert
Oto i cała zaawansowana logika 😉
Efekt z punktu widzenia użytkownika wygląda tak, że gdy po godzinie 21:00 będę chciał otworzyć aplikację do social mediów, to automatycznie zostanie ona zamknięta i pojawi się komunikat o powodzie blokady.
Aby zdjąć blokadę na sociale, muszę pójść do kuchni i dotknąć telefonem taga NFC przyklejonego na drzwiach lodówki 😃
Automatyzację wykonałem bardziej DLA ZABAWY niż do realnego użytku, ale co ciekawe sprawdza się całkiem nieźle, więc prawdopodobnie sobie ją zostawię.