Kategorie Archiwum

mObywatel, czyli wzorcowy przykład złej aplikacji

Na wstępie przypominam, że całą redakcją kibicujemy programowi mObywatel i cyfryzacji w Polsce. Sam kibicuję szczególnie mocno, bo od dzieciństwa zawsze dopingowałem słabszych. Niestety w pierwszym spotkaniu aplikacja kontra rzeczywistość, mObywatel nie miał żadnych szans. Dla mnie „Latarnika Polski Cyfrowej” oraz propagatora dostępnej technologii wprowadzającego seniorów w cyfrowy świat, jest to wyjątkowo bolesne.
Aktualizacja… jest jeszcze gorzej.

Dobry pomysł, realizacja…

Proszę nie uznawać tego artykułu, jako polemiki z Rafałem Zawiślakiem. On w swoim art. skupił się na systemie mObywatel i jego (skromnych) możliwościach. Tam też dowiecie się, co już potrafi system, co jest obiecane i jak z tego korzystać. Ja postanowiłem poznęcać się jedynie nad aplikacją.

Od razu, gdy dowiedziałem się, że program pojawił się w App Store, pobrałem go i rozpocząłem proces aktywacji. Wracałem właśnie z serwisu Cortland, gdzie oddałem zagarek, więc cała akcja odbywała się w pociągu. Piszę o tym, bo może to być „okoliczność łagodząca”, choć nie sądzę, aby miała istotny wpływ.

Program w angielskiej wersji językowej


Pierwsze co mnie zaskoczyło, to informacja w App Store, że program posiada jedynie wersję angielską. Bardzo się zdziwiłem, jednak przypomniałem sobie, że jak pierwszy raz pisałem aplikację na iOS, też nie umiałem zrobić lokalizacji. Jednak już po miesiącu (2009 r.) nauczyłem się. Jest to o tyle „złożone”, że w projekcie należy podać główny język aplikacji, a w wyborze nie ma polskiego. Poprawną drogą jest wybranie angielskiego i dodanie lokalizacji polskiej dodatkowo. Czyli tworzymy program w dwóch językach. Angielski w tej sytuacji możemy potraktować po macoszemu. Niestety często deweloperzy idą na łatwiznę i stosują polski język „pod angielskim”. Tak też postanowili zrobić „junior deweloperzy” pracujący dla NASK. W programie firmowanym przez Państwo wydaje mi się to zdecydowanie niestosowne. Wykonanie lokalizacji w aplikacji typu mObywatel naprawdę nie jest trudne. Sam zrobiłbym to za 1000 zł z chęcią i fakturą.
Brak prawidłowej lokalizacji językowej włączył mi w głowie pierwszą lampkę ostrzegawczą.

iOS 10.3 lub 11.0.3 jako minimum

Następna lampka zapaliła się, gdy zobaczyłem wymagania co do systemu. Choć przez chwilę miałem nadzieje, że tak wysokie są spowodowane wyjątkowo wyrafinowanymi metodami i API użytymi w aplikacji. Niestety myliłem się.

Jeszcze zabawniejsza jest rozbieżność z wymaganiami podawanymi na stornie mObywatel (iOS 11.0.093) i obecnie w App Store (10.3). Na liście zgodnych urządzeń nie ma iPhone 5, co może sugerować użycie „bezpiecznej enklawy” dostępnej dopiero w procesorach 64-bitowych.
Naprawdę nie potrafię znaleźć w programie niczego, co by wymagało iOS wyższego niż 8. Większość funkcji kryptograficznych związanych z bezpieczną enklawą dostępne jest od iOS 8, a prawie wszystkie od iOS 9. Zresztą, jeżeli deweloperzy zdecydowali się na użycie bezpiecznej enklawy (co sugeruje brak iPhone 5 i starszych na liście zgodności), to dlaczego nie zastosowano Touch ID (nad czym dodatkowo rozpaczam w dalszej części tekstu)? Czy wybór tak wysokiego „targetu” to tylko przejaw lenistwa lub jest spowodowany wymaganiami gotowych rozwiązań pozwalających na przeniesienie kodu z Androida? Czy znów została zastosowana zasada „równaj w dół”?

Praktyka

Aby aktywować program, należy mieć już wcześniej utworzony „profil zaufany”. Mam takowy już od ponad roku. Podczas autoryzacji programu używana jest prymitywna, ale bardzo popularna metoda logowania za pomocą strony WWW. Jednak wcześniej musimy wybrać hasło dla aplikacji. Musi się ono składać z przynajmniej, jednej małej, jednej, wielkiej litery i zawierać minimum jedną cyfrę i jeden znak specjalny. Skomplikowane, ale prawidłowe.
Niestety program zamknął się w momencie, gdy strona WWW kończyła logowanie. Kolejny raz musiałem wprowadzać dwukrotnie wymyślone wcześniej hasło. Tym razem program zawiesił się krok dalej, bo w momencie potwierdzania kodem SMS zgody na autoryzację aplikacji. Za trzecim razem posunąłem się o kolejny krok. Do finału doszedłem za 4 podejściem. W głowie wyczerpał mi się już limit lampek ostrzegawczych. Zaraz zacząłem szukać w ustawieniach opcji włączenia logowania za pomocą Touch ID. Nie znalazłem… lampki w głowie pulsowały już pomarańczowym światłem. Jeżeli banki, systemy płatnicze i inne serwisy przechowujące bardzo wrażliwe dane decydują się na Touch ID, to dlaczego nie mObywatel? Zdenerwowany odszukałem kontakt ze wsparciem, bo na gorąco chciałem napisać „co o tym myślę”. Znalazłem! Numer telefonu i e-mail okazały się niekliklalne. Zaznaczę, że wykonywanie połączenia z aplikacji oraz otwieranie maila, zazwyczaj opisuje na jednej z pierwszych 3 lekcji każdy poradnik „Tworzenie aplikacji iOS dla opornych”. Jednak tu zabieg mógł być celowy. Poddałem się i nie wysłałem maila.

Po kilku dniach

Teraz gdy chciałem sobie odświeżyć doświadczenie z aplikacją mObywatel, okazało się, że zapomniałem mojego wyrafinowanego hasła do niej. Na ekranie logowania nie odnalazłem opcji „przypomnij” lub „zresetuj” hasło. Po piątej nieudanej próbie program zaproponował mi tylko chwilę skupienia, blokując możliwość logowania na 5 minut. Być może opcja „resetu” jest dostępna na stornie, ale naprawdę nie mam już ochoty na dalsze zabawy z tym wytworem firmowanym przez „Ministerstwo cyfryzacji” i NASK.

Programu nie skasowałem jedynie dlatego, że jestem ciekaw, czy i kiedy będzie jakaś aktualizacja. Naprawdę wstyd mi za decydentów, którzy nie dość, że dopuścili do wielomiesięcznego opóźnienia względem wersji na Androida, to wypuścili taki twór programopodobny. Nieprzydatny (na razie) bubel za nasze podatki.
Dla tych, co chcą się sami przekonać, podaję link do mObywatel, ale pamiętajcie, że ostrzegałem!

Aktualizacja

Niestety przegapiłem jedną ważną informację, która stawia twórców programu w jeszcze gorszym świetle. Jeżeli czytacie ten tekst na stojąco, to lepiej usiądźcie.
Okazało się, że wymiana danych może odbywać się wyłącznie pomiędzy urządzeniami z tym samym systemem! Czyli program jest bezużyteczny przy kontaktach pomiędzy posiadaczami iOS i Android.

Jest to dla mnie totalnie niezrozumiałe. Jeżeli połączenia są realizowane przez Bluetooth LE, to w systemie nie ma żadnych ograniczeń. Można ustawiać dowolne charakterystyki, a dodatkowe szyfrowanie danych i wymiana kluczy może się odbywać w dowolny wymyślony przez autorów systemu sposób.
Jeżeli możecie potwierdzić lub zaprzeczyć tej informacji, to bardzo proszę o sprawdzenie. Wiedzę o kolejnej przypadłości aplikacji mObywatel, zdobyłem dzięki znajomym z Facebooka. Pochodzi ona z oficjalnej dokumentacji programu. Jak wiecie, jej też nie można ufać, bo zawiera błędne informacje np. dotyczące minimalnej wersji systemu.
 
 

Jaromir Kopp

Użytkownik komputerów Apple od 1991 roku. Dziennikarz technologiczny, programista i deweloper HomeKit. Propagator przyjaznej i dostępnej technologii. Lubi programować w Swift i czystym C. Tworzy rozwiązania FileMaker. Prowadzi zajęcia z IT i programowania dla dzieci oraz młodzieży, szkoli też seniorów. Współautor serii książek o macOS wydanych przez ProstePoradniki.pl. Projektuje, programuje oraz samodzielnie wykonuje prototypy urządzeń Smart Home. Jeździ rowerem.

Ostatnie wpisy

Router Synology RT6600ax. Potężny zarządca sieci

Markę Synology kojarzycie zapewne z urządzeniami NAS. Te świetne dyski sieciowe dają możliwość przechowywania bezpiecznie…

1 rok temu

Sonos ogłasza partnerstwo z Apple i pokazuje dwa głośniki

Na rynek wchodzą dwa nowe głośniki marki Sonos: Era 100 i Era 300. Model Era…

1 rok temu

Sejf Smart Safe współpracuje z HomeKit

Akcesoriów, które możemy dodać do naszego inteligentnego domu jest coraz więcej. Do tego zacnego grona…

1 rok temu

FileMaker Cloud w Polsce

Wiecie, że jedna z najlepszych baz danych - FileMaker (obecnie zmieniana jest nazwa na Claris),…

1 rok temu

Ivory zamiast Tweetbot’a. Mastodon lepszy od Twittera?

Elon Musk wszedł na Twittera i zrobił rewolucje. Ostateczną ocenę jego poczynań w tym serwisie…

1 rok temu

Najważniejsza funkcja nowego HomePod’a

Ten produkt miał już nie istnieć. Kiedy pojawiły się informację, że Apple nie przedłuży życia „dużego”…

1 rok temu

Serwis wykorzystuje pliki cookies. Korzystając ze strony wyrażasz zgodę na wykorzystywanie plików cookies.