(Wired) -- Um ano após seu lançamento, o sistema operacional Android de código aberto do Google se tornou uma sensação. Após um início lento, agora está disponível em pelo menos 12 telefones, com mais dispositivos esperando nos bastidores. Boas notícias para os fãs do Android, certo? Na verdade não, dizem alguns desenvolvedores. Uma série de problemas tornou o gerenciamento de aplicativos Android um "pesadelo", dizem eles, incluindo três versões do sistema operacional (Android 1.5, 1.6 e 2.0), firmware personalizado em muitos telefones e diferenças de hardware entre modelos diferentes. Para os usuários, isso significa que os aplicativos na loja podem apresentar erros, podem não funcionar bem dependendo de seus aparelhos e podem proporcionar uma experiência frustrante. Sem saber da crescente complexidade do back-end, eles estariam mais propensos a deixar críticas ruins para esses aplicativos - um golpe potencialmente letal para pequenas empresas, dizem os desenvolvedores. “Em vez de trabalhar em atualizações para nossos aplicativos, descobrimos que estamos tentando fazer cada aplicativo funcionar para várias versões do sistema operacional e diferentes recursos de hardware”, diz Chris Fagan, cofundador da Froogloid, uma empresa de desenvolvimento de aplicativos com foco no Android. "Não estamos reclamando de todo o crescimento, mas se você é um pequeno ou um novo desenvolvedor Android chegando e tentando aprender, posso ver sua cabeça explodindo. Seria esmagador", diz ele. O problema ecoa preocupações semelhantes sobre Java na década de 1990. Originalmente apresentado como uma forma de os desenvolvedores criarem aplicativos que seriam executados em qualquer computador ("escreva uma vez, execute em qualquer lugar"), os desenvolvedores descobriram que amplas variações nas máquinas virtuais Java, bem como no hardware disponível, significavam que a promessa do Java era realmente "escrever uma vez, depurar em todos os lugares." Embora o Java ainda seja usado - particularmente no espaço móvel, onde ele alimenta jogos e outros aplicativos escritos para celulares compatíveis com Java - não é nem de perto a panacéia multiplataforma que foi originalmente concebida. A preocupação de Fagan com a fragmentação do Android está sendo repetida por outros desenvolvedores, diz Sean Galligan, vice-presidente de desenvolvimento de negócios da Flurry, uma empresa de análise de aplicativos móveis. "Não há dúvida de que estamos começando a ouvir desenvolvedores expressando preocupação", diz Galligan. "O Android está crescendo muito rápido e há muita empolgação com ele, mas também é muito trabalho, especialmente para desenvolvedores de médio e pequeno porte." Desde o lançamento do primeiro telefone HTC T-Mobile G1 com sistema operacional Android, vários fabricantes de aparelhos aderiram ao movimento. A HTC sozinha tem cinco aparelhos Android disponíveis, enquanto outros como a Motorola mudaram completamente para a plataforma Android. Nos últimos dois meses, a Motorola lançou dois novos aparelhos baseados no Android, o Cliq e o Droid. E, em uma tentativa de se diferenciar, os fabricantes de celulares estão criando interfaces de usuário personalizadas, como o HTC Sense, o Motorola Blur e o Rachael UI da Sony Ericsson. Os telefones Android também variam significativamente no hardware - telefones com e sem flash da câmera, alguns têm teclados físicos, outros não. "Você pode criar um aplicativo que funcione perfeitamente com todos os três firmwares, mas quando você o executa nas ROMs das operadoras, ele explode completamente", diz Fagan. “Então, nos encontramos tendo que criar aplicativos compatíveis com vários firmwares, várias ROMs e vários dispositivos com hardware diferente”. Está em nítido contraste com a plataforma do iPhone. A Apple controlou rigidamente a introdução de novos iPhones e atualizações de seu sistema operacional. Ele tem apenas três modelos de iPhone disponíveis desde que lançou o telefone pela primeira vez em 2007. E todos os usuários do iPhone são solicitados a atualizar seus telefones para a mesma versão do sistema operacional. Enquanto a Apple foi pioneira na ideia de loja de aplicativos com o iPhone, o Android também oferece o Market, uma loja para distribuição de programas de terceiros. Ao contrário da loja de aplicativos da Apple, os desenvolvedores do Android não precisam passar por um processo de aprovação para colocar seus aplicativos no Android Market. Atualmente, o mercado Android conta com cerca de 10.000 aplicativos contra os 100.000 da loja de aplicativos da Apple. Para os desenvolvedores, os métodos autocráticos da Apple podem ser frustrantes, mas podem compensar. "A Apple mantém um controle de ferro sobre o que faz e há uma vantagem nisso", diz Kelly Schrock, proprietária da Fognl, que tem três aplicativos no mercado Android. "Os desenvolvedores do iPhone não precisam se preocupar com a fragmentação e criar aplicativos para o iPhone é muito mais fácil." Fundado na mesma época em que o primeiro telefone Android chegou ao mercado, o Froogloid hoje tem mais de 100.000 usuários em seus três aplicativos: a2b, Key Ring e CowPotato. Mas com o crescimento do Android, gerenciar esses aplicativos tornou-se um grande desafio, diz Fagan. A diversidade de dispositivos com sistema operacional Android levou a alguns resultados inesperados, diz Fagan. Por exemplo, o Sprint HTC Hero foi iniciado sem a configuração do GPS ativada. Quando executado, o aplicativo a2b poderia acioná-lo - mas Froogloid logo descobriu que os comandos padrão que eles usavam reagiam de maneira diferente no Hero do que em outros dispositivos Android. Em vez de iniciar as configurações do GPS, ele acionou as configurações do "padrão de desbloqueio da tela", diz Chris Pick, exigindo que o Froogloid escrevesse um código personalizado em seu aplicativo para aquele dispositivo específico. O Google diz que tem emuladores disponíveis que permitem aos desenvolvedores testar seus aplicativos em execução em dispositivos simulados para que possam ver como eles se comportam. Mas nem sempre funciona, diz Fagan. "De certa forma, estamos filmando às cegas com os emuladores porque não temos ideia de como ele realmente funciona no dispositivo." Por exemplo, explica Pick, os gráficos de seu aplicativo de jogo 3D, Cowpotato, funcionaram bem no emulador, mas travaram quando executados no telefone Droid da Motorola. Pick suspeita de um bug no driver gráfico do Droid. Escrever para consertar resolveu o problema, mas não é a melhor solução, diz ele. "Quando temos que começar a escrever regras com base no modelo de telefone em nosso código, isso adiciona mais código à nossa base de código, cria mais trabalho para nós e torna o aplicativo mais pesado", diz Pick. Versões diferentes do sistema operacional também significam que novas funcionalidades foram adicionadas ou removidas. Entender essas mudanças e tornar o software compatível com versões anteriores leva tempo, diz Schrock. "É uma multiplicação de trabalho para sustentar todos eles." Um problema maior é a customização de firmware ou custom ROMs. Por exemplo, o Google oferece uma tela inicial básica com o código do Android. Mas os fabricantes de dispositivos ou operadoras de rede sempre podem modificá-lo. Às vezes, as mudanças são simples, como substituir toda a cor branca por cinza ou vermelho por amarelo. Isso permite que os fabricantes de celulares e operadoras adaptem melhor o Android para seus clientes, algo que o Google diz apoiar "fortemente". "Isso não é grande coisa", diz Fagan. “No entanto, quando eles começam a mudar fundamentalmente como certas atividades são controladas, como configurações do usuário e orientação da tela, isso cria problemas para os desenvolvedores que construíram seus aplicativos em uma versão pronta para uso do firmware/SDK”. ROMs personalizadas estão sempre disponíveis para os desenvolvedores examinarem, aponta Froogloid. "O Google determinou que todos baseiem seus lançamentos nas versões padrão", diz Pick. "Mas isso passa despercebido." Em última análise, os desenvolvedores terão que começar a tomar decisões difíceis sobre quem desejam atingir e as versões do sistema operacional que desejam oferecer suporte, diz Galligan. "Os desenvolvedores precisam identificar quais dispositivos e operadoras atraem o mercado para o qual estão criando um aplicativo e desenvolver apenas para isso", diz ele. Uma banda de um homem só, Schrock diz que sem nenhum funcionário ele não pode manter quatro versões diferentes de aplicativos. "Está ficando muito mais arriscado no Android. Não é um aumento de 4x no custo, mas vai dar muito mais trabalho." E embora Schrock diga que os aplicativos não são seu vale-refeição, ele não quer fazer escolhas que possam afastar alguns usuários do Android de seus aplicativos. "Terei que decidir então quanto retorno estou recebendo e se vale a pena." Assine a revista WIRED por menos de US$ 1 por edição e ganhe um PRESENTE GRÁTIS! Clique aqui! Copyright 2010 Wired.com. 
Após um início lento, o sistema Android decolou em popularidade. Alguns desenvolvedores dizem que o crescimento tornou o gerenciamento de aplicativos para o sistema um pesadelo. O Google diz que fornece emuladores para permitir que os desenvolvedores testem se seus aplicativos funcionam. É a diversidade de dispositivos rodando Android que alguns dizem ter levado a resultados desiguais. 
