VLC otimiza o app Android para oferecer experiências de vídeo imersivas em telas maiores

O VLC é um player multimídia gratuito de código aberto disponível em várias plataformas, desenvolvido pelo projeto VideoLAN (links em inglês). A compatibilidade integrada com todos os arquivos e telas é a essência do design do VLC. O VLC consegue reproduzir a maioria dos arquivos de vídeo e áudio locais, além de vários protocolos de streaming e muitos apps de terceiros que usam o mecanismo do VLC para a reprodução de vídeos. O objetivo dos desenvolvedores do VideoLAN é que os usuários possam assistir qualquer vídeo, em qualquer lugar, independentemente do dispositivo ou do tamanho de tela que escolherem.

Originalmente, a equipe projetou o app VLC para Android, mas não demorou muito para que os usuários começassem a pedir a mesma experiência em Chromebooks. Foi nesse momento que o VideoLAN viu uma oportunidade de oferecer aos usuários uma experiência semelhante à de um computador, trazendo o VLC para o Chrome OS.

Ao otimizar o app Android para o Chrome OS e telas maiores, além de oferecer compatibilidade com x86 e ARM de 64 bits desde o início, o VideoLAN garantiu que os usuários do VLC pudessem ter a mesma experiência imersiva em diferentes dispositivos e formatos.

O que a equipe fez

A equipe começou observando quais recursos do VLC para computador eram os preferidos dos usuários, como entrada de mouse, menu de clique com o botão direito e garantir que o armazenamento externo (discos rígidos e pen drives USB) funcionem corretamente. Depois disso, passou a ajustar o layout e a funcionalidade do app para garantir que os usuários pudessem aproveitar os mesmos recursos, em um ambiente semelhante ao de um computador.

Compatibilidade com teclado e mouse

Uma das otimizações mais importantes da equipe foi oferecer compatibilidade com a entrada de teclado e mouse. A compatibilidade com teclados possibilitou o uso de atalhos e teclas de direção para navegar facilmente pelo app e a entrada de mouse permitiu ativar os comandos do botão direito e o recurso de arrastar e soltar arquivos no VLC.

Redimensionamento dinâmico

O VideoLAN projetou várias versões do layout para permitir que os usuários conseguissem redimensionar o app facilmente. Como a equipe já havia projetado o layout do VLC para tablets, acomodar layouts maiores e mais amplos foi um processo bastante simples. Eles também aprimoraram as configurações de áudio do player para aproveitar o espaço extra disponível em telas maiores.

Anteriormente, a equipe precisava usar emuladores individuais ou dispositivos separados para testar cada layout. Com a compatibilidade do Android com Chrome OS, a equipe conseguiu testar o layout da IU para computadores, tablets e dispositivos móveis de uma só vez, em um só dispositivo e sem precisar usar um emulador. Isso acelerou consideravelmente o tempo de design e teste.

Agora, com o Linux (Beta) no Chrome OS (link em inglês), os desenvolvedores podem usar o Android Studio para criar e testar apps Android de forma nativa, o que faz com que os Chromebooks sejam dispositivos prontos para desenvolvimento.

Imagem mostrando várias versões do layout, exemplos de redimensionamento dinâmico em smartphones, tablets e laptops

Como programar código em Kotlin

O melhor de tudo é que a equipe fez todo o trabalho em Kotlin, uma linguagem de programação poderosa, que ajudou a aumentar a produtividade ao programar um código mais seguro e conciso. Ao reduzir a base do código do app, a equipe conseguir passar menos tempo solucionando problemas e mais tempo otimizando o layout e a funcionalidade do app.

"Geralmente, ficamos relutantes em reestruturar ou reescrever nosso código, porque corremos o risco de perder a funcionalidade", afirmou Geoffrey Métis, desenvolvedor chefe do Android no VideoLAN. "Ficamos felizes de descobrir que a transição de Java para Kotlin é muito tranquila, graças à ferramenta de migração integrada do Android Studio. Além disso, o framework de corrotinas do Kotlin nos ajudou a melhorar o desempenho".

Resultados

O VideoLAN usou o mesmo APK para dispositivos móveis, Chrome OS e Android TV. Dessa forma, o desenvolvedor chefe precisou de apenas dois meses para otimizar o app para cada plataforma. Os usuários vinham solicitando a compatibilidade com o Chrome OS no VLC há meses, especialmente para reprodução de DVD. Até o momento, a equipe recebeu feedbacks muito positivos. Além disso, a versão mais recente do Chrome OS é totalmente compatível com o armazenamento externo, de modo que todos os usuários do Android têm o mesmo benefício.

"Nossa equipe está sempre à procura de novas oportunidades para proporcionar o melhor resultado para nossos usuários", afirmou o presidente do VideoLAN, Jean-Baptiste Kempf. "A otimização para Chromebooks nos ajudou a fazer com que nosso app alcance muitos dispositivos e formatos, e ficou claro que atingimos nosso objetivo pelo feedback dos usuários no mundo todo".

Primeiros passos

Veja algumas das práticas recomendadas para otimizar apps para o Chrome OS.