^

mObywatel, czyli wzorcowy przykład złej aplikacji

Jaromir Kopp

5 lutego 2018

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ą.
mObywatel - opinie użytkowników
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

mObywatel - 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ę.
mObywatel wymagania na stronie rządowej
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.
mObywatel brak funkcji przypomnienia lub resetu hasła
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.
Brak współpracy pomiędzy systemami
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.
Komentarze (14)
L

14 komentarzy

  1. Bazyli Zygan

    Ich przerosło nawet dostosowanie koloru statusbara do koloru navbara. A Ty się dziwisz, że bardziej skomplikowane rzeczy nie działają 😉 Jakoś wyczuwam w tym smród implementacji w badziewnym React Native.

  2. Bazyli Zygan

    Popularnym jest teraz klepanie „aplikacji” jako javascriptu w webview z pomocą narzędzi od Facebooka – nazywa się to React Native. Jest tak natywne, jak ze mnie jest ksiądz. Jest beznadziejnie głupie, ale szeroko używane, bo przecież piszesz raz i działa na iOS i Android. Musi być good, c’nie?

    • Behinder

      Całe zło zaczęło się od tego że ktoś pomyślał by pisać aplikacje na Androida..zaczął chyba Instagram…:(

  3. Behinder

    Uwaga sprostowanie – nie „całą redakcją” bo ja nie kibicuje 🙂 Co więcej uważam że informatyzacja w polskich urzedach jest niepotrzebna, bo nam najlepiej wychodziło zawsze z technologią analogową 😉
    Skoro nie potrafiono stworzyć dowodów osobistych z podpisem cyfrowym, skoro CEPIK rozlazi się w szwach, skoro informatyzacja ZUS to materiał na niezłe śledztwo to nawet już się nie chce komentować. A teraz jeszcze Jarek potwierdza to tym wpisem.
    Dajmy sobie spokój. Albo uczciwie niech Rząd wyjdzie na konferencję prasową i powie – obowiązującym systemem w Polsce jest Windows, Prezes zabronił używać czego innego i nie będziemy wspierać.

  4. Remek Rychlewski

    Moi drodzy taka teraz moda. Nazywa się to Progressive Web App. Promuje to Google a niedawno przyłączył się do tego nawet Microsoft, wcale się nie zdziwię jak również Apple będzie na to łaskawszym okiem patrzeć. Czy to dobre? Jasne że nie. Aplikacje w HTMLu to zawsze będzie substytut ale jeśli ktoś zleca projekt to dla niego jedyne sensowe rozwiązanie. Jeden kod, wszystkie platformy. A że gówno? Kogo to obchodzi. Jest? Jest. Działa? No jakoś działa. 🙁

  5. AniA

    Ale udało Ci się odzyskać hasło?? Bo ja nie pamietam 🙁

  6. Wlo

    Widzę w komentarzach wysyp pseudo ekspertów od programowania aplikacji, żadna z technologii nie wpływa na to ze w aplikacji brakuje podstawowych elementów, problem leży w firmie która realizowała aplikacje a nie w technologii, bo uwierzcie mi ze natywnie można to zrobić równo zle…

  7. Daniel

    Żeby utworzyć nowe hasło trzeba usunąć aplikacje i zainstalować na nowo, ponieważ hasło trzymane jest na telefonie, a nie w bazie danych, dlatego po usunięciu aplikacji usuwamy tez hasło i przy ponownej instalacji możemy ustawić nowe, oczywiście będziemy tez musieli na nowo potwierdzić profilem zaufanym

  8. IMM

    Minęło trochę czasu od wydania aplikacji i nadal jest gówniana,w info o pojeździe brak przeglądu od 234 dni,zgubiony i anulowany dowód osobisty od 2 tygodni nadal się wyświetla,infolinia to maszyna do grabienia użytkowników.

  9. m

    Bronia sie ze API apple uniemozliwoa polaczenie z urzadzeniami innych producentow. Moze szanowny autor wylozy jak to powinno byc zrealizowane?

    • Jaromir Kopp

      Zgodnie z zaleceniami Apple, po Bluetooth LE. To jakiś idiota napisał. Od groma jest aplikacji, które za pomocą BT LE wyeniają informacje z innymi urządzeniami i obcymi systemowo smartfonami bez licencji Apple. Tylko urządzenia (poza audio i paroma innymi charakterystykami) korzystające z wysokoenegetycznego Bluetooth wymagają certyfikatów.
      Widać, że „fachowcy” od infrastruktury rządowej nawet nie raczyli ze zrozumieniem dokumentacji dev przeczytać. Smutne, a nawet tragiczne.

  10. Xyz

    Niestety w programie nic sie nie zmieniło. W okresie pandemi, gdzie najchętniej korzysta sie z takich rozwiązań, program po pierwszej próbie logowania wyświetla komunikat: „przekroczono dozwolona liczbę prób. Spróbuj ponownie za 5 minut”. Odkryłam hasło i było wpisane prawidłowo ‍♀️ Nie wyobrażam sobie, zeby taka sytuacja przytrafiła sie np w aptece lub w urzędzie, u lekarza. Cały czas trzeba mieć dokumenty ze soba, bo nie można ufać w sprawność logowania sie w aplikacji. Na dzień dzisiejszy jest wiec ona zbędna.

  11. Henryk

    2021 05.17 badziewie prawidlowo wpisuje uzytkownika ,oraz haslo do profilu e-pulap w smartwonie Hammer 18×9 i niestety mobywatel odpowiada -blad logowania czyli informuje mnie ze zle lacze sie z epulap ,sprawdza m za pomoca laptopa z ktorego zaladalem e pulap w urzedzie skarbowym i jest okey lacze sie z epulapem niestaty z smartwona z androidem mobywatel z epulapem nie laczy

  12. Czesław

    Znając realia ze strony Resortu oraz NASKu wiem, że aplikacja nigdy nie będzie dobra z powodów po prostu organizacyjnych. Trochę korespondowałem, trochę telefonowałem… Minister stwierdził, że „trzeba by coś zrobić”. Co? Ano niech dyrektor departamentu wymyśli. Tenże zleca to komuś w swoim gabinecie i nie określa żadnych ram. Tamten przekazuje kolejnemu. Ten ostatni nie ma pojęcia o co chodzi, ale wie, że coś na rzeczy jest z komputerami. Więc przekazuje sprawę dyrekcji NASK. Tam podobna sytuacja. Na końcu napatoczył się gdzieś doktorant. Kolego, zrób m-dowód osobisty na początek. Ale o co chodzi, na jakie urządzenie, ja nie programuję smartfonów… No ale przecież używasz telefonu, to dasz radę.
    No i nieborak robi to w przerwie własnych prac. A że zależy mu bardziej na doktoracie (bo w NASKu nie będzie bronił, się chały nie obroni na Politechnice), więc w „dzieło „m_…” nie inwestuje. Tym bardziej, że dostaje za dzieło pochwałę, a o drodze wszyscy podzielili i pobrali honoraria i nagrody za swój „wkład” w dzieło.
    I to nie jest żart, tylko raport człowieka obeznanego. I nie dotyczy to jedynie m-obywatel, ale i innych stworzonych przez resort dzieł.
    —podstawa: korespondencja i rozmowy telefoniczne w sprawie m-obywatel i Alarm112