Nowe technologie i pasja. Czyli jak umiejętności zawodowe pomagają w realizacji zainteresowań

Potrzeba jest matką wynalazków – o tym nikomu nie trzeba przypominać. Ale sam pomysł to dopiero połowa sukcesu. Do pełnej realizacji potrzebne są jeszcze odpowiednie umiejętności. Z Robertem Celińskim, głównym analitykiem w Comarch, rozmawiamy o jego aplikacji Polskie Góry, która zdobywa coraz większą popularność, przeplataniu się pasji z nowymi technologiami oraz o planach na przyszłość.

Jesteś autorem aplikacji Polskie Góry. Czy mógłbyś szerzej wyjaśnić, do czego ona służy?

Aplikacja mobilna Polskie Góry została stworzona na platformę Android. Służy do opisywania panoram górskich w rozszerzonej rzeczywistości, tzn. na faktyczny widok z aparatu w smartfonie nanoszone są opisy szczytów, wraz z wysokością n.p.m. oraz aktualną odległością do nich. Aplikacja działa w oparciu o GPS, kompas i czujniki położenia w telefonie. GPS określa lokalizację, czujniki wskazują kierunek patrzenia, a aplikacja automatycznie rysuje wirtualną panoramę z opisami i nanosi ją na rzeczywisty obraz.

Czasem wskazania kompasu nie są wiarygodne, dlatego w aplikacji jest też tryb ręczny, który pozwala użytkownikowi na samodzielne przesuwanie wirtualnej panoramy i dostosowanie jej do kształtów gór oraz aktualnego położenia słońca, które również jest symulowane przez program.

To tylko podstawowe funkcje aplikacji. Dodatkowo są też mapy z zaznaczonymi szczytami, opisy poszczególnych pasm i klasyfikacji np. Korony Gór Polski czy wyszukiwarka szczytów.

Czy aplikacja działa tylko na Androidzie?

Tak, tworzyłem ją tylko na Androida, bo aplikacja jest przeznaczona prawie wyłącznie na polski rynek, a u nas ponad 80% smartfonów jest opartych o system Android. Właściciele iPhone’ów muszą obejść się smakiem lub załatwić sobie smartfona z Androidem. „Apka” działa całkowicie offline! To ważne w górach, gdzie często nie ma zasięgu. Dostęp do Internetu jest potrzebny tylko do synchronizacji kolekcji szczytów, a to można swobodnie zrobić przez WiFi, więc smartfon z Androidem nie musi być nawet wyposażony w kartę SIM.

Jeżeli chodzi o kolekcję szczytów w chmurze, to najlepiej zarządzać nią przez przeglądarkę na komputerze - jest to niezależne od urządzenia mobilnego. Na razie nie planuję przepisywania aplikacji Polskie Góry na iOS, bo to duże koszty urządzeń i licencji, a sporo przy tym żmudnej pracy. Dla mnie najbardziej interesujące było pisanie i testowanie algorytmów aplikacji, a dostosowywanie tego wszystkiego do ekosystemu Apple już mnie specjalnie nie pociąga.

Przed naszą rozmową sprawdziłam Twoją aplikację. Muszę przyznać, że baza jest dość pokaźna.

Tak, wszystko działa na podstawie rozbudowanej bazy szczytów, w której jest zarejestrowanych ponad 9000 rekordów. Obejmuje dane z 28 polskich pasm górskich, uwzględnione są również przygraniczne szczyty niemieckie (DE), czeskie (CZ), słowackie (SK) i ukraińskie (UA), kilka widocznych z Polski bardziej odległych gór rumuńskich (RO) i austriackich (AT).

Aplikacja nazywa się Polskie Góry, ale znajdziemy w niej nie tylko szczyty, prawda?

Zgadza się, baza szczytów i topografii terenu obejmuje mniejsze wzgórza w Polsce, a także wysokie budynki, kominy i maszty na całym obszarze naszego kraju oraz latarnie morskie na wybrzeżu. Spokojnie można „potestować” w czasie urlopu nad Bałtykiem. Jeżeli uruchomimy aplikację w dowolnym miejscu w Polsce, to zawsze coś powinna nam opisać. W centrum Warszawy wprowadzonych jest 40 wieżowców, w Krakowie „apka” opisze cztery krakowskie kopce, Kościół Mariacki, Archikatedrę Wawelską, wieżowiec K1, RON Malczewskiego, okoliczne wzgórza oraz kominy elektrociepłowni.

Jedną z funkcji, która szczególnie zwróciła moją uwagę, była opcja kolekcjonowania szczytów.

Moduł kolekcjonowania to ważna części aplikacji. Jeżeli znajdujemy się w okolicy jakiegoś niezdobytego wcześniej wierzchołka i włączymy aplikację, to zasugeruje nam ona dodanie tego szczytu do kolekcji. Te dane można potem wygodnie zsynchronizować z kontem na portalu (dane w chmurze – przyp. red.), a działa to w dwie strony.

Większość użytkowników najpierw zaznacza na portalu zdobyte już wcześniej szczyty. Robi się to na mapach, listach z polami checkbox lub przez wyszukiwanie gór po nazwach. Następnie pobiera się te informacje do aplikacji mobilnej, żeby zapisać dane w telefonie i mieć je dostępne offline w górach. Moduł kolekcji jest popularny, użytkownicy na portalu zarejestrowali już blisko 20 tysięcy zdobyć szczytów, a liderzy mają ich grubo ponad tysiąc. Ja obecnie jestem czwarty w tym rankingu - mam 734 zdobyte szczyty.

Ten wynik robi wrażenie, ale kolekcjonowanie szczytów działa po zalogowaniu się na portalu. Czy ogólne korzystanie z aplikacji wymaga rejestracji na stronie?

Aplikacja jest bezpłatna i nie wymaga rejestracji. Jeżeli jednak ktoś kolekcjonuje szczyty, to dobrze, aby założył sobie konto na portalu i regularnie synchronizował informacje o zdobytych szczytach. Dzięki temu nie utracimy danych kolekcji, np. gdy zgubimy telefon. Dzięki posiadaniu konta można też wygodnie przenieść dane na nowego smartfona, a także np. skopiować swoją kolekcję na konto współmałżonka/współtowarzysza, z którym wspólnie zdobywamy szczyty.

Wszystko, o czym mówisz, to dobrze naoliwiona maszyna. Czy możesz zdradzić, z jakich technologii skorzystałeś, tworząc Polskie Góry?

Aplikacja została stworzona w Android Studio, a wykorzystywane technologie i metody to AR (Augmented Reality - rozszerzona rzeczywistość), IR (Image Recognition - rozpoznawanie obrazu) oraz elementy AI (Artificial Intelligence - sztucznej inteligencji). AR to podstawa działania aplikacji. Na rzeczywisty widok gór nanoszona jest warstwa opisu generowanego komputerowo. Funkcje IR pozwalają odczytać z obrazu linię górskiego horyzontu, co działa dobrze w przypadku, gdy pogoda dopisuje oraz widoku nie zakłócają drzewa lub inne obiekty. Wtedy aplikacja potrafi wizualnie zidentyfikować szczyty na linii horyzontu, skonfrontować te informacje z danymi generowanymi przez algorytmy programu, po czym opisać widoczne wierzchołki.

Mówisz o wykorzystaniu sztucznej inteligencji w swojej aplikacji. Do czego Ci się ona przydała?

AI to bardzo popularne ostatnio pojęcie, którego wykorzystanie w aplikacji Polskie Góry jest może nieco naciągane. Program uczy się, na jakie szczyty wchodzi turysta, a jakich jeszcze nie zdobył i na podstawie tych danych w czasie wycieczki górskiej potrafi zasugerować: „Hej, jesteś niedaleko od niezdobytego przez Ciebie szczytu Ważna Góra. Jeżeli pójdziesz kilometr na południowy zachód i zrobisz przewyższenie w górę 75 m, to znajdziesz się na wierzchołku i będziesz mógł go dodać do swojej kolekcji”. W mediach często słyszy się chwytliwe hasło „sztuczna inteligencja w biznesie”, co polega często na tym, że jak klient kupi jakiś produkt, to potem proponuje mu się np. dodatkowe akcesoria i to jest ta cała „sztuczna inteligencja”. Jeżeli tak to działa w biznesie, to podobnego pojęcia można użyć również dla mechanizmów w aplikacji Polskie Góry, sugerujących zdobywanie kolejnych szczytów.

Z tą sztuczną inteligencją poszedłem jeszcze dalej. Zacząłem kategoryzować szczyty w aplikacji, czy są to najpopularniejsze góry w poszczególnych pasmach, czy obok przechodzi szlak turystyczny, a także czy są to wierzchołki taternickie, na które zwykły śmiertelnik nie wejdzie. Dzięki temu jestem w stanie sprofilować użytkownika na podstawie jego dotychczasowej kolekcji. Jeżeli widzę, że często wchodzi na szczyty poza szlakiem, to ta sztuczna inteligencja będzie mu je proponować w czasie wycieczek, żeby mógł się tam przedzierać przez krzaki, skoro tak lubi. Jeżeli jednak zobaczy, że użytkownik nie ma w kolekcji żadnego szczytu taternickiego w Tatrach, to nie będzie mu proponować wejścia spod Morskiego Oka na Mnicha.

Aplikacja Polskie GóryAplikacja Polskie Góry

Na co dzień pracujesz jako główny analityk. Jak Twoja praca pomogła Ci w stworzeniu tej aplikacji?

W Comarch pracuję od 17 lat i pełniłem różne funkcje w projektach w administracji publicznej (ARR, Trezor dla MF, ePUAP, SIMIK), przeważnie jako analityk, ale przez kilka lat byłem też programistą. Kodowałem w Java, ASP.NET, PL/SQL. Obecnie pełnię funkcję głównego analityka w projekcie OFSA, realizowanym dla ARiMR. Utrzymujemy i rozwijamy system, który służy do obsługi dystrybucji środków z Programu Rozwoju Obszarów Wiejskich dla polskich rolników i innych podmiotów korzystających z tych funduszy. W mojej pracy mam dużo zadań organizacyjnych w zespole analityków, ale utrzymuję też kontakt z żywym systemem, również na poziomie kodu aplikacji oraz bazy danych, czasem omawiam też kwestie bardziej techniczne. To stanowisko wymaga dość dużej wszechstronności.

Kompetencje nabyte w pracy bardzo przydały mi się w moich prywatnych projektach informatycznych. Przy samodzielnym tworzeniu aplikacji mobilnej potrzebnych jest wiele umiejętności - od wymyślenia koncepcji i analizy wymagań użytkowników, przez projektowanie, programowanie, testowanie, aż po promowanie aplikacji. Tylko tych ostatnich kompetencji nie zdobyłem w Comarch. Musiałem sam nauczyć się tworzyć treści promocyjne, popularyzować aplikację na Facebooku, poświęciłem skromny budżet na reklamy, ale szczególnie skuteczna okazała się aktywność na grupach górskich, Instagramie i nie tylko.

Wiele umiejętności z pracy w Comarch przydało mi się przy tworzeniu aplikacji, ale też działa to w drugą stronę. Tworząc aplikację nauczyłem się programować w Java, dzięki czemu byłem sprawniejszy w pracy. Dawniej tworzyłem aplikacje mobilne w J2ME, w IDE opartym o NetBeans, potem przeniosłem się na Androida i korzystałem pluginu do Eclipse, a następnie wszedł Android Studio oparty o IntelliJ. To wszystko się przenikało, bo w pracy też korzystałem z tych narzędzi. Dodatkowo przy tworzeniu „apek” używałem technologii, z którymi nie było szans zetknąć się w pracy przy systemach transakcyjnych w administracji publicznej. Dzięki prywatnym projektom informatycznym mam znacznie szersze horyzonty.

Algorytmy aplikacji są dość skomplikowane, szczególnie mechanizmy określania widoczności szczytów i renderowania rzeźby terenu. Trzeba było uwzględnić, że aparaty w smartfonach mają różne kąty widzenia. Obraz na marginesach jest szerszy niż w środku, a to z kolei trzeba było przełożyć na oprogramowanie działania aplikacji w rozszerzonej rzeczywistości, bo szczyty na marginesach są wizualnie szerzej rozstawione i powinny być większe odstępy między ich opisami. Trzeba było do tego zaprząc bardziej zaawansowaną matematykę, np. żeby aplikacja rysowała aktualne położenie słońca i podawała kąt jego padania. Dzięki tworzeniu aplikacji poznałem wiele zjawisk przyrodniczych. Jaki wpływ na widoczność szczytów ma kulistość Ziemi, co to jest undulacja, zjawisko refrakcji, że na bardziej odległe szczyty patrzymy nie w linii prostej, a po łuku, bo promień świetlny zagina się w ziemskiej atmosferze i dzięki temu możemy zobaczyć wierzchołki, które teoretycznie powinny się schować za horyzontem.

To wszystko trzeba było przełożyć na wzory matematyczne i kod aplikacji. Nie przypuszczałem, że kiedykolwiek w życiu przydadzą mi się zajęcia na studiach, w czasie których przekształcaliśmy macierze, a tu proszę. Przy algorytmach rozpoznawania obrazu trzeba było sobie to przypomnieć. To wszystko ćwiczy umysł i pozytywnie przekłada się przy codziennych obowiązkach w pracy. Umiejętności techniczne i programistyczne również przydają się na moim stanowisku, bo dzięki nim znam też system „od kuchni”, a nie tylko z poziomu dokumentacji analitycznej i interfejsu użytkownika.

Wspomniałeś, że aplikacja zdobywa coraz większą popularność, co bardzo cieszy, ale skąd w ogóle narodził się taki pomysł? Jak to wszystko się zaczęło?

Zgadza się, Polskie Góry mają już ponad 70 tysięcy pobrań w sklepie Google Play i średnią ocenę 4,5 gwiazdki na pięć. To świetny wynik przy próbie ponad 900 oceniających, szczególnie jak na tak skomplikowaną aplikację, do której użytkownicy nie czytają instrukcji obsługi, za to ochoczo zgłaszają uwagi i radzą, jak taki program powinien działać. W Polsce mamy 12 milionów trenerów piłkarskich, bo tyle osób ogląda mecze naszej reprezentacji na mistrzostwach świata, a więcej jest tylko projektantów aplikacji mobilnych, bo przeszło 25 milionów osób w naszym kraju posiada smartfony.

Aplikacja Polskie Góry jest też udostępniona w sklepie Huawei AppGallery i tam również jest popularna.

Jeżeli chodzi o pomysł, to 10 lat temu przeprowadziłem się z Warszawy do Bielska-Białej, skąd pochodzi moja żona. Jak zakochałem się w żonie, tak zakochałem się w Beskidach. Oboje jesteśmy biegaczami, Ania na poziomie wyczynowym. Zdobyła 27 medali na imprezach rangi mistrzostw Polski, głównie w biegach górskich, a w 2013 roku została brązową medalistką mistrzostw świata w maratonie górskim. Biegaliśmy tak po tych górach, a mnie zawsze fascynowało, jak zmienia się krajobraz i jakie szczyty widać z różnych miejsc. Stwierdziłem, że fajnie by było napisać aplikację mobilną, która będzie te szczyty opisywać automatycznie i oprogramowałem to w 2015 roku, a potem przez kolejne 5 lat rozwijałem aplikację.

Polskie Góry mocno się rozwinęły. A jakie plany na przyszłość? Czy rozbudujesz bazę o kolejne szczyty, funkcje?

Baza szczytów jest już gotowa, wprowadzone są w niej nawet punkty niezaznaczane na mapach turystycznych, góry posiadają dość szczegółowe opisy, w razie czego są też linki do Wikipedii, gdyby ktoś chciał więcej przeczytać na temat danego szczytu. Z aplikacji i portalu można się wiele dowiedzieć o górach w Polsce. Bazę będę rozwijał raczej głównie o sztuczne obiekty, np. niedawno dodałem Varso - najwyższy wieżowiec w Unii Europejskiej (310 m z iglicą), który właśnie powstał przy Dworcu Centralnym w Warszawie. Jeżeli chodzi o funkcje, to mam jeszcze kilka pomysłów na usprawnienia, ale to są szczegóły, z których większość użytkowników nigdy nie skorzysta. Funkcjonalność aplikacji już jest bardzo rozbudowana i warto poświęcić trochę czasu, żeby zapoznać się z jej możliwościami i sprawnie jej używać.

A może po głowie chodzi Ci już kolejny pomysł na aplikację?

Mam pewne pomysły, ale staram się studzić swój zapał, bo nie mam teraz czasu na realizację. W Nowy Rok urodziła nam się córeczka i życie trochę się zmieniło. Oboje nadal biegamy, żona nawet mocno trenuje, ale na inne sprawy brakuje czasu i energii.

Góry nie są Twoją jedyną pasją? Masz na koncie również sukcesy na polu biegowym.

Do tej pory udało mi się zrealizować wiele ciekawych projektów, nie tylko informatycznych. Jak zacząłem pracę w Comarch, to bardzo dużo biegałem i podróżowałem po świecie. Ukończyłem maratony na siedmiu kontynentach, w 2008 roku wygrałem maraton na Antarktydzie z ówczesnym rekordem kontynentu, jako pierwszy Polak ukończyłem też wszystkie sześć World Marathon Majors - najważniejsze maratony świata: w Bostonie, Nowym Jorku, Chicago, Londynie, Berlinie i Tokio. Przebiegłem też maratony w prawie wszystkich stolicach europejskich, również wiele ultramaratonów górskich. W 2007 roku w parze z bratem wygrałem słynny Bieg Rzeźnika w Bieszczadach, ustanawiając ówczesny rekord trasy. Od wielu lat prowadzę też klub biegowy Byledobiec Anin. Administruję naszą stroną internetową, rejestruję wyniki z zawodów, przygotowałem też generator statystyk, rankingów. Jednocześnie pisałem też relacje ze swoich wypraw na maratony na całym świecie. Teraz aktywność na portalu znacznie się zmniejszyła, ale klub nadal istnieje.

Jakiś czas temu zacząłem biegać po górach dla przyjemności, nie dla wyników sportowych, natomiast więcej czasu poświęcałem na prywatne projekty informatyczne.

Aplikacja Polskie Góry

Tak, bo Polskie Góry to nie jest Twój jedyny „znany” projekt.

Moją pierwszą aplikacją był RunCalc, najpierw kalkulator biegowy na telefony z przyciskami typu Nokia, następnie rozbudowana aplikacja na Androida i portal. Później powstała również aplikacja webowa RunCalc, z której można korzystać na dowolnych urządzeniach, również na iPhone’ach, pod warunkiem połączenia z Internetem. Technologie wykorzystane w aplikacji webowej RunCalc to HTML5 i JavaScript oraz biblioteka jQuery Mobile. Aplikacja jest zintegrowana z portalem RunCalc, gdzie można wysyłać swoje treningi, oglądać je na mapach i wykresach, rysować własne planowane trasy i importować je potem do telefonu. Dzięki temu w czasie treningu lub zawodów biegacz porusza się po zaplanowanej wcześniej trasie, a jeżeli z niej zejdzie, to program natychmiast go o tym poinformuje sygnałami dźwiękowymi, a docelowy i rzeczywisty ślad będą widoczne na wyświetlaczu telefonu. Aplikacja i portal RunCalc są otwarte na komunikację z innymi tego typu platformami (np. Endomondo, Garmin, Strava – przyp. red.), a formatem wymiany danych są pliki GPX (GPS eXchange Format – przyp. red.). Portal zbudowałem w oparciu o bazę danych MySQL, język PHP i JavaScript. Przy tworzeniu stron internetowych nie korzystam z żadnych gotowych szablonów. Sam projektuję CSS i grafiki, a że artystą zdecydowanie nie jestem, to nie wygląda to zbyt efektowanie. Może nie jest zbyt ładne, za to bardzo moje.

RunCalc to niszowa aplikacja, korzysta z niej niewiele osób, bo konkurencja w tym segmencie rynku (urządzeń i aplikacji do monitorowania aktywności – przyp. red.) jest ogromna. Muszę przyznać, że niespecjalnie przyłożyłem się do interfejsu graficznego „apki”. Wygląda surowo, natomiast funkcjonalnie jest bardzo bogata. Z RunCalc korzystam codziennie w trakcie biegania. Żona śledzi live tracking na mapie, czy przypadkiem gdzieś się nie zgubiłem w górach. Korzystam też z treningu interwałowego RunCalc. Aplikacja wydaje odpowiednie sygnały dźwiękowe, kiedy mam przyspieszyć, a kiedy przejść do truchtu. Takie zmienne ćwiczenia poprawiają formę biegową. Na portalu przechowuję całą historię moich aktywności sportowych od 10 lat, a nawet zaimportowałem starsze dane. Na blogu aplikacji Polskie Góry osadzam mapy tras i profile wysokości z portalu RunCalc. Polskie Góry i RunCalc są ze sobą powiązane - tworzą wspólny ekosystem.

Pomysłów nigdy mi nie brakowało, gorzej było z czasem na ich realizację, ale przeważnie dawałem radę dokończyć wszystko, co sobie zaplanowałem. Po urodzinach córki zmieniłem podejście, prawie nie programuję, bo nie mam czasu i możliwości dłuższego skupienia się, za to ostatnio wróciłem do mojej pasji sprzed lat, którą są szachy. W szkole podstawowej z sukcesami uprawiałem ten sport, a teraz w wolnym czasie bawię się w rozwiązywanie zagadek szachowych, co mogę przerwać w każdej chwili. Traktuję to jako substytut programowania. Dzięki temu ćwiczę umysł i utrzymuję go w dobrej kondycji.

Poza tym codziennie biegam po górach przez godzinę czy dwie i w każde wakacje biorę udział w rywalizacji sportowej ComarchONrun. Przeważnie jestem wysoko w rankingu przebiegniętych kilometrów, często wygrywam w klasyfikacji biegaczy. Cel jest szczytny - w tym roku dzięki przebiegniętym kilometrom wspieramy Fundację SŁONIE NA BALKONIE. Przy okazji zachęcam pracowników Comarch do udziału w sportowych rywalizacjach na nogach, rowerze i rolkach.

Dodaj komentarz

      adres e-mail nie zostanie opublikowany

            Najczęściej czytane w tej kategorii