IoT - Internet Rzeczy
Aplikacja pozwala na śledzenie pozycji techników, którzy mają w danym czasie odwiedzić wyznaczoną przez managerów listę punktów.
Wyzwanie
Aplikacja pozwala na śledzenie pozycji techników, którzy mają w danym czasie odwiedzić wyznaczoną przez managerów listę punktów. Aplikacja również pozwala na wgląd w pozycje urządzeń IoT, które razem z towarem klienta znajdują się na paletach lub w kontenerach.
W aplikacji występują dwa rodzaje użytkowników - manager i technik. Każdy z nich ma odrębne zadania i odrębne funkcjonalności w aplikacji.
Najważniejszym dla klienta było monitorowanie pozycji technika. Klient wykorzystywał również urządzenia IoT do monitorowania długich, międzynarodowych podróży swojego towaru. W takim przypadku urządzenie IoT umieszczane było na palecie lub w kontenerze i przypisywane do konkretnego zamówienia. Dzięki niskiemu zużyciu baterii urządzania IoT mogą raportować dane miesiącami (przy odpowiednich ustawieniach). Odpowiednie wersje urządzeń IoT pozwalają na monitorowanie np. poziomu wilgotności, akceleracji, pozycji horyzontalnej bądź wertykalnej, temperatury czy ciśnienia. Aplikacja technika mimikowała urządzenia IoT.
Rozwiązanie
Technik do aplikacji loguje się za pomocą QR kodu, który wygenerowany jest z systemu klienta służącego do zarządzania urządzeniami IoT. Technik przypisany jest do konkretnego urządzenia. Po zalogowaniu do aplikacji technik widzi przydzielone mu danego dnia punkty do odwiedzenia. Do punktów dopisany jest również oczekiwany, graniczny czas dotarcia. Technik zatem ma za zadanie dotrzeć do wyznaczonego miejsca w określonym czasie, wykonać usługę i skierować się do następnego punktu. Aplikacja, sczytując lokalizację, informuje system o dotarciu technika na miejsce. W systemie punkt „odznacza” się jako odwiedzony i zapisuje godzinę dotarcia.
Manager w systemie do zarządzania widzi ich pozycje oraz wyznaczone na dany dzień punkty do odwiedzenia. Urządzenie IoT na bieżąco przesyła lokalizację techników, a manager może ją zobaczyć na mapie. Manager ma dostęp do statystyk np. jaka ilość punktów została odwiedzona zgodnie z wyznaczonym czasem. W panelu managera widoczne są również statusy odwiedzonych punktów: odwiedzony, nieodwiedzony, spóźnienie.
Klient rozpoczynał z nami współpracę, mając problem, jeden przykładowy ekran z oczekiwaniami oraz bardzo mało czasu na wdrożenie, bo zaledwie 6 tygodni. Klient oczekiwał również, że zintegrujemy aplikację z istniejącym systemem IoT do śledzenia zasobów, co prowadziło do nietypowych wymagań:
- Konieczności wykorzystanie protokołu MQTT, który miał zapewnić płynną integrację z istniejącymi wewnętrznymi systemami klienta
- ciągłym zbieraniem lokalizacji oraz przesyłaniem jej na serwer w interwałach 6-7 minutowych (na podobieństwo urządzeń IoT), czemu nie sprzyjają trendy i rozwiązania oszczędzania energii i ochrony prywatności w najnowszych wersjach systemów operacyjnych telefonów
- Korzystanie równolegle z GraphQL oraz REST API do obsłużenia całej komunikacji z systemami klienta.
Podczas realizacji prac spotkaliśmy się z szeregiem wyzwań, które przy takiej skali projektu są nieuniknione. Na początkowej fazie tzw. discovery szczególnie istotne było uporządkowanie przedstawionej nam wizji aplikacji. Z naszego doświadczenia wynika, że to najważniejsza faza w realizacji projektu, która ma decydujący wpływ na jego prawidłowe przeprowadzenie. Podczas serii warsztatów określiliśmy finalny kształt funkcjonalności w odpowiedzi na określone wcześniej potrzeby biznesowe klienta. Przede wszystkim zadbaliśmy, aby były one zrozumiałe dla wszystkich interesariuszy projektu, tak abyśmy zarówno my, jak i klient wiedzieli co uzyskamy na końcu.
Kolejnym szczególnie istotnym elementem był wygląd aplikacji. Klientowi zależało, aby wygląd aplikacji oddawał wyjątkowych charakter Radia 357, nie tracąc zarazem z funkcjonalności. Wychodząc z takiego założenia zadbaliśmy, aby projekt aplikacji stawiał na równi wygląd i funkcjonalność. Dołożyliśmy też starań, aby aplikację dobrze się obsługiwało w różnych warunkach, a przyciski było łatwo namierzalne i klikalne pod różnymi kątami. Zależało nam aby słuchacz jak najczęściej wracał do aplikacji dlatego postawili mocno na wygodę użytkowania, zarówno dla wersji webowej jak i mobilnej. Równie ważne było odpowiednie przedstawianie poszczególnych audycji i treści w takiej formie, aby wywołać i utrzymać zainteresowanie słuchacza. Skupiliśmy się także na uwspólnieniu widoków dla aplikacji mobilnej i webowej, tak aby słuchacz miał jak najmniejszy próg bólu podczas przełączania się między wersjami Radia 357. Podczas warsztatów udało się nam stworzyć projekt aplikacji mobilnej i webowej, która spełniała wszystkie te założenia i zarazem idealnie wpisywała się w identyfikację wizualną naszego klienta.
Kolejnym kluczowym elementem było otoczenie projektu. Właściciele Radia 357 postawili przed nami relatywnie krótki termin na realizację projektu. Planowano premierę aplikacji na początek stycznia 2021 roku. Ta data wydania nie mogła zostać przesunięta. Biorąc pod uwagę potrzebę przeanalizowania, omówienia, zaprojektowania, zaprogramowania i wdrożenia, to nasz zespół musiał pracować w ściśle określonych terminach, dlatego efektywność i pełne zaangażowanie były dla nas kluczowe. Dodatkowo musieliśmy wziąć pod uwagę wymagania integracji aplikacji z zewnętrznymi systemami takimi jak Spotify oraz rozwiązaniami: Chromecast i AirPlay.
Po wdrożeniu spodziewaliśmy się dużej liczby użytkowników ze względu zarówno na planowaną kampanię marketingową, słynnych radiowców tworzących radio, jak i zainteresowanie dziennikarzy. Od samego początku wiedzieliśmy, że tysiące osób w Polsce i za granicą będzie ściągać aplikację i słuchać swojego ulubionego radia w jednym momencie, często słuchają audycji na żywo. Dlatego stabilność systemu, jego niezawodność oraz stabilna, skalowalna infrastruktura serwerowa miały ogromne znaczenie dla dostarczenia produktu w zamierzony sposób. Stworzona przez nas infrastruktura zabezpieczyła obie aplikacje przed pikami ruchu słuchaczy, które pojawiły się zarówno na samym początku tuż po wdrożeniu, jak i w późniejszym okresie.
Całość przeprowadzonych prac możemy podzielić na trzy etapy:
- Warsztaty: Przed rozpoczęciem projektu przeprowadziliśmy warsztaty, w których stworzyliśmy listę wymagań funkcjonalnych (FRD), w odpowiedzi na wymagania biznesowe (BRD). Na tym etapie określiliśmy także zakres architektury systemu (TRD). W ten sposób dostosowaliśmy zakres wymagań do potrzeb klienta. Lepiej zrozumieliśmy cele i znaleźliśmy sposób, jak je zrealizować.
- Faza developmentu: Projekt UX i bazujący na nim projekt graficzny aplikacji odpowiada identyfikacji wizualnej klienta. Zadbaliśmy o czytelność treści w aplikacji.
- Wdrożenie i integracja z systemami klienta: Dzięki analizie w trakcie warsztatów poznaliśmy szczegóły dotyczące systemów, z jakich korzysta klient. Szczegółowy opis architektury aplikacji pomógł nam w sprawnym wdrożeniu i zintegrowaniu jej z systemami spoza produktu.
Projekt stworzyliśmy przy użyciu następujących technologii:
- Komunikacja z serwerem odbywa się za pomocą AWS IoT Core za pośrednictwem protokołu MQTT.
- API składa się z: GraphQL (odczyt danych z systemu), REST API (zapis danych do systemu)
- Obsługiwany system operacyjny: Android 8.1 i wyższy
Efekty
Stworzona przez nas aplikacja rozwiązała problem klienta. Dzięki naszemu oprogramowaniu klient ma wiedzę o lokalizacji swoich techników oraz punktach przez nich odwiedzanych. Dzięki aplikacji może obserwować terminowość techników oraz poprawiać niedociągnięcia, które zauważy dzięki statystykom.
Aplikacja przyczynia się zatem do uporządkowania procesów biznesowych klienta, większej kontroli nad zasobami oraz uniezależnia klienta od urządzeń IoT, wprowadzając alternatywę w postaci aplikacji na system Android. Aplikacja oraz sposób jej wykonania realizują wiele celów biznesowych klienta bez konieczności modyfikacji rozbudowanych wewnętrznych systemów klienta.
Jak było: Dane o liczbie odwiedzonych punktów oraz czasy dotarcia techników na miejsce były deklaratywne. Monitoring terminowości nie był możliwy. Manager nie wiedział, gdzie dokładnie znajdują się technicy i ile punktów odwiedzili. Niemożliwe było wykorzystanie istniejącego systemu monitorowania zasobów do monitorowania zasobów ludzkich.
Jak jest: Klient dzięki wprowadzeniu aplikacji mobilnej wie dokładnie, gdzie są technicy, ile punktów odwiedzili, czy punkty odwiedzane są zgodnie z harmonogramem. Dzięki temu może informować swoich klientów o tym, że jest punktualny i wyznaczać terminy z bardzo wysoką dokładnością i przewidywalnością.
Ich sposób pracy jest niezwykle przejrzysty; z łatwością możemy zobaczyć, nad czym aktualnie pracują i ile im to zajmuje.
Więcej informacji
Innogy
Aplikacja umożliwiająca elektroniczne odczytywanie liczników bez konieczności wymieniania go na model IoT.
Uczenie Maszynowe w Sklepach
Innowacyjne rozwiązanie do odczytu temperatury na urządzeniach chłodzących wykorzystujące Machine Learning.
Aplikacja dla Flugger Polska
Aplikacja Fiona Wall Design® pozwala klientom odwiedzającym stoiska targowe firmy Flugger w prosty sposób dobierać kolorystykę do wzorów tapet Fiona.