VLC è un lettore multimediale multipiattaforma senza costi e open source sviluppato dal progetto VideoLAN. La compatibilità perfetta con tutti i file e gli schermi è alla base della progettazione di VLC. VLC è in grado di riprodurre la maggior parte dei file video e audio locali, nonché di vari protocolli di streaming e un numero elevato di app di terze parti utilizza il motore VLC per gestire la riproduzione di video. In ultima analisi, gli sviluppatori di VideoLAN vogliono che gli utenti siano in grado di riprodurre qualsiasi contenuto, ovunque, a prescindere dal dispositivo o dalle dimensioni dello schermo che preferiscono.
Il team ha progettato originariamente l'app VLC per Android e non è passato molto tempo prima che gli utenti abbiano iniziato a richiedere la stessa esperienza sui Chromebook. In quel momento, VideoLAN ha intravisto l'opportunità di offrire agli utenti un'esperienza di tipo desktop portando VLC su ChromeOS.
Ottimizzando l'app per Android per ChromeOS e schermi più grandi, oltre a supportare ARM x86 e 64 bit fin dall'inizio, VideoLAN ha consentito agli utenti di VLC di godere della stessa esperienza immersiva su una gamma di dispositivi e fattori di forma diversi.
Cosa hanno fatto
Il team ha iniziato notando quali funzionalità di VLC preferite dagli utenti su computer, ad esempio input del mouse, menu di scelta rapida, e verificando che l'unità di archiviazione esterna (come dischi rigidi e chiavette USB) funzionasse correttamente. Da qui, ha iniziato a modificare il layout e le funzionalità dell'app per garantire che gli utenti potessero usufruire di quelle stesse funzionalità in un ambiente simile a quello desktop.
Supporto per tastiera e mouse
Una delle ottimizzazioni più importanti per il team era il supporto dell'input tramite tastiera e mouse. Il supporto delle tastiere consentiva agli utenti di utilizzare scorciatoie e pulsanti di direzione per navigare facilmente nell'app, mentre l'input del mouse abilitava comandi di clic con il tasto destro del mouse e il trascinamento di file da e verso il player VLC.
Ridimensionamento dinamico
VideoLAN ha progettato diverse versioni del layout per consentire agli utenti di scalare e ridimensionare facilmente l'app. Poiché il team aveva già progettato il layout di VLC per i tablet, accogliere layout più grandi e più larghi era un processo abbastanza semplice. Inoltre, hanno modificato le impostazioni audio del player per sfruttare gli spazi extra disponibili su schermi più grandi.
In precedenza, il team doveva utilizzare singoli emulatori o dispositivi separati per testare ogni layout. Tuttavia, con il supporto Android per ChromeOS, il team è stato in grado di testare il layout dell'interfaccia utente per computer, tablet e dispositivi mobili contemporaneamente, sullo stesso dispositivo e senza dover utilizzare un emulatore. Questo ha velocizzato notevolmente i tempi di progettazione e di test.
E ora, grazie a Linux (beta) su ChromeOS, gli sviluppatori possono usare Android Studio per creare e testare le app per Android in modo nativo, rendendo i Chromebook pronti per lo sviluppo.
Scrittura del codice in Kotlin
Soprattutto, il team ha svolto tutto il lavoro in Kotlin, un potente linguaggio di programmazione che li ha aiutati a migliorare la produttività scrivendo in codice più sicuro e conciso. Riducendo il codebase dell'app, sono stati in grado di dedicare meno tempo alla risoluzione dei problemi e più tempo all'ottimizzazione del layout e delle funzionalità dell'app.
"Di solito siamo riluttanti a ristrutturare o riscrivere radicalmente il nostro codice perché rischiamo di perdere funzionalità", ha affermato Geoffrey Métais, sviluppatore principale di Android di VideoLAN. "Siamo stati felici di scoprire che la transizione da Java a Kotlin è stata realmente fluida, grazie allo strumento di migrazione integrato di Android Studio. Inoltre, il framework operativo di Kotlin ci ha aiutato a migliorare le prestazioni."
Risultati
VideoLAN ha utilizzato lo stesso APK per dispositivi mobili, ChromeOS e Android TV, quindi ha impiegato solo due mesi allo sviluppatore principale per ottimizzare l'app per ogni piattaforma. Gli utenti hanno chiesto da mesi il supporto di VLC su ChromeOS, in particolare per la riproduzione di DVD, e il team ha ricevuto finora un feedback estremamente positivo. Inoltre, l'ultima versione di ChromeOS supporta completamente l'unità di archiviazione esterna: ora tutti gli utenti Android beneficiano dello stesso vantaggio.
"Il nostro team è sempre alla ricerca di nuove opportunità per ottenere il massimo impatto per i nostri utenti", ha dichiarato il presidente di VideoLAN Jean-Baptiste Kempf. "L'ottimizzazione per Chromebook ci ha aiutato a estendere la nostra app su un numero enorme di dispositivi e fattori di forma ed è chiaro che abbiamo raggiunto il traguardo in base al feedback degli utenti di tutto il mondo."
Inizia
Consulta alcune best practice per ottimizzare le tue app per ChromeOS.