A epopéia de um desenvolvedor independente (para celulares)
Autor: lamas | Publicado: 2010-06-11T02:47:00-03:00

Tudo começa com uma boa idéia, pelo menos pra quem é o pai da idéia, ai vem o design, rascunha aqui, repensa ali, monta um protótipo, mostra pro amigo, parente, esposa, aí pára tudo... outras prioridades, falta de tempo, de inspiração para terminar, de verba pra cumprir a burocracia, é quem disse que só de boas idéias vive o empreendedor, precisa ter capital inicial!Ai você pensa: Mas quais burocracias? Então... um desenvolvedor cujo projeto seja web ou desktop não precisa se preocupar muito, gravamos e lemos arquivos à vontade, acessamos a rede, mudamos janelas de lugar, fazer e aparecemos, do jeito que quisermos! Mas quando você parte para desenvolver para celulares, a coisa muda de figura.Não vou falar hoje de como é o processo para Android ou iPhone, esses dois merecem um post exclusivo para cada um, hoje vou falar de desenvolvimento usando Java ME, qua abrange uma gama maior de aparelhos, fabricantes e modelos (aí que começa os problemas).Imagine você, qua acabou de instalar um novo aplicativo, todo feliz e contente, um jogo por exemplo. Quem garante que esse joguinho não está lendo os seus contatos e enviando SMS com um spam qualquer? Complicado não? Para isso o Java ME possuí um esquema de segurança, que só permite acesso a determinados recursos do aparelho para aplicativos assinados.Aí que a brincadeira começa!Até ai tudo bem, vou fazer o meu próprio certificado em casa! Não pode (hehehe)! O certificado deve ser de uma autoridade certificadora, cujo certificado raiz esteja instalado no celular (ai é cada um por si, cada fabricante faz de um jeito, vou me concentrar no exemplo da Nokia, que é onde estou mais focado).Então te resta quatro alternativas:Comprar um certificado próprio;Utilizar o processo de assinatura de aplicativos para celular da SunNão assinar a sua aplicação Comprar um certificado próprioEssa pode parecer a saída mais lógica, mas não é a mais barata... para assinar um MIDlet (como é chamado um aplicativo em JavaME) existem dois fornecedores de certificados: A VeriSign e a Thawte. Com preços variando de USD$299 a USD$499 por um certificado Java Code Sign com validade de um ano. É isso mesmo, um ano de validade!Se você optar por comprar um certificado, se prepare, pois o processo é um pouco burocrático, você precisa enviar uma documentação para provar que você é você, no meu caso precisei até fazer uma carta, levar em cartório para reconhecer firma, e enviar para os EUA, ainda bem que aceitaram via PDF pro email, me poupou algumas semanas...Muito provavelmente a entidade certificadora vai tentar entrar em contato com você por telefone, junte a isso o meu mau inglês, ligação para celular vinda do exterior, é só chiadeira. Tenho que reconhecer o empenho da empregada da Verisign em tentar falar comigo em português (de portugal), em espanhol (pra mim não alivia nada) e em inglês mesmo (nossa, como americano fala rápido!).A desvantagem de ter o seu próprio certificado, além do cutos, é que nem todos os aparelhos vêm de fábrica com a última versão dos certificados raizes... aí acontece igual aconteceu comigo, você descobre na hora "H" que o certificado da VeriSign só funciona na série S60 da Nokia, e o da Thawte só funciona na série S40 (isso não cheira a cartel combinado ?)...Utilizar o processo de assinatura de aplicativos para celular da SunNesse caso você não precisa comprar o seu certificado, você manda o seu MIDlet para a Sun, ela vai encaminhar para uma "test house" que vai fazer uma bateria de testes, avaliar se está tudo Ok, se não forem encontrados problemas a Sun te devolce o MIDlet assinado com o certificado dela, que é aceito em 99,9999% dos aparelhos existente na face da terra.Parece ser uma coisa legal, pois você não tem o problema de ficar caçando onde o seu certificado comprado funciona, mas ai vem a parte chata: cada vez que você alterar o seu MIDlet você precisa mandar pra Sun tertar novamente e assinar novamente.Quanto custa? Não dá pra saber a priori, pois depende de quanto tempo vão demorar para testar o seu aplicativo, e o quanto custa testar? Aproximadamente USD$150 a hora! a hora!Para se inscrever no Java Verified Program, você deve preencher uma ficha, reconhecer firma e enviar por carta para a Sun, é um processo que vai demorar um pouquinho rsNão assinar a sua aplicação Por último, mas não menos importante, temos a opção de não assinar a aplicação. E qual o problema disso?O problema é que sem a assinatura o celular ira reclamar, com uma mensagem do tipo "Esse aplicativo não é assinado e pode danificar o seu aparelo, deseja continuar?" é meio assustador prum usuário comum não?Além disso, acesso à rede, dados gravados no cartão de memória, etc necessitarão de confirmação do usuário a cada requisição, uma coisa chata pra caramba...Bom, fico por aqui, mas ainda vou escrever mais sobre como é a publicação em lojas do tipo AndroidMarket e OviStore (Apple AppStore é prum futuro distanta ainda rs).