Jak aplikacja webowa pomaga geologom szybciej analizować dane offshore

oil rig platform offshore.jpg
Branża:
Ropa i gaz
Kraj:
Norwegia
Zakres:
Projektowanie UX/UI, programowanie
Technologia:
Next.js, TypeScript, Storybook

Przegląd projektu

Kadme jest jednym z czołowych dostawców oprogramowania dla branży węglowodorowej. Ich narzędzia wspierają wiele dużych firm w zarządzaniu danymi. Kadme korzysta z najnowocześniejszych technologii, takich jak uczenie maszynowe, przetwarzanie w chmurze i sztuczna inteligencja. W ich portfolio znajdują się aplikacje przeznaczone głównie dla specjalistów ds. danych i analityków.

Ale co ze specjalistami terenowymi i geologami, którzy mają dość błądzenia w labiryncie liczb, tabel i wąskospecjalistycznych interfejsów? Kadme potrzebowało zupełnie nowej aplikacji dedykowanej tej dotąd niezaadresowanej grupie.

Wyzwanie

Potencjał geologów jest ograniczany przez dostępność menedżerów danych i złożoność istniejącego oprogramowania. To wąskie gardło wpływa zarówno na szybkość, jak i zakres analizy danych. Naszym celem było stworzenie aplikacji, która otwiera nowe możliwości dla branży E&P, wyzwalając kreatywność geologów.

Przed:

Uciążliwe i skomplikowane narzędzie przeznaczone dla wąskiej grupy menedżerów danych.

Po:

Nowa, wysoce użyteczna aplikacja dostosowana przede wszystkim do geologów i specjalistów terenowych, z znacznie niższą krzywą uczenia się niż poprzednie rozwiązanie.

Kluczowe wyniki
10

2-tygodniowych sprintów projektowych, bez opóźnień i dodatkowych kosztów

143

komponentów w Storybook umożliwiających łatwy dalszy rozwój

Nasza praca

Aby osiągnąć namacalne rezultaty w wyznaczonym czasie, musieliśmy zarządzać zwinnym podejściem i skupić się na szybkich, przyrostowych dostawach.

Wspólnie z klientem zbudowaliśmy zespół projektowy odpowiedzialny za pierwszy etap tego projektu. Dzięki wsparciu deweloperów mogliśmy szybko weryfikować nasze pomysły i projekty. Jednak żaden projekt nie może się rozpocząć bez:

Najpierw faza odkrywania

Podczas intensywnej fazy odkrywania musieliśmy zrozumieć nie tylko perspektywy i potrzeby użytkowników i biznesu – odbyliśmy też intensywny kurs domenowy. Ważne jest pełne zrozumienie specyficznego języka, koncepcji, definicji i specjalistycznej wiedzy o branży.

Dzięki bardzo zaangażowanym przedstawicielom klienta mogliśmy łatwo dotrzeć do użytkowników, jednak samo badanie ich było trudnym zadaniem. Byli poza naszym zasięgiem i musieliśmy wykazać się kreatywnością, czerpiąc z wiedzy klienta na ich temat. W tamtym czasie jedyną akceptowalną metodą były badania ankietowe.

user survey results.png

Projektowanie w niezliczonych iteracjach

Biorąc pod uwagę, że wkraczaliśmy na nieznane terytorium, a ani my, ani klient nie mieliśmy jasnego pomysłu na ogólny układ aplikacji, zdecydowaliśmy się eksplorować możliwości, a decyzję odłożyć na później. Doprowadziło nas to do koncepcji "maplikacji" – aplikacji, w której moduł mapy odgrywa kluczową rolę.

Spośród trzech zdefiniowanych podejść wybraliśmy koncepcję częściowej mapy. Założyliśmy też, że ostateczna decyzja może zostać podjęta dopiero po zaprojektowaniu głównych komponentów GUI.

mapplication layout research.png

Przeszliśmy więc do głębszego zgłębiania procesów i sposobów ich realizacji. Nasze początkowe prace nad interfejsem przypominały bardziej tworzenie cegiełek niż kompletnego projektu. Te izolowane elementy były intensywnie testowane i walidowane wewnętrznie z przedstawicielami klienta, zanim złożono je w pełnoekranowy makiet.

Wszystkie komponenty UI zostały "przetłumaczone" na bibliotekę React.js w Storybook.

main search history.png

Iteracja po iteracji dbaliśmy o wysoką użyteczność zarówno poszczególnych elementów, jak i całego interfejsu systemu, gdy zaczął on powstawać jako całość. Musieliśmy mieć pewność, że nasz projekt jest intuicyjny i łatwy w obsłudze w wielu różnych scenariuszach użycia. Nasze narzędzie mogło być używane nie tylko na nowoczesnym komputerze stacjonarnym w spokojnym, przytulnym biurze, ale też na wytrzymałym tablecie podczas złej pogody na platformie wiertniczej.

completed app layout.png

Praca z danymi

Naszym celem było zaprojektowanie systemu, który pomaga użytkownikom przeszukiwać ogromne ilości nieustrukturyzowanych danych, plików i encji agregowanych z wielu źródeł. Każdy element mógł zawierać różne informacje, dlatego zdefiniowaliśmy hierarchię i logikę wyświetlania, nie przeciążając interfejsu. To nie mógł być lepszy edytor arkuszy kalkulacyjnych!

Result details view.png

Naszym głównym punktem skupienia było zapewnienie wizualnych wskazówek ułatwiających szybką orientację (np. hierarchii dla najważniejszych elementów, gdzie "źródła danych" lub "rozszerzenia" wyróżniają się na tle reszty) oraz ułatwienie podejmowania decyzji na pierwszy rzut oka. Wiedzieliśmy, że bez dobrej logiki wyszukiwania nie będziemy w stanie pomóc użytkownikom przebić się przez miliony wyników.

results view.png

Postawiliśmy na projekt skoncentrowany na wyszukiwaniu – z potężną wyszukiwarką umożliwiającą budowanie złożonych zapytań (z użyciem technik boolowskich i quasi-regex), wzbogaconą o szeroki wachlarz filtrów do zawężania wyników.

filters eamples.png

Doświadczenie mapowe

Kontekst przestrzenny ma ogromne znaczenie dla procesu eksploracji geologów. Naszą pierwszą zasadą przy projektowaniu mapy było traktowanie tego modułu jako uzupełnienia reszty interfejsu, a nie głównego obszaru interakcji. Koncentrując się wyłącznie na najważniejszych elementach, nie przeciążyliśmy mapy wszelkimi możliwymi danymi (choć była to kusząca opcja:).

Dopasowywaliśmy się do głównych przypadków użycia i wyświetlaliśmy minimalną ilość informacji potrzebnych w kontekście wyszukiwań użytkownika. Taka responsywność pozwoliła nam uniknąć potencjalnych problemów z trudno czytelnymi mapami i ogromną różnorodnością kolorów i elementów – o czym warto wspomnieć: musieliśmy być ostrożni przy doborze kształtów, linii i ograniczonej palety kolorów. Znalezienie użytecznych i estetycznych kolorów nie było łatwe, bo projektowany przez nas system miał być renderowany w jednym z trzech motywów kolorystycznych.

Z całą pewnością nie będzie przesadą stwierdzenie, że zdobyliśmy nowe kompetencje w dziedzinie projektowania GIS i wizualizacji danych!

map layers handling.png

Praca z motywami kolorystycznymi

Samo przemalowanie systemu na inną paletę jest stosunkowo proste. Wyzwanie pojawia się wtedy, gdy paleta ma swój cel i specyficzny kontekst użycia – dokładnie tak było w naszym projekcie.

Celem było udostępnienie ciemnego motywu jako opcji do naszego oryginalnego projektu. Niektórzy specjaliści pracują w dość ciemnym otoczeniu, a jasny, dość biały interfejs szybko by zmęczył oczy. Ciemny motyw z łatwością rozwiązuje ten problem.

app dark theme.png

Ponieważ od samego początku myśleliśmy o różnych sposobach użycia kolorów i motywach (co zaowocowało stworzeniem quasi-wytycznych i reguł), opracowanie nowej palety kolorów dla danych przestrzennych na mapie było jeszcze łatwiejsze.

Uwielbiamy podejście "przygotuj się teraz, a potem nie musisz się martwić".

Wyzwanie dostępności dla osób z zaburzeniami widzenia barw

Jednym z największych wyzwań było przygotowanie unikalnego motywu dla użytkowników z zaburzeniami postrzegania barw (deuteranopia i protanopia).

Na początku przeprowadziliśmy gruntowne badania. Nie było oczywiste, jak w takich przypadkach prezentować pewne informacje na mapie. Skończyliśmy na niezliczonych iteracjach – szukaliśmy jednej, sprawdzonej odpowiedzi w internecie i zasobach różnych organizacji zajmujących się dostępnością, sprawdzaliśmy każdy możliwy scenariusz mapowy i rozwiązania konkurencji w tym zakresie. Z pomocą narzędzi symulujących zaburzenia widzenia zmienialiśmy kolory jeden po jednym.

Ostatecznie zastosowaliśmy ciemny motyw dla warstwy mapy bazowej i jasny motyw dla reszty interfejsu, ponieważ tam uzyskaliśmy lepszy kontrast.

color-blindness theme design.png

Wiedzieliśmy, że mieszanie jasnego i ciemnego motywu w jednej wersji byłoby sprzeczne z ideą motywów dostosowanych do różnego natężenia światła w otoczeniu – jak wspomniano wcześniej – ale w naszym MVP nie mogliśmy zadowolić wszystkich. W pierwszej kolejności chcieliśmy osiągnąć nienaganną czytelność interfejsu.

Wyniki i wnioski

Etap projektowania jest zakończony (luty 2022), a prace programistyczne trwają. Nie możemy się doczekać fazy testów z użytkownikami, która może przynieść kolejne iteracje i zmiany.

10

2-tygodniowych sprintów projektowych, bez opóźnień i dodatkowych kosztów

143

komponentów w Storybook umożliwiających łatwy dalszy rozwój

1

świetna opinia zadowolonego klienta

Czego się dotąd nauczyliśmy:

Zakres MVP należy definiować adekwatnie do dostępnego czasu. Czas jest skutecznym ograniczeniem dla pokusy poszerzania zakresu prac.

Droga od mniej do więcej to najlepsza ścieżka w podejściu MVP. Zwykle łatwiej jest dodać opcję niż ją usunąć.

Nie bój się rezygnować z perfekcji na rzecz rozwiązań "wystarczająco dobrych".

Projektowanie bez szerszego obrazu interfejsu może być trudne, ale nie niemożliwe. Może okazać się pomocne, gdy na początku nie jesteś pewien ogólnego układu aplikacji.

Wizualizacja danych jest jeszcze trudniejsza w przypadku nieustrukturyzowanych danych. Elementy informacyjne mają ze sobą mało wspólnego, więc należy postawić na wszechstronność i elastyczność, a nie na złożone wzorce.

Doświadczeni projektanci i product ownerzy muszą wiedzieć, kiedy przestać dyskutować i szukać najlepszego rozwiązania, a decyzję końcową przekazać fazie testów z użytkownikami.

Planujesz udostępnić dane swojej firmy szerszemu gronu użytkowników?

Jesteśmy dostępni do nowych projektów. Porozmawiajmy:   jeszcze dziś, 
Możesz też śledzić nas na LinkedIn, Facebooku lub Dribbble .