Pomyśl o miejscach, w których faktycznie wykonuje się pomiary: dział warzywny w supermarkecie z jedną kreską zasięgu, piwnica, garaż, klatka schodowa między drzwiami mieszkań. Jeśli Twoja aplikacja pomiarowa potrzebuje serwera, zawiedzie dokładnie tam, gdzie jest najbardziej potrzebna. Dlatego pierwsza decyzja architektoniczna była zarazem tą najbardziej bezkompromisową: każdy odczyt, każda analiza i każdy zapisany wynik działa bez dostępu do sieci. I nie jest to jakiś ograniczony tryb offline — to tryb podstawowy. Nie ma tu żadnego trybu online, z którego trzeba by rezygnować.

Co naprawdę daje przetwarzanie na urządzeniu

Szybkość, która zmienia sposób pomiaru

Analiza na telefonie daje wynik w niecałą sekundę. Ten rygor opóźnień to nie kwestia próżności — on całkowicie zmienia sposób pracy. Stujesz w melon, widzisz odczyt, stukasz w innym miejscu, porównujesz. Szarpiesz po kolei wszystkie 32 szprychy w kole w kilka minut. Gdy każdy odczyt wymaga połączenia z serwerem i z powrotem, mierzysz raz i masz nadzieję, że wynik jest poprawny; gdy dzieje się to natychmiast, mierzysz pięć razy i wiesz. Przyrządy służą do pracy iteracyjnej.

Prywatność wynikająca z architektury, a nie z regulaminu

Nagranie z mikrofonu zarejestrowane w Twoim domu to dokładnie ten rodzaj danych, który nie powinien nigdzie wędrować. I w tym przypadku nie wędruje: surowy dźwięk jest przetwarzany na urządzeniu, a wyodrębnione cechy są na nim zapisywane. Nic nie opuszcza telefonu, dopóki się nie zalogujesz i wyraźnie nie naciśniesz przycisku synchronizacji — a z aplikacji można w pełni korzystać bez jakiegokolwiek logowania. Polityka prywatności mówi o tym, co firma obiecuje zrobić z Twoimi danymi; architektura offline sprawia, że większość tych obietnic staje się po prostu zbędna.

Struktura kosztów, która nie szkodzi produktowi

Przetwarzanie danych w chmurze oznacza, że każdy pomiar kosztuje twórcę aplikacji realne pieniądze, co ostatecznie prowadzi do subskrypcji, limitów lub reklam. Przetwarzanie bezpośrednio na urządzeniu nie kosztuje nic przy każdym użyciu, więc nie ma presji, by ograniczać Twój dostęp. Zbieżność interesów jest cicha, ale rzeczywista: aplikacja, której koszt krańcowy wynosi zero, może pozwolić Ci mierzyć tyle, ile tylko chcesz.

Katalog znajduje się na telefonie; chmura to tylko kopia

Wszystko, co mierzysz, trafia do lokalnego katalogu — obiekty, przypadki użycia, pomiary, etykiety — a lokalna baza danych jest zawsze ostatecznym źródłem prawdy. Zalogowanie się za pomocą konta Google dodaje tylko jedną rzecz: ręczną, świadomą synchronizację, która pobiera kopię z chmury i wysyła Twoją, dzięki czemu drugie urządzenie lub przeglądarka internetowa mogą widzieć ten sam katalog. Ręczna obsługa to zaleta, a nie ograniczenie — synchronizacja odbywa się na Twoje żądanie, w jasnym i zrozumiałym kierunku, a nie jako proces w tle, który potrafi zaskoczyć w najmniej odpowiednim momencie.

Wniosek dla przeglądarki internetowej: przeglądarkowy podgląd wyeksportowanych danych działa według tej samej zasady. Otwórz wyeksportowaną paczkę, a zostanie ona przeanalizowana w całości w Twojej przeglądarce — lokalny plik trafia do pamięci podręcznej, nic nigdy nie jest przesyłane na serwer.

Ograniczenie, które wymusza uczciwość

Zasada offline-first niesie ze sobą jeszcze jedną, cichszą korzyść: zapobiega chodzeniu na skróty przy projektowaniu. Nie da się zamaskować słabych funkcji poprzez rzucenie gigantycznego modelu chmurowego do analizy surowego dźwięku. Wszystko musi uruchomić się na procesorze telefonu w sekundę, co zmusza do tworzenia analizy kompaktowej, czytelnej i uzasadnionej fizycznie: częstotliwość rezonansowa i współczynnik tłumienia zamiast wektora cech z „czarnej skrzynki”, stosunek sygnałów z tego samego odbiornika zamiast poziomu bezwzględnego. Te cechy to dokładnie te parametry, które można przenieść między różnymi modelami telefonów bez kalibracji dla każdego urządzenia z osobna — ograniczenie i jakość idą tu w tym samym kierunku. (Więcej o tej zasadzie projektowania przeczytasz w przeglądzie narzędzi oraz w artykule o pomiarach z użyciem dwóch telefonów).

Czego offline-first nie oznacza

To nie oznacza niechęci do chmury. Synchronizacja istnieje, ponieważ katalog budowany przez miesiące zasługuje na kopię zapasową i drugi ekran. Nie oznacza to też, że modele nigdy się nie poprawiają: klasyfikatory są trenowane centralnie na pomiarach, które użytkownicy zdecydowali się udostępnić z etykietami stanu faktycznego — kołem zamachowym zbioru danych — i przesyłane z powrotem do aplikacji, aby działać, jak zawsze, na urządzeniu. Sieć służy do przesyłania wiedzy, zgodnie z Twoim harmonogramem. Pomiar odbywa się w Twojej dłoni.