DaNoize
Branża sportowa
Mobile Trends Awards 2020: nominacja w kategorii Sport i rekreacja
2020 - obecnie
O aplikacji
DaNoize generuje dźwięki wyrażające emocje kibiców, którzy obserwują rozgrywki sportowe na ekranach laptopów i telewizorów.
Użytkownik ma do wyboru 8 reakcji, takich jak oklaski, buczenie, dźwięki bębnów lub trąb. W ten sposób może zagrzewać drużynę do walki albo pokazać niezadowolenie bądź radość z powodu przebiegu wydarzeń.
Aplikacja łączy się z system nagłośnienia na stadionie, dlatego wszyscy sportowcy mogą usłyszeć kibiców, zupełnie jakby trybuny były zapełnione fanami.
Dodatkowe funkcje
DaNoize pozwala kibicom różnych drużyn współzawodniczyć ze sobą. Wygrywają aktywni fani, którzy najgłośniej zachęcają graczy do walki o zwycięstwo. Kluby mogą nagradzać najbardziej zaangażowanych fanów, np. biletami. W ten sposób budują z nimi bliższą więź.
A co jeśli kibic nie może oglądać meczu przed telewizorem? Wystarczy, że włączy transmisję radiową – DaNoize umożliwia również takie rozwiązanie.
Do tego użytkownik w każdej chwili może sprawdzić aktualne informacje o rozgrywkach. DaNoize daje dostęp do danych z bazy Statscore, dzięki czemu kibice są zawsze na bieżąco – w aplikacji znajdą m.in. statystki dotyczące wydarzeń.
Aplikacja umożliwia też komunikację pomiędzy kibicami. Mogą oni pisać ze sobą na czacie i wymieniać się uwagami na temat gry. Użytkownicy tworzą prywatne pokoje i zapraszają do nich osoby, z którymi chcą porozmawiać.
DaNoize stanowi też bezpośredni kanał kontaktu, łączący kluby z fanami. Za pośrednictwem aplikacji kluby wysyłają powiadomienia PUSH i informują użytkowników o aktualnościach.
O naszej aplikacji przeczytasz również na portalu GoMobi.pl.
Cele projektu
Kiedy w 2020 roku pandemia spowodowała zamknięcie stadionów, trybuny opustoszały. W rezultacie wydarzeniom przestały towarzyszyć oklaski, okrzyki i inne odgłosy kibicowania.
Nasz klient postanowił rozwiązać ten problem. Zaproponował nam stworzenie aplikacji, która pozwala sportowcom na stadionach słyszeć fanów, dopingujących ich ze swoich domów.
Dzięki temu nawet osoby, które znajdują się w różnych miejscach mogą wspólnie kibicować ulubionym drużynom.
Dodatkowo aplikacja miała ułatwiać komunikację pomiędzy kibicami oraz budować bliższe relacje fanów z klubem.
Wyzwania
W reakcjach liczy się szybkość. W chwili, gdy kibic naciska przycisk na ekranie smartfona, dźwięki muszą już rozbrzmiewać na stadionie. Osiągnięcie takiego efektu nie jest jednak proste i wymagało niestandardowych rozwiązań.
Poza tym dźwięki musiały brzmieć realistycznie – sztucznie wygenerowane oklaski czy buczenie nie wchodziły w grę. Tylko wtedy, gdy słychać rzeczywiste odgłosy, kibice i drużyna czują, że doping odzwierciedla prawdziwe emocje.
Najważniejsze zadania
BUDOWA APLIKACJI NA SYSTEM IOS
BUDOWA APLIKACJI NA SYSTEM ANDROID
UMOŻLIWIENIE SZYBKIEJ TRANSMISJI DŹWIĘKÓW
GENEROWANIE REALISTYCZNYCH ODGŁOSÓW
UDOSTĘPNIANIE DANYCH W CZASIE RZECZYWISTYM
ZMNIEJSZENIE TRANSFERU DANYCH
Musieliśmy nawiązać kontakt z inżynierami dźwięku i opracować wymagania dotyczące ścieżek dźwiękowych, aby wygenerowany dźwięk brzmiał realnie.
Rozwiązania
Reaktywne podejście - szybka transmisja dźwięku
Kiedy użytkownik chce wyrazić swoje emocje, zależy mu na natychmiastowym efekcie. Dlatego już w momencie, gdy naciska przycisk w aplikacji, dźwięki muszą rozbrzmiewać na stadionie.
Chcieliśmy to umożliwić, dlatego zdecydowaliśmy się na rozwiązanie reaktywne. Do generowania dźwięków posłużyliśmy się urządzeniami mobilnymi zamiast serwerami.
Co to oznacza w praktyce? Pojedyncza reakcja tworzy strumień danych, który jest przesyłany na serwer, a potem agregowany i rozsyłany do urządzeń klientów w czasie rzeczywistym. Następnie, już w aplikacji mobilnej, strumień danych jest bezpośrednio przetwarzany na dźwięk i animacje na ekranie.
To rozwiązanie pozwala na mniejsze obciążenie serwera i aplikacji mobilnej, minimalizuje też zużycie transferu danych. Aby osiągnąć zamierzony efekt, wykorzystaliśmy technologię GraphQL z biblioteką Apollo, a po stronie aplikacji zastosowaliśmy architekturę MVVM z LiveData.
Wszystko to razem redukuje czas potrzebny do transmisji dźwięku, a system nagłośnienia odbiera sygnał znacznie szybciej.
Rozszerzenie bibliotek do generowania dźwięku
Zrezygnowaliśmy z generowania dźwięku po stronie serwera, dlatego musieliśmy stworzyć własne rozwiązanie, które wytwarza dźwięk po stronie aplikacji. Wykorzystaliśmy do tego bibliotekę SoundPool. Rozszerzyliśmy ją tak, żeby móc miksować wcześniej zaprojektowane ścieżki dźwiękowe na podstawie sygnałów wysyłanych przez serwer.
Pozwoliło to na znaczną redukcję obciążenia serwera oraz połączenia sieciowego. Serwer dostarcza tylko instrukcje, jak miksować wcześniej zaprojektowane ścieżki – nie wysyła bezpośrednio całych ścieżek.
Lepsza jakość dźwięku
Wspólnie z inżynierami dźwięku przygotowaliśmy zasady i wskazówki, które pozwoliły nam stworzyć specjalny system generujący dźwięki.
Dlatego bębny, trąby czy oklaski brzmią realistycznie, a obecni na boisku gracze słyszą prawdziwe emocje.
Personalizacja
Każdy klub może dostosować aplikację do potrzeb kibiców na dwa sposoby. Pierwszą opcją jest dodanie unikalnych reakcji, które nie są dostępne w podstawowej wersji aplikacji. Jeśli drużyna ma swój hymn albo okrzyk, może on wybrzmiewać na stadionach.
Druga możliwość dotyczy wyglądu samej aplikacji. Niektóre elementy mogą zmieniać kolor i przybierać barwy klubu.
Mniejsze zużycie danych z wykorzystaniem GraphQL
Zaprojektowana przez Facebooka technologia GraphQL pozwoliła nam zminimalizować ilość pobieranych danych.
Przyspieszyła też rozwój całej aplikacji, ponieważ biblioteka Apollo generuje znaczną część kodu, służącą do komunikacji z serwerem. Bazuje przy tym na plikach, które można przenieść pomiędzy systemem iOS a Androidem.
Zawsze aktualne dane
Wykorzystaliśmy bazę danych Statscore, która przekazuje dane o wynikach i inne informacje w czasie rzeczywistym.
To popularne rozwiązanie w aplikacjach bukmacherskich, które sprawdza się również w przypadku DaNoize. Dzięki niemu użytkownicy natychmiast dowiadują się o wszystkim, co dzieje się na boisku.
Technologie i narzędzia
- Kotlin
- Swift
- GraphQL
- Jira (zarządzanie)
- Bitrise (CI/CD)
- GitLab (kontrola wersji)
- Firebase (analityka)
- Crashlytics (kontrola stabilności
Proces
Kick-off
Pierwszym krokiem było zrozumienie wizji klienta. Wspólnie analizowaliśmy problem i zastanawialiśmy się, jak umożliwić dopingowanie na odległość. Wcześniej nie istniały podobne rozwiązania technologiczne. Aby je znaleźć, rozpoczęliśmy szereg testów, co pozwoliło nam stworzyć wytyczne dla całego projektu. Na tym etapie podjęliśmy też decyzje dotyczące kwestii organizacyjnych.
Przygotowanie i design
Rozpoczęliśmy opracowywanie architektury, spełniającej określone wymogi. Musieliśmy zadbać o to, by aplikacja działała jak najszybciej. Do tego nasze rozwiązanie miało zapewniać najlepszą możliwą wydajność przy wysokiej liczbie użytkowników. Na tym etapie współpracowaliśmy z inżynierem dźwięku, który pomógł nam opracować ścieżki dźwiękowe. Kontaktowaliśmy się też z agencją mohi.to, która tworzyła projekt UI aplikacji.
Development i testy
Budowa aplikacji przebiegała w iteracjach. Przed każdym z nich stawialiśmy sobie cel i ustalaliśmy, jaki zadania trzeba wykonać, żeby go osiągnąć. Specjaliści QA na bieżąco testowali aplikację i identyfikowali elementy wymagające zmian lub optymalizacji. Regularnie omawialiśmy też status prac i prezentowaliśmy klientowi efekty.
Publikacja
Zajęliśmy się publikacją gotowej aplikacji na Google Play i App Store. Czuwaliśmy nad tym, by produkt spełniał kryteria obu sklepów i – w zależności od potrzeb – wprowadzaliśmy zmiany. Kontaktowaliśmy się też z klientem w sprawie materiałów prawnych i marketingowych, które są wymagane przez sklepy.
Utrzymanie i rozwój
Nasz zespół nadal rozwija aplikację, monitoruje błędy i uzupełnia produkt o nowe funkcje, takie jak np. Statscore, który pojawił się w późniejszej wersji produktu. Po każdej zmianie przeprowadzamy testy aplikacji, by upewnić się, że do klientów trafia wersja, która działa bez zarzutu.
Wybrane funkcje
Zespół
Piotr
Android Developer
Igor
Android Developer
Marek
iOS Developer
Karolina
iOS Developer
Nominacja do Mobile Trends Awards
Aplikacja została nominowana do nagrody Mobile Trends Awards 2020 w kategorii SPORT I REKREACJA.
MOBILE TRENDS AWARDS 2020: NOMINACJA W KATEGORII SPORT I REKREACJA
Dlaczego warto rozwijać z nami projekty?
Mobile Trends Awards 2021
Wygrana w kategorii
ŻYCIE CODZIENNE
Nagroda Legalnych Bukmacherów 2019
Najlepsza aplikacja mobilna
Mobile Trends Awards 2023
Wygrana w kategorii
MCOMMERCE ROZWÓJ
24
opinie klientów
Stwórz z nami swoją aplikację
Odpowiedz na kilka pytań, żeby otrzymać wycenę
Nie jesteś jeszcze gotów na wycenę?
Chcesz najpierw dobrać najlepsze technologie albo funkcje?
Napisz do nas na adres [email protected] albo weź udział w warsztatach Product Design Sprint.