Josh notou um aumento na retenção de clientes porque aumentou o tempo de inicialização do app em 30%

Josh é um app de vídeos curtos Made in India lançado em agosto de 2020. Ele também é um dos apps de vídeos curtos com crescimento mais rápido na Índia, com mais de 124 milhões de MAUs e 60 milhões de DAUs.

Otimizar Josh em vários dispositivos (alto, médio e baixo) e manter uma experiência padrão em todos eles é um desafio para qualquer desenvolvedor de apps, e os desenvolvedores da Josh entenderam isso desde o início. Melhorar o Android vitals era uma tarefa importante nos sprints, e a importância foi dada à satisfação do usuário, melhorando o tempo de inicialização e a capacidade de resposta do app.

A capacidade de resposta e o tempo de inicialização do app também eram importantes, já que o vídeo era o principal formato com que os usuários se engajavam e consumiam no app. Qualquer fragmentação no stream de vídeo ou pausas nas diferentes interações poderia rapidamente fazer com que o usuário perdesse o interesse e fechasse o app.

Ao investir no desempenho do tempo de inicialização do app, Josh melhorou o tempo de inicialização do app em 30% para o usuário médio e ficou três vezes mais rápido para cerca de 10% dos usuários em dispositivos mais antigos e mais simples.

O desafio

O app Josh testemunhou um rápido crescimento para mais de 100 milhões de MAU em menos de um ano. Muitas vezes, na corrida para lançar recursos de produtos ou eventos, a otimização de apps fica em segundo plano. As auditorias de apps e o feedback estrutural do Google ajudaram a identificar esses problemas com antecedência e traçar um caminho para corrigi-los.

Como foi o processo

Ao monitorar o Android vitals, identificamos uma oportunidade para melhorar a inicialização do app. A equipe decidiu priorizar a melhoria dos tempos de inicialização a frio, porque isso melhoraria automaticamente os tempos de inicialização a quente e com estado salvo.

Usando vários rastros personalizados, o Systrace, o Android Studio Profiler e o Perfetto, a equipe conseguiu fazer uma investigação detalhada e identificar os gargalos. Ficou claro que o tempo gasto pelo onCreate da classe Application e outros métodos síncronos poderia ser otimizado.

Veja o que a equipe fez especificamente:

  • Criação de perfil de cada bloco de código executado durante a inicialização do app.
  • Analisamos rastreamentos do sistema usando ferramentas de desempenho do Android, como Perfetto, Systrace, Dumpsys etc.
  • O impacto dos SDKs de terceiros durante a inicialização do app foi investigado, e o início automático de alguns deles foi desativado.
  • Bibliotecas legadas eliminadas
  • Alguns módulos foram adiados e executados em segundo plano
  • O tamanho dos drawables usados na tela de apresentação foi reduzido na inicialização e otimizados para o tamanho da tela.

Todos esses elementos foram validados de forma completa por meio de testes isolados para confirmar o impacto positivo deles no app, emulando inicializações a frio e integrando a nova biblioteca Macrobenchmark do Jetpack.

Resultados

Essas mudanças não só levaram a uma melhoria imediata em todas as métricas, mas também ajudaram a aprimorar a experiência geral do usuário, além de aprendizados inestimáveis para a equipe de desenvolvimento de Josh.

  • A melhoria das taxas de rejeição e da retenção ajudou Josh a reter mais de 1 milhão de usuários em comparação com o valor de referência. Concentrar-se nessas duas métricas também melhorou o engajamento geral no aplicativo.
  • As classificações da Play Store mostraram uma tendência positiva de aumento após o lançamento do app com melhorias na inicialização.
  • O tempo de inicialização do app melhorou 30% para o usuário médio e ficou três vezes mais rápido para cerca de 10% dos usuários em dispositivos mais antigos e simples, ajudando a melhorar significativamente a capacidade de resposta do app para esses usuários.

Mais importante ainda, esse exercício de melhoria do Android vitals reuniu toda a equipe, aumentando a motivação dela, especialmente os membros juniores. Isso consolidou a importância do Android vitals e até fez a equipe usar alguns dos aprendizados em outros apps.

"Quando os parceiros de um ecossistema se juntam, o ecossistema cresce juntos. O poder dos dados e da análise é sem precedentes. Como uma plataforma com foco no criador, no conteúdo e no consumidor, sempre priorizamos a criação da melhor experiência do usuário, o que depende muito da estabilidade do app. Josh testemunhou um crescimento acelerado imediato após o lançamento. Trabalhar em estreita colaboração com a equipe do Google Play nos ajudou a identificar e corrigir desafios como estabilidade do app e otimização desde o início. Nossos esforços com o Google nos ajudaram a melhorar a estabilidade e melhorar o engajamento e a retenção de usuários."

– Shailendra Sharma, vice-presidente sênior de produtos e engenharia, VerSe Innovation.