Desenvolver aplicativos para Android requer uma certa dose de loucura

Off topic: Antes de mais nada, gostaria de me desculpar pela falta de atualização do blog no último mês. Este foi o segundo mês com menos posts de toda a história do blog (O primeiro foi o fatídico mês de janeiro de 2010 quando o NokiaBR foi fechado e tive que me organizar para continuar blogando). Andamos todos bastante ocupados com nossos trabalhos que não conseguimos escrever o quanto gostaríamos. Também acho que o Mobile Analyst anda comendo tanto ovo cozido na Cinelândia que se esqueceu de nós…

Mas vamos ao que interessa. Android. Plataforma aberta. Milhares de opções de aparelhos. Isso é bom para o usuário (tenho minhas dúvidas). Mas será que é bom para o desenvolvedor?

Venho desenvolvendo há alguns anos aplicativos para iOS e, no ano passado aqui na empresa começamos a portar alguns dos nossos aplicativos e jogos para Android. Para nossa surpresa, desenvolver um aplicativo no Android que funcione em todos os aparelhos requer muita paciência porque várias coisas que funcionam para uma versão do sistema não funcionam em outras versões. Às vezes, coisas que funcionam no 2.3 não existem no 2.2 e coisas do 2.3 não funcionam da mesma maneira no 3.0, e assim por diante. É preciso testar o programa no máximo de aparelhos que você consiga, o que é inviável.

Para completar a guerra, existe um número absurdo de tipos de tela (dimensões x densidade de pixels x orientação). Telas quadradas, telas verticais, telas horizontais, resolução baixa, resolução média, resolução alta, resolução extra alta, cada uma dessas com suas peculiaridades.

A cereja desse bolo é a chamada “customização” dos fabricantes e operadoras, que pode deixar a guerra ainda mais complicada para o desenvolvedor.

Os defensores do Android dizem que essa fragmentação é uma qualidade e não um problema. Garanto que quem diz isso nunca desenvolveu nada para Android ou nunca teve que responder a um cliente que vem reclamar que o seu aplicativo não roda no aparelho dele que tem tela hexagonal e nem no do amigo dele que tem tela elíptica em landscape. 🙂

Outro dia li num post do TechCrunch que um desenvolvedor chamado Animoca, chega a testar os seus aplicativos em 400 aparelhos diferentes (parte deles na foto abaixo).

E outro, esse eu li no Ars Technica, que diz já ter identificado 4.000, QUATRO MIL, modelos de aparelhos diferentes rodando um aplicativo dele (gráfico abaixo). Outra curiosidade que esse desenvolvedor revelou, é que nesses 4.000 modelos de aparelhos, ele descobriu quase 600 fabricantes diferentes! 599 para ser mais preciso.

Com os nossos aplicativos acontece exatamente a mesma coisa. Temos o exemplo do jogo “Manobrista Maluco“, que é sucesso no iOS e também no Android, que tem mais de 850.000 downloads no iOS e pouco mais 145.000 downloads no Android (a versão Android tem quase dois anos a menos).

O gráfico de aparelhos que usam esse jogo é o seguinte:

Como podemos reparar, somente 46% dos downloads estão concentrados em 9 aparelhos. Os outros 54% estão distribuídos em aparelhos que individualmente participam com menos de 2,6% do total. Se quiséssemos atender à maioria dos usuários, teríamos que testá-lo em centenas de aparelhos diferentes.

Hoje recebemos da Amazon um e-mail informando que o Manobrista Maluco não foi aceito para ser publicado na loja de aplicativos do Kindle Fire. Segundo eles, o jogo não se adapta às dimensões de tela do Kindle Fire. Teremos que adaptar o jogo para o Kindle se quisermos publicá-lo na loja da Amazon.

Cada vez mais vemos aparelhos com Android sendo vendidos nas mais variadas versões do sistema e com as mais diversas disposições de tela. Outro dia alguém me mandou uma foto de um flagra de uma loja de celulares vendendo aparelhos com Android com a versão 1.6 ainda! Isso sem falar dos Xing-Lings dos camelódromos que de MP10 viraram num passe de mágica aparelhos com Android.

Enfim, gostaria de saber se outros desenvolvedores de aplicativos para Android compartilham dessa opinião e o que eles fazem para contornar esse problema, além de testar os seus programas em N+K aparelhos.

3 comentários em “Desenvolver aplicativos para Android requer uma certa dose de loucura”