Twitter usa pacotes de apps para manter o app leve, reduzindo o tamanho em um terço

O Twitter sabe como resumir as coisas. Quando o Google anunciou o Android App Bundle pela primeira vez, o Twitter se inscreveu no programa de acesso antecipado para avaliar como esse recurso poderia ajudar a reduzir o tamanho do app.

Para a equipe do Twitter, é muito importante manter o app leve e de fácil instalação, especialmente para usuários de mercados emergentes, em que as conexões de dados instáveis são um problema para apps grandes. "Queremos que todos possam usar o Twitter, em qualquer lugar, especialmente nos mercados emergentes. Mas descobrimos que o tamanho do APK é um obstáculo para várias pessoas", afirmou César Puerta, engenheiro de software da equipe sênior do Twitter. "Os pacotes de apps são uma solução simples para reduzir de modo significativo o tamanho de distribuição sem gerar problemas para nós".

O que a equipe fez

Antes de adotar o pacote de apps, o Twitter dividia manualmente o app em quatro ABIs, o que ajudava a reduzir bastante o tamanho. No entanto, o pacote de apps é uma abordagem muito mais simples e eficiente, e por isso a equipe quis fazer a troca.

Antes de continuar, o Twitter passou um tempo analisando a Assinatura de apps do Google Play, um requisito do pacote de apps, para garantir a conformidade com os padrões de segurança do Twitter. "Tivemos o cuidado de fazer isso com muito tempo de antecedência", afirmou César. Entretanto, "quando a versão final dos pacotes de apps ficou disponível, a adoção foi bem simples e não observamos retrocessos no comportamento".

Durante o processo de desenvolvimento, a bundletool foi usada para extrair os APKs distribuídos para a equipe de controle de qualidade. Além disso, os pacotes de apps foram amplamente testados com um grande grupo de usuários antes de avançarem para a produção. O processo funcionou tão bem que a empresa acabou passando o app dogfood interno para a Play Store, a fim de ter uma cobertura melhor e detectar problemas mais rapidamente.

Resultados

Com a conversão concluída, a equipe lançou a nova versão modularizada do app para 13,6 milhões de usuários sem dificuldades. Como os lançamentos do Twitter já eram automatizados, o processo com a nova versão não foi muito diferente do que a equipe já havia feito antes. Contudo, houve um ponto positivo inesperado: "trabalhar com uma ID de versão por lançamento em vez de quatro (divisões de ABI) ajudou a consolidar nossas métricas", afirmou César.

E o mais importante: houve uma economia geral de 30% a 40% no tamanho do app, além dos resultados alcançados anteriormente com a divisão de ABIs. Uma das formas com que a equipe conseguiu fazer isso foi usando um módulo de recurso para distribuir uma biblioteca nativa grande (de 3 MB por ABI) que só era necessária em poucos dispositivos.

Futuramente, o Twitter planeja migrar o Periscope, app de compartilhamento de vídeos ao vivo do Twitter, para o pacote de apps. A equipe também está trabalhando para modularizar todo o app do Twitter. "Quando fizermos a transição para módulos de recursos totalmente isolados, provavelmente iremos considerar a distribuição dinâmica para diversos recursos", afirmou César, ressaltando que isso deve acontecer dentro de 6 a 12 meses. Ele também espera que a modularização permita que os desenvolvedores reutilizem módulos para o Twitter e o Periscope, o que economizará tempo e evitará duplicações desnecessárias.

Primeiros passos

Todos os desenvolvedores de apps e jogos podem usar os Android App Bundles. Comece a usar hoje mesmo.