Case Studies
Nie tylko smartfony: jak JioHotstar zoptymalizował UX pod kątem składanych urządzeń i tabletów
Czas czytania: 3 min
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 obszernej 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ć wysoką jakość usług dla szerokiego grona odbiorców, JioHotstar zoptymalizował swoją aplikację pod kątem składanych urządzeń i tabletów. Zrobili to, postępując zgodnie ze wskazówkami Google dotyczącymi aplikacji adaptacyjnych i korzystając z zasobów takich jak przykłady, ćwiczenia, przewodniki i dokumentacja. Dzięki temu udało im 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 oferował doskonałe wrażenia użytkownikom standardowych telefonów, a zespół chciał wykorzystać nowe formaty. Na początku zespół ocenił swoją aplikację pod kątem wskazówek dotyczących jakości aplikacji na dużych ekranach, aby zrozumieć, 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 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 swojej aplikacji przez dodanie klasy WindowSizeClass i utworzenie zoptymalizowanych układów dla szerokości kompaktowych, średnich i rozszerzonych. 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 sprawdzić, 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, 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ść usług, 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 adaptacyjnej Material 3. Tej samej funkcji currentWindowAdaptiveInfo() można użyć do wysyłania zapytań o 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 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.
Teraz użytkownicy mogą 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.
"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 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 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 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
Czytaj dalej
-
Case Studies
Karrot to hiperlokalna aplikacja handlowa typu peer-to-peer oparta na społeczności, która umożliwia użytkownikom kupowanie, sprzedawanie i wymienianie przedmiotów z innymi zweryfikowanymi użytkownikami. Od czasu uruchomienia w Korei Południowej w 2015 r. platforma rozszerzyła się na rynki globalne, zdobywając ponad 43 miliony zarejestrowanych użytkowników.
Thomas Ezan, Tracy Agyemang • Czas czytania: 2 minuty
-
Case Studies
Monzo to brytyjski bank cyfrowy, który ma 15 milionów klientów i stale się rozwija. W miarę skalowania aplikacji zespół inżynierów uznał czas uruchamiania aplikacji za kluczowy obszar do poprawy, ale obawiał się, że będzie to wymagało znacznych zmian w bazie kodu.
Ben Weiss, Tracy Agyemang • Czas czytania: 2 minuty
-
Case Studies
TikTok to globalna platforma krótkich filmów znana z ogromnej bazy użytkowników i innowacyjnych funkcji.
Ben Trengrove, Ajesh Pai • Czas czytania: 2 minuty
Bądź na bieżąco
Otrzymuj co tydzień najnowsze informacje o tworzeniu aplikacji na Androida na swoją skrzynkę odbiorczą.