Gdy SDK jest w Alpha, a musisz zdążyć na Google I/O 2018

Nie tak dawno miałam przyjemność dołączyć do zespołu projektu Topline by Abbey Road Studios, realizowanego przez Miquido. Brief był prosty: aplikacja mobilna dedykowana na platformę Android umożliwiająca artystom utrwalanie swoich pomysłów muzycznych. Projekt był niestandardowy – trwał zaledwie 10 tygodni i pracowaliśmy w oparciu o SDK Flutter.

 

Niedogodności wieku dziecięcego

W momencie kiedy przystąpiliśmy do tworzenia aplikacji, Flutter był dostępny w niestabilnej wersji Alpha. Jak możecie się od razu domyślić, wynikały z tego pewne niedogodności. Pierwsza, która spędzała nam sen z powiek to jednostki miary ekranu. Logiczny pixel we Flutter nie odzwierciedlał zgodnie z założeniem innych dotychczas stosowanych jednostek na platformie Android. Tutaj szczególnie mam na myśli dp.

W trakcie prac stworzyliśmy nasze wewnętrzne pojęcie określające tę specyficzną jednostkę, czyli “Fluttimilimetr”. Tworzenie UI w takiej sytuacji nie jest łatwą sprawą, a testy “pixel perfect” na tym etapie niekoniecznie są dobrym pomysłem, jeżeli dbamy o naszą relację z developerem. 😉

Problem z “Fluttimilimeterkami” na szczęście został rozwiązany w wersji Flutter Beta. Ale teraz musieliśmy zmierzyć się z kolejnym wyzwaniem w trakcie projektu. Pojawił się brak kompatybilności bibliotek. Czytaj “nie działa wszystko, co do tej pory powstało”, a następnie ujawniły się błędy wynikające z samego SDK.

W aplikacji występowało dosyć spore opóźnienie w przechodzeniu do natywnych ekranów. Dalej przy przywracaniu aplikacji z background do foreground ekran aplikacji otwierał się do połowy wysokości ekranu urządzenia. Pop-upy “widmo” występujące na kilku flagowych urządzeniach znanych producentów albo nie były widoczne albo były obecne na wszystkich ekranach i nie znikały do momentu re-instalacji aplikacji.

 

Androidowa latencja

W jaki sposób aplikacja Topline miała umożliwiać artystom utrwalanie swoich pomysłów muzycznych? Podstawową funkcjonalnością aplikacji jest nagrywanie dźwięków, wgrywanie plików dźwiękowych oraz ich “mixowanie” w jeden projekt muzyczny z późniejszą możliwością edycji.

W projekcie Topline przyszło nam się zmierzyć ze znanym już problemem latencji na urządzeniach z systemem Android. Latencja jest to czas, który upływa od momentu polecenia wywołania dźwięku do rzeczywistego momentu jego zagrania (latencja wyjściowa). Drugie oblicze latencji jest tzw. Wejściowa, która dotyczy nagrywania dźwięków.

Problem ujawniał się w momencie kiedy użytkownik nagrał dźwięk na dwóch ścieżkach (dla lepszego wyobrażenia załączam screenshot z aplikacji) przy akompaniamencie wgranego pliku audio a następnie odsłuchiwał swój projekt. To był właśnie moment, kiedy latencja powodowała dość znaczne i zauważalne rozbieżności miksowanych dźwięków.

Dlatego pierwszą funkcjonalnością jaką zaproponowaliśmy użytkownikom jest tzw. kalibracja urządzenia. Polega na badaniu latencji na danym urządzeniu. Wyniki tej analizy pozwalają aplikacji na przesunięcie ścieżek dźwiękowych względem siebie o odpowiednie wartości. Rezultat: kompatybilność nut na akceptowalnym poziomie.

 

 

Zdążyć na Google I/O 2018

Biorąc pod uwagę wszystkie powyższe problemy okazuje się, że początkowo nieduży projekt z dość krótkim czasem realizacji (10 tygodni) oznaczał w praktyce całkiem skomplikowaną aplikację, z nietypowymi rozwiązaniami i bardzo dopracowanym UI. A tylko taka mogła zostać z czystym sumieniem zaprezentowana na konferencji Google I/O 2018, na którą otrzymaliśmy zaproszenie od Google.

 

Czy zespół Miquido podołał wyzwaniu?

Aplikacja zdobyła naprawdę dobre recenzje od użytkowników i samych twórców Flutter. Dlaczego? Bo pomimo niedojrzałości SDK, Topline by Abbey Road Studios w momencie prezentacji była najbardziej zaawansowaną technicznie aplikacją zbudowaną we Flutter.

Zawsze będę powtarzać, że zgrany zespół projektowy to podstawa sukcesu. Współpracując w tym niedużym gronie, udało nam się wypracować koleżeńskie relacje, w których głównym celem było wspieranie i motywowanie siebie nawzajem. Zwrot “dziwne, u mnie działa” miał oddolnego bana!

W Miquido brałam udział do tej pory w kilkunastu projektach, testowałam zarówno aplikacje mobilne jak i webowe. Topline by Abbey Road Studios ze względu na presję czasu oraz zupełnie nową technologię był na pewno jednym z trudniejszych, ale niezwykle ekscytującym i rozwijającym mój własny warsztat testera.

 

Milena Niebrzydowska

Junior Software Tester w Miquido.com

Napisz komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Solve : *
5 + 6 =