VLC, un lettore multimediale multipiattaforma senza costi e open source sviluppato dal progetto VideoLAN, è basato sull'idea di offrire agli utenti la possibilità di riprodurre qualsiasi tipo di file video ovunque, a prescindere dal dispositivo o dalle dimensioni dello schermo. Per offrire un'esperienza di visualizzazione ottimale al maggior numero possibile di utenti, il team di VideoLAN ha lavorato duramente per adattare l'app VLC a una varietà di piattaforme, tra cui Android TV e dispositivi con schermi di grandi dimensioni come tablet e Chromebook.
Cosa hanno fatto
Le app installate sui dispositivi Android TV offrono un'esperienza di visualizzazione unica rispetto alle app installate sui dispositivi mobili. Gli spettatori sono seduti più lontano dallo schermo e in genere si aspettano di vedere l'intera raccolta di contenuti in un'unica visualizzazione, come una guida TV tradizionale, mentre gli utenti di dispositivi mobili si aspettano di vedere solo il video che hanno scelto di guardare. Inoltre, gli utenti possono navigare tra le app su Android TV tramite telecomando, mentre le app mobile utilizzano solo il touchscreen.
VideoLAN ha deciso di mantenere la maggior parte dell'interfaccia utente mobile di VLC nella versione più recente dell'app (3.2), ma il team ha dovuto fare qualche passo in più per garantire un'esperienza ottimale sia sui dispositivi mobili che su Android TV.
Ottimizzazione per i telecomandi della TV
Il primo passo di VideoLAN è stato quello di garantire che l'interfaccia utente del video player dell'app fosse facilmente navigabile utilizzando i telecomandi dei dispositivi Android TV, che disponevano solo di un d-pad e di pochi pulsanti. Ad esempio, il team ha spostato le opzioni del video player in un riquadro laterale, così da poter fare clic sull'elenco completo su uno smartphone o un tablet e sfogliarlo facilmente con un telecomando.
Modifica del layout per Leanback Library
Sui dispositivi Android TV, gli utenti VLC possono visualizzare tutte le categorie di video contemporaneamente, anziché aggregare le categorie come sui dispositivi mobili. Per ottimizzare questa funzionalità di navigazione, la libreria Leanback utilizza frammenti estendibili per consentire agli sviluppatori di creare facilmente esperienze ricche e animate per ogni contenuto.
VideoLAN ha creato un'interfaccia utente di navigazione personalizzata per consentire l'ordinamento e lo scorrimento con un pulsante di azione mobile e ha aggiunto animazioni per ogni opzione di scorrimento. Il team ha anche creato una funzionalità di scorrimento rapido simile a quella dell'app Android Auto, che consente agli utenti di sfogliare rapidamente i contenuti video usando ricerche con la prima lettera, anziché dover scorrere l'intero elenco.
L'implementazione di una UI completamente nuova per Android TV ha portato a una discreta quantità di refactorizzazione del codice, ed è qui che è stata utile l'architettura Model-View-ViewModel (MVVM) proposta dai componenti dell'architettura di Android. Seguendo queste linee guida dell'architettura, il team è stato in grado di creare una chiara separazione tra il codice UI e la logica dell'app, il che ha semplificato la condivisione del codice logico dell'app dopo la scrittura della nuova UI. Ora, lo stesso codice è alla base dell'interfaccia utente TV e per dispositivi mobili di VLC.
Il team ha inoltre collaborato con le trasformazioni dei dati in tempo reale per creare una mappa con elementi raggruppati in base alle informazioni sul video (come titolo, data di aggiunta o durata del video) a partire dall'elenco univoco utilizzato sui dispositivi mobili. Poiché Android TV mostra i video in modalità Orizzontale, il team ha suddiviso i contenuti in più righe invece di presentarli in un elenco verticale scorrevole.
Integrazione dei controlli vocali e della funzionalità "Riproduci successivo"
Infine, VideoLAN ha implementato una MediaSession per abilitare il controllo della riproduzione tramite comando vocale tramite l'Assistente Google. Il team ha anche aggiunto una funzionalità "Riproduci successivo" al codice dell'app TV, che consente agli utenti di riprendere la riproduzione di un video avviato in precedenza direttamente dalla schermata Home di Android TV.
Risultati
VLC è un media player senza costi e facile da esplorare, che offre il meglio sugli schermi più grandi. Il team di VideoLAN continua a ricevere feedback positivi da utenti di tutto il mondo e i provider di servizi internet in Francia e Svizzera hanno persino richiesto di aggiungere VLC come app predefinita sui loro decoder.
"La TV è la dimora naturale di un lettore multimediale come VLC, quindi sapevamo che c'era una grande comunità di persone in attesa di utilizzare l'app su Android TV", ha dichiarato Jean-Baptiste Kempf, Presidente di VideoLAN. "È stata la piattaforma più semplice da ottimizzare poiché siamo riusciti a riutilizzare il 95% del codice di Android e siamo entusiasti dei risultati."
Con un'app progettata per dispositivi dagli smartphone di piccole dimensioni alle TV di grande schermo, VideoLAN è ideale per raggiungere più utenti di dispositivi mobili ovunque preferiscono guardare i loro video preferiti.
Per iniziare
Consulta alcune best practice per ottimizzare le tue app per Android TV.