Case Studies

Nie tylko smartfony: jak JioHotstar zoptymalizował UX pod kątem składanych urządzeń i tabletów

Czas czytania: 3 min
Prateek Batra
Inżynier ds. relacji z deweloperami, Android Adaptive Apps

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. Platforma działa na ogromną skalę, ponieważ ma obszerną bibliotekę treści obejmującą ponad 330 tys. godzin wideo na żądanie (VOD) i transmisje na żywo najważniejszych wydarzeń sportowych.

Aby zapewnić swoim użytkownikom jak najlepsze wrażenia, JioHotstar zoptymalizował aplikację pod kątem składanych urządzeń i tabletów. Zrobił 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. Dzięki temu udało mu się stworzyć spójne i angażujące wrażenia na ekranach o różnych rozmiarach.

Wyzwanie JioHotstar związane z dużymi ekranami

JioHotstar zapewniało 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 osiągnąć 1 poziom jakości aplikacji na dużych ekranach, zespół wdrożył 2 strategiczne aktualizacje, które dostosowują aplikację do różnych formatów i wyróżniają ją na składanych urządzeniach. Rozwiązując unikalne problemy związane ze składanymi urządzeniami i tabletami, JioHotstar chce zapewnić wysoką jakość i wciągające wrażenia na ekranach o różnych rozmiarach i proporcjach.

Co trzeba było zrobić

Interfejs JioHotstar, zaprojektowany głównie pod kątem standardowych ekranów telefonów, miał problemy z dostosowaniem formatu obrazu banerów powitalnych, 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 kompaktowych, średnich i rozszerzonych szerokości. Dzięki temu aplikacja mogła dostosować swój interfejs użytkownika do różnych wymiarów i formatów obrazu ekranu, zapewniając spójny i atrakcyjny wizualnie interfejs użytkownika na różnych urządzeniach.

JioHotstar zastosował ten wzorzec, używając biblioteki adaptacyjnej Material 3, aby dowiedzieć się, ile miejsca ma aplikacja. Najpierw wywołuje funkcję currentWindowAdaptiveInfo(), a potem 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. Dlatego 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 Na stole. 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 użyć tej samej funkcji currentWindowAdaptiveInfo() do wysyłania zapytań o tryb stołu, korzystając z biblioteki adaptacyjnej Material 3. Gdy urządzenie jest trzymane w trybie stołu, można zmienić układ tak, aby pasował 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 wymagania dotyczące jakości aplikacji na dużych ekranach na poziomie 1. Zespół wykorzystał wskazówki dotyczące aplikacji adaptacyjnych, korzystając z przykładówćwiczeńprzewodnikówdokumentacji, aby wdrożyć te zalecenia.

Aby jeszcze bardziej poprawić wrażenia użytkowników, JioHotstar zwiększył rozmiary docelowych elementów dotykowych do zalecanych 48 dp na stronach odkrywania filmów, zapewniając ułatwienia dostępu na urządzeniach z dużym ekranem. Strona z informacjami o filmie jest teraz adaptacyjna i dostosowuje się do rozmiaru 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ń podczas oglądania.

"Osiągnięcie 1 poziomu jakości aplikacji na dużych ekranach 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 coś więcej niż tylko adaptacja. Chodzi o podniesienie jakości oglądania dla widzó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 spostrzeżenia dotyczące 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 ekranach o różnych rozmiarach”.

„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

Scenariusz:

Czytaj dalej