Calm to wiodąca firma zajmująca się zdrowiem psychicznym i dobrym samopoczuciem. Jej aplikację pobrano ponad 180 milionów razy. Gdy firma zaczęła tworzyć aplikację na Androida XR, jej główny zespół inżynierów był w stanie stworzyć pierwsze funkcjonalne menu orbiterów XR w ciągu 1 dnia, a podstawowe funkcje w ciągu 2 tygodni. Pokazuje to, że tworzenie aplikacji na XR może być rozszerzeniem dotychczasowych prac nad aplikacjami na Androida, a nie czymś, co trzeba zacząć od zera. Firma pomaga użytkownikom lepiej spać, radzić sobie ze stresem i żyć bardziej świadomie. Dzięki obszernej bibliotece Calm stał się zaufanym źródłem treści dotyczących dobrego samopoczucia na Androidzie.
Wraz z wprowadzeniem platformy Android XR zespół Calm dostrzegł szansę nie tylko na zoptymalizowanie dotychczasowej aplikacji na Androida, ale też na stworzenie nowej generacji immersyjnych doświadczeń.
Porozmawialiśmy z Kristen Coke, Lead Product Manager, i Jamie Martini, Sr. Manager of Engineering w Calm, aby dowiedzieć się więcej o ich pracy nad aplikacją na Androida XR i o tym, jak inni deweloperzy mogą pójść w ich ślady.
Pytanie: Jaka była wizja aplikacji Calm na Androida XR i jak przyczynia się ona do realizacji Waszej misji?
Odpowiedź (Kristen Coke, Lead Product Manager): Naszą misją jest wspieranie wszystkich na każdym etapie dbania o zdrowie psychiczne. XR pozwala nam rozszerzyć sposób, w jaki użytkownicy korzystają z naszych treści dotyczących medytacji, tworząc doświadczenie, które nie tylko przenosi w inne miejsce, ale też zmienia.
Jeśli miałabym opisać to w jednym zdaniu, Calm na Androidzie XR na nowo definiuje medytację w otaczającym Cię świecie, zamieniając dowolne pomieszczenie w w pełni immersyjne, wielozmysłowe doświadczenie medytacyjne.
Chcieliśmy stworzyć wersję Calm, która nie mogłaby istnieć nigdzie indziej – spokojne i inteligentne emocjonalnie sanktuarium, do którego użytkownicy nie tylko chcą się udać, ale też do którego będą wracać.
Pytanie: Deweloperzy mogą uważać, że tworzenie aplikacji na XR to ogromne przedsięwzięcie. Jakie było Wasze początkowe podejście do przeniesienia dotychczasowej aplikacji na Androida?
Odpowiedź (Jamie Martini, Sr. Manager of Engineering): Naszym głównym celem było dostosowanie aplikacji na Androida do XR. Szczerze mówiąc, proces ten był łatwy i płynny.
W naszej aplikacji mobilnej intensywnie korzystamy z Jetpack Compose, więc rozszerzenie tej wiedzy na XR było naturalnym wyborem. Czułem, że rozwijamy naszą aplikację na Androida, a nie zaczynamy od zera. Mogliśmy ponownie wykorzystać dużą część istniejącego kodu, w tym backend, odtwarzanie multimediów i inne podstawowe komponenty, co znacznie skróciło czas początkowej pracy.
Przewodniki projektowania na Androida XR dostarczyły nam cennych informacji w trakcie całego procesu. Pomogły one naszym zespołom projektowemu i programistycznemu przekształcić interfejs użytkownika Calm, który był pierwotnie przeznaczony na urządzenia mobilne, w coś naturalnego i intuicyjnego w środowisku przestrzennym.
Pytanie: Wspomniałeś, że proces był płynny. Jak szybko Twój zespół mógł zacząć tworzyć i ulepszać podstawowe funkcje XR?
Odpowiedź (Jamie Martini, Sr. Manager of Engineering): Od razu zaczęliśmy pracować wydajnie. Pierwsze menu orbiterów stworzyliśmy w ciągu 1 dnia, a podstawowe funkcje XR w ciągu około 2 tygodni. Możliwość bezpośredniego zastosowania naszej wiedzy o Androidzie i Jetpacku w środowisku przestrzennym dała nam ogromną przewagę, dzięki czemu czas do wprowadzenia pierwszej funkcji był niezwykle krótki.
Pytanie: Czy możesz opowiedzieć nam o tym, co stworzyliście, aby przenieść funkcje Calm do tego nowego środowiska przestrzennego?
Odpowiedź (Jamie Martini, Sr. Manager of Engineering): Chcieliśmy w pełni wykorzystać immersywną przestrzeń, aby zmienić sposób, w jaki użytkownicy korzystają z naszych treści.
Dwie kluczowe funkcje, które rozwinęliśmy, to Immersive Breathe Bubble i Immersive Scene Experiences.
Breathe Bubble to nasze ulubione ćwiczenie oddechowe, ale w 3D. Jest to delikatnie pulsująca kula, która dzięki pełnemu zanurzeniu w środowisku pomaga użytkownikom skupić się na oddechu.
Dzięki Immersive Scene Experiences użytkownicy mogą wybierać spośród starannie dobranych środowisk, które delikatnie otaczają ich i wtapiają się w ich fizyczne otoczenie. Był to świetny sposób na wykorzystanie sprawdzonej koncepcji 2D (scen w tle, które można dostosować w aplikacji mobilnej) i przekształcenie jej w środowisko przestrzenne.
Nie tworzyliśmy nowych funkcji od zera. Po prostu rozwinęliśmy podstawowe, sprawdzone funkcje, aby wykorzystać immersywną przestrzeń.
Pytanie: Jakie były kluczowe elementy tworzenia atrakcyjnego wizualnie środowiska, które jest natywne dla platformy Android XR?
Odpowiedź (Kristen Coke, Lead Product Manager): Tworzenie aplikacji na środowisko przestrzenne w skali człowieka wymagało od nas zaktualizowania procesu twórczego.
Zaczęliśmy od grafiki koncepcyjnej, aby ustalić kierunek, który następnie przekształciliśmy w modele 3D, używając odniesienia w skali człowieka, aby zapewnić naturalne proporcje i wygodę użytkownika.
Następnie konsekwentnie testowaliśmy zasoby bezpośrednio w goglach, aby dostroić skalę, oświetlenie i atmosferę. Deweloperzy, którzy nie mają urządzenia fizycznego, mogą użyć emulatora Androida XR jako przydatnej alternatywy do testowania i debugowania.
Szybko zdaliśmy sobie sprawę, że w środowisku wielozmysłowym powściągliwość jest niezwykle ważna. Pozwoliliśmy, aby istniejące treści (narracja, dźwięk) wzbogacały środowisko, zamiast pozwalać, aby nowość przestrzeni 3D odciągała uwagę od podstaw medytacji.
Pytanie: Jak opisałbyś krzywą uczenia się dla innych deweloperów zainteresowanych tworzeniem aplikacji na XR? Masz jakieś rady?
Odpowiedź (Jamie Martini, Sr. Manager of Engineering): Ten projekt był pierwszym krokiem naszego zespołu inżynierów Androida w kierunku platform immersyjnych. Byliśmy mile zaskoczeni. Interfejsy API były bardzo łatwe do nauczenia się i używania oraz spójne z innymi bibliotekami Jetpack.
Moja rada dla innych deweloperów? Zacznij od zintegrowania interfejsów API Jetpack XR z dotychczasową aplikacją na Androida i ponownego wykorzystania jak największej części istniejącego kodu. To najszybszy sposób na uzyskanie funkcjonalnego prototypu.
Odpowiedź (Kristen Coke, Lead Product Manager): Myśl jak najszerzej. Android XR dał nam zupełnie nowy świat, w którym możemy tworzyć naszą aplikację. Zespoły powinny zadać sobie pytanie: jaka jest największa i najodważniejsza wersja Waszej aplikacji, którą możecie stworzyć? To Twoja szansa na wdrożenie tego, co zawsze chciałeś zrobić, ponieważ teraz masz platformę, która może to urzeczywistnić.
Tworzenie nowej generacji środowisk przestrzennych
Praca zespołu Calm pokazuje, jak tworzenie aplikacji na platformie Android XR może być naturalnym rozszerzeniem dotychczasowej wiedzy o Androidzie. Dzięki wykorzystaniu pakietów SDK Jetpack XR zespół Calm szybko przekształcił podstawowe funkcje mobilne w oszałamiające środowisko przestrzenne.
Jeśli chcesz zacząć, wszystkie potrzebne materiały znajdziesz na stronie developer.android.com/xr. Pobierz najnowszy pakiet SDK, zapoznaj się z dokumentacją i zacznij tworzyć już dziś.
-
Case StudiesWiększość aplikacji na Androida używa Kotlina jako głównego języka programowania, a kotlinx.coroutines stał się de facto standardem programowania asynchronicznego. Biblioteka oferuje dobrze zaprojektowany i uporządkowany sposób zarządzania współbieżnymi przepływami, który jest natywny dla Kotlina.
Jonathan Starup, Andrei Shikov • Czas czytania: 7 min -
Case StudiesRegresje wydajności są niezwykle trudne do odtworzenia, co sprawia, że stanowią ogromne wąskie gardło dla deweloperów aplikacji mobilnych.
Alice Yuan, Arti Arutiunov, Nikita Ogorodnikov • Czas czytania: 4 min -
Case StudiesFotMob odnotował ostatnio największy jednodniowy wzrost liczby użytkowników Wear OS wśród zainstalowanych odbiorców w ciągu 5 lat – 2–3 razy większy niż średnia dzienna. Tajemnica? Prosty proces instalacji na różnych urządzeniach, który pomaga użytkownikom odkrywać aplikację na Wear OS bezpośrednio na telefonie.
Garan Jenkin • Czas czytania: 3 minuty
Otrzymuj co tydzień najnowsze informacje o tworzeniu aplikacji na Androida na swoją skrzynkę odbiorczą.