Nie tylko smartfony: jak JioHotstar zoptymalizował UX pod kątem składanych urządzeń i tabletów
3 minuty czytania
Nie tylko telefony: jak JioHotstar stworzył adaptacyjny UX
JioHotstar to wiodąca platforma streamingowa w Indiach, z której korzysta ponad 400 milionów użytkowników. Dzięki bogatej bibliotece treści,która obejmuje ponad 330 tys. godzin filmów na żądanie (VOD) i transmisje na żywo najważniejszych wydarzeń sportowych, platforma działa na ogromną skalę.
Aby zapewnić swoim użytkownikom jak najlepsze wrażenia, JioHotstar zoptymalizował aplikację pod kątem składanych urządzeń i tabletów. Zrobili to, stosując się do wskazówek Google dotyczących aplikacji adaptacyjnych i korzystając z zasobów takich jak przykłady, ćwiczenia, przewodniki i dokumentacja, aby zapewnić spójne i angażujące wrażenia na wszystkich rozmiarach ekranu.
Wyzwanie JioHotstar związane z dużymi ekranami
JioHotstar oferował doskonałe wrażenia użytkownikom standardowych telefonów, a zespół chciał wykorzystać nowe formaty. Na początku zespół ocenił aplikację pod kątem wskazówek dotyczących jakości aplikacji na dużych ekranach, aby dowiedzieć się, jakie optymalizacje są potrzebne, aby rozszerzyć wrażenia użytkowników na składane urządzenia i tablety. Aby uzyskać status aplikacji na dużych ekranach na poziomie 1, zespół wdrożył 2 strategiczne aktualizacje, które dostosowują aplikację do różnych formatów i wyróżniają ją na składanych urządzeniach. Dzięki rozwiązaniu unikalnych problemów związanych ze składanymi urządzeniami i tabletami JioHotstar chce zapewnić wysoką jakość i wciągające wrażenia na wszystkich rozmiarach ekranu i proporcjach obrazu.
Co musieli zrobić
Interfejs JioHotstar, zaprojektowany głównie pod kątem standardowych ekranów telefonów, miał problemy z dostosowaniem proporcji obrazu głównego, menu i ekranów programów do różnych rozmiarów i rozdzielczości ekranów innych formatów. Często prowadziło to do przycinania obrazu, letterboxingu, niskiej rozdzielczości i niewykorzystanej przestrzeni, zwłaszcza w trybie poziomym. Aby w pełni wykorzystać możliwości tabletów i składanych urządzeń oraz zapewnić optymalne wrażenia użytkownikom tych urządzeń, JioHotstar skupił się na udoskonaleniu interfejsu, aby zapewnić optymalną elastyczność układu, renderowanie obrazu i nawigację na szerszej gamie urządzeń.
Co zrobili
Aby zapewnić lepsze wrażenia podczas oglądania na dużych ekranach, JioHotstar podjął inicjatywę ulepszenia aplikacji przez dodanie klasy WindowSizeClass i utworzenie zoptymalizowanych układów dla szerokości kompaktowych, średnich i rozszerzonych. Dzięki temu aplikacja może dostosowywać swój interfejs do różnych wymiarów ekranu i proporcji obrazu, zapewniając spójny i atrakcyjny wizualnie interfejs na różnych urządzeniach.
JioHotstar zastosował ten wzorzec, używając biblioteki Material 3 Adaptive, aby dowiedzieć się, ile miejsca ma aplikacja. Najpierw wywołuje funkcję currentWindowAdaptiveInfo(), a następnie używa nowych układów odpowiednio do 3 klas rozmiaru okna:
val sizeClass = currentWindowAdaptiveInfo().windowSizeClass
if(sizeClass.isWidthAtLeastBreakpoint(WIDTH_DP_EXPANDED_LOWER_BOUND)) {
showExpandedLayout()
} else if(sizeClass.isHeightAtLeastBreakpoint(WIDTH_DP_MEDIUM_LOWER_BOUND)) {
showMediumLayout()
} else {
showCompactLayout()
}Punkty przerwania są uporządkowane od największego do najmniejszego, ponieważ wewnętrznie interfejs API sprawdza, czy szerokość jest większa lub równa, więc każda szerokość, która jest co najmniej większa lub równa EXPANDED, będzie zawsze większa niż MEDIUM.
JioHotstar może zapewnić najwyższą jakość, która jest unikalna dla składanych urządzeń: tryb stołu. Ta funkcja wygodnie przenosi odtwarzacz wideo do górnej połowy ekranu, a elementy sterujące wideo do dolnej połowy, gdy składane urządzenie jest częściowo złożone, aby zapewnić obsługę bez użycia rąk.
Aby to osiągnąć, można też użyć biblioteki Material 3 Adaptive i tej samej currentWindowAdaptiveInfo(), aby sprawdzić tryb stołu. Gdy urządzenie jest trzymane w trybie stołu, można zmienić układ, aby dopasować go do górnej i dolnej połowy pozycji, używając kolumny, aby umieścić odtwarzacz w górnej połowie, a elementy sterujące w dolnej:
val isTabletTop = currentWindowAdaptiveInfo().windowPosture.isTabletop
if(isTabletopMode) {
Column {
Player(Modifier.weight(1f))
Controls(Modifier.weight(1f))
}
} else {
usualPlayerLayout()
}JioHotstar spełnia teraz wskazówki dotyczące jakości aplikacji na dużych ekranach na poziomie 1. Zespół skorzystał ze wskazówek dotyczących aplikacji adaptacyjnych, wykorzystując przykłady, ćwiczenia, przewodniki i dokumentację, aby wdrożyć te zalecenia.
Aby jeszcze bardziej poprawić wrażenia użytkowników, JioHotstar zwiększył rozmiary docelowych obszarów dotyku do zalecanych 48 dp na stronach odkrywania filmów, zapewniając dostępność na urządzeniach z dużym ekranem. Strona szczegółów filmu jest teraz adaptacyjna i dostosowuje się do rozmiarów i orientacji ekranu. Zespół nie ograniczył się do prostego skalowania obrazu, ale wykorzystał klasy rozmiaru okna, aby wykrywać rozmiar i gęstość okna w czasie rzeczywistym oraz wczytywać najbardziej odpowiedni baner powitalny dla każdego formatu, co pomaga zwiększyć wierność wizualną. Ulepszono też nawigację, a układy dostosowują się do różnych rozmiarów ekranu.
Użytkownicy mogą teraz oglądać ulubione treści z JioHotstar na urządzeniach z dużym ekranem, korzystając z ulepszonych i zoptymalizowanych wrażeń.
"Uzyskanie statusu aplikacji na dużych ekranach na poziomie 1 w Google to kamień milowy, który odzwierciedla siłę naszej wspólnej wizji. W JioHotstar zawsze wierzyliśmy, że optymalizacja pod kątem urządzeń z dużym ekranem to nie tylko adaptacja, ale też podnoszenie jakości oglądania dla odbiorców, którzy coraz częściej korzystają ze składanych urządzeń, tabletów i telewizorów połączonych z internetem”.
„Dzięki bibliotekom i przewodnikom Jetpack Google mogliśmy połączyć nasze informacje o konsumpcji treści z ich wiedzą na temat innowacji na platformie. Ta współpraca pozwoliła obu zespołom przekraczać granice, eliminować luki i wspólnie tworzyć płynne, wciągające wrażenia na każdym rozmiarze ekranu”.
„Jesteśmy dumni, że możemy udostępnić te ulepszone wrażenia milionom użytkowników i wyznaczyć nowe standardy w sposobie, w jaki Indie i cały świat korzystają ze streamingu”
- Sonu Sanjeev, starszy inżynier ds. rozwoju oprogramowania
-
Case StudiesWiększość aplikacji na Androida używa Kotlina jako głównego języka, 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 • 7 min czytania -
Case StudiesRegresje wydajności są wyjątkowo trudne do odtworzenia, co sprawia, że są one ogromnym wąskim gardłem dla deweloperów mobilnych.
Alice Yuan, Arti Arutiunov, Nikita Ogorodnikov • 4 min czytania -
Case StudiesFotMob odnotował niedawno największy jednodniowy wzrost liczby instalacji na Wear OS wśród swoich użytkowników w ciągu 5 lat – 2–3 razy większy niż średnia dzienna. Jaki jest sekret? Prosty proces instalacji na różnych urządzeniach, który pomaga użytkownikom odkrywać aplikację na Wear OS bezpośrednio z telefonu.
Garan Jenkin • 3 min czytania
Otrzymuj co tydzień najnowsze informacje o tworzeniu aplikacji na Androida na swoją skrzynkę odbiorczą.