VLC, un lecteur multimédia multiplate-forme Open Source sans frais développé par le projet VideoLAN, a pour objectif de permettre aux utilisateurs de lire n'importe quel type de fichier vidéo, où qu'ils soient, quel que soit leur appareil ou la taille de leur écran. Pour offrir une expérience de visionnage optimale au plus grand nombre d'utilisateurs possible, l'équipe VideoLAN s'est efforcée d'adapter l'application VLC à diverses plates-formes, y compris Android TV et les appareils à grand écran comme les tablettes et les Chromebooks.
Ce qu'ils ont fait
Les applications sur les appareils Android TV offrent une expérience de visionnage unique par rapport aux applications sur les appareils mobiles. Les spectateurs de télévision sont assis plus loin de l'écran et s'attendent généralement à voir l'intégralité de leur bibliothèque de contenus dans une seule vue, comme un guide TV traditionnel. Les utilisateurs mobiles, quant à eux, s'attendent à ne voir que la vidéo qu'ils ont choisie de regarder. De plus, les utilisateurs naviguent dans les applications sur Android TV à l'aide d'une télécommande, tandis que les applications mobiles sont uniquement tactiles.
Bien que VideoLAN ait décidé de conserver la majeure partie de l'UI mobile de VLC dans la dernière version de l'application (3.2), l'équipe devait aller plus loin pour garantir une expérience optimale sur mobile et sur Android TV.
Optimiser pour les télécommandes TV
La première étape de VideoLAN a consisté à s'assurer que l'interface utilisateur du lecteur vidéo de l'application serait facilement navigable à l'aide des télécommandes des appareils Android TV, qui ne disposent que d'un pavé directionnel et de quelques boutons. Par exemple, l'équipe a déplacé les options du lecteur vidéo dans un panneau latéral afin que la liste complète soit facile à parcourir sur un smartphone ou une tablette, et facile à parcourir avec une télécommande.

Ajuster la mise en page pour la bibliothèque Leanback
Sur les appareils Android TV, les utilisateurs de VLC peuvent voir toutes leurs catégories de vidéos en même temps, au lieu de les regrouper comme sur mobile. Pour optimiser cette fonctionnalité de navigation, la bibliothèque Leanback utilise des fragments extensibles pour permettre aux développeurs de créer facilement des expériences riches et animées pour chaque contenu.
VideoLAN a créé une UI de navigation personnalisée pour permettre le tri et le défilement avec un bouton d'action flottant et a ajouté des animations pour chaque option de défilement. L'équipe a également créé une fonctionnalité de défilement rapide semblable à celle de son application Android Auto, qui permet aux utilisateurs de parcourir rapidement leurs contenus vidéo à l'aide de recherches par première lettre, sans avoir à faire défiler toute la liste.
L'implémentation d'une toute nouvelle UI pour Android TV a entraîné une quantité décente de refactorisation de code. C'est là que l'architecture MVVM (Model-View-ViewModel) proposée par les composants d'architecture d'Android s'est avérée utile. En suivant ces consignes d'architecture, l'équipe a pu créer une séparation claire entre le code de l'UI et la logique de l'application, ce qui a simplifié le partage du code de la logique de l'application une fois la nouvelle UI écrite. Désormais, le même code alimente l'UI mobile et TV de VLC.
L'équipe a également travaillé avec les transformations LiveData pour créer une carte avec des éléments regroupés par informations vidéo (comme le titre, la date d'ajout ou la durée de la vidéo) à partir de la liste unique qu'elle utilisait sur mobile. Étant donné qu'Android TV affiche les vidéos en mode paysage, l'équipe a divisé le contenu en plusieurs lignes plutôt que de le présenter dans une liste verticale à faire défiler.
Intégrer les commandes vocales et la fonctionnalité "Lire ensuite"
Enfin, VideoLAN a implémenté une MediaSession pour permettre le contrôle de la lecture par commande vocale via l'Assistant Google. L'équipe a également ajouté une fonctionnalité "Lire ensuite" au code de l'application TV, qui permet aux utilisateurs de reprendre la lecture d'une vidéo précédemment lancée directement depuis l'écran d'accueil Android TV.
Résultats
VLC est un lecteur multimédia sans frais et facile à utiliser, qui est particulièrement adapté aux grands écrans. L'équipe VideoLAN continue de recevoir des commentaires positifs de la part des utilisateurs du monde entier. Des fournisseurs d'accès à Internet en France et en Suisse ont même demandé à ajouter VLC comme application par défaut sur leurs décodeurs.
"Les téléviseurs sont un support naturel pour un lecteur multimédia comme VLC. Nous savions donc qu'une large communauté de personnes attendait de pouvoir utiliser l'application sur Android TV", a déclaré Jean-Baptiste Kempf, président de VideoLAN. "C'est en fait la plate-forme la plus simple à optimiser, car nous avons pu réutiliser 95 % du code d'Android. Nous sommes ravis des résultats."
Avec une application conçue pour les appareils allant des smartphones à petit écran aux téléviseurs à grand écran, VideoLAN est prêt à toucher davantage d'utilisateurs mobiles, où qu'ils préfèrent regarder leurs vidéos préférées.
Premiers pas
Découvrez quelques bonnes pratiques pour optimiser vos applications pour Android TV.