Pinheiro, Artur e demais colegas,
Venho levantar uma relevante discussão em relação do desenvolvimento de software em Java para ambiente Mobile.
Todos nós sabemos que o uso do Java para desenvolvimento Desktop e Web é o mais recomendado e o mais apropriado, principalmente quando se trata de software livre.
Mas este conceito não se aplica ao ambiente Mobile, por ser um contexto onde os equipamentos são comercializados com o sistema operacional embarcado (Windows Mobile, PalmOS, Symbian etc). O desenvolvimento de aplicações mobile em Java não propiciam portabilidade, compatibilidade e bons desempenhos, pelo simples motivo que os sistemas operacionais embarcados nos equipamentos não possuem suporte padrão ao Java ou ainda não possuem um suporte básico ao Java. Um bom exemplo é se tentarmos instalar uma aplicação desenvolvida para o Nokia N61 no HTC Touch Cruizer, no HP Ipaq 616, no Motorola A31, no Palm Treo Pro, no Psion Workabou G2, no Honeywell Dolphin 7600 etc. A aplicação não irá funcionar pois as API's e SDK's não suportam Java, pois o sistema operacional embarcado é Windows Mobile. O uso de impressoras portáteis também se torna um problema, pois terar-se o uso muito restrito de poucos ou apenas um modelo. Uma aplicação desenvolvida em Java para o Nokia N61 somente vai funcionar nesta linha de equipamentos e com um modelo de impressora, até mesmo em outras linhas de equipamentos da Nokia a aplicação não vai funcionar.
Uma outra consideração importante é que empresas que possuem maior volume de leituras, possuirão maior volume de equipamentos portáteis e o uso de Smartphones se torna desaconselhável devido a fragilidade do equipamento e também ao alto índice de roubo. Neste caso deve-se pensar em coletores robustos.
Por isso faço a pergunta: Vale a pena investir 500 mil, 1 milhão ou outro valor qualquer no desenvolvimento de aplicativos Java para mobile se este investimento irá deteriorizar num curto espaço de tempo e ficará escravizado em um modelo de equipamento e em um modelo de impressora ?
Um dos conceitos do software livre é facilidade e flexibilidade e desenvolver em Java para o ambiente mobile é justamente o contrário, pois não terá opção de escolher qual equipamento utilizar. E se esta linha de equipamento e descontinuada (fato que ocorre frequentemente), simplesmente descarta-se o software ?
Fazendo uma analogia imaginem que fosse possível utilizar o Gsan somente no computador "Dell Vostro 220st", seria um absurdo, não é ? O que está sendo feito no desenvolvimento da solução de automação de coleta de leitura em Java é justamente isso.
Trabalho com computação móvel desde 1996 e possuo umas das principais empresas do país neste setor. Possuímos uma solução de automação de coleta de leitura implantada em mais de 100 empresas de saneamento. Sempre foi nosso desejo desenvolver em Java para o ambiente mobile e nunca foi possível devido a estas limitações abordadas. Infelizmente para o ambiente mobile, considerando o mercado coorporativo brasileiro, os softwares devem ser voltados para Windows Mobile que permitirá utilizar dezenas de modelos de PDA's, PDA-Phone's, Smartphones e Coletores Robustos, não tem como fugir disto.
Fico preocupado, quando vejo empresas de saneamento usuárias do Gsan investindo centenas de milhares de reais num desenvolvimento Java para Mobile (solução de leitura e impressão simultânea) que tem um alto risco de não dar certo ou de se perder num curto espaço de tempo. Por isso abro a discussão e deixo minha contribuição.
Lander Oliveira - Inovação Computação Móvel Ltda
Autor: Lander Oliveira
22 comentários
******Serei bem objetivo em relação às resposta. Pinheiro, Artur e demais colegas, Venho levantar uma relevante discussão em relação do desenvolvimento de software em Java para ambiente Mobile. Todos nós sabemos que o uso do Java para desenvolvimento Desktop e Web é o mais recomendado e o mais apropriado, principalmente quando se trata de software livre. ****** Este site ( www.java.com/en/about/ ) afirma que existem mais de 800 milhões de desktops rodando Java e 2.1 BILHÕES de celulares suportando a plataforma, portanto, Java é recomendado para celulares. Mas este conceito não se aplica ao ambiente Mobile, por ser um contexto onde os equipamentos são comercializados com o sistema operacional embarcado (Windows Mobile, PalmOS, Symbian etc). O desenvolvimento de aplicações mobile em Java não propiciam portabilidade, compatibilidade e bons desempenhos, pelo simples motivo que os sistemas operacionais embarcados nos equipamentos não possuem suporte padrão ao Java ou ainda não possuem um suporte básico ao Java. Um bom exemplo é se tentarmos instalar uma aplicação desenvolvida para o Nokia N61 no HTC Touch Cruizer, no HP Ipaq 616, no Motorola A31, no Palm Treo Pro, no Psion Workabou G2, no Honeywell Dolphin 7600 etc. A aplicação não irá funcionar pois as API's e SDK's não suportam Java, pois o sistema operacional embarcado é Windows Mobile. ****** Este site exibe uma relação de aparelhos que suportam Java www.club-java.com/TastePhone/J2ME/MIDP_mobile.jsp ******Outro site que exibe uma lista de telefones que rodam WINDOWS MOBILE e suportam Java (231 resultados) www.gsmarena.com/results.php3?sName=&idMaker=0&idAvailability=0&nPriceLow=0&nPriceHigh=0&idCurrency=0&idFormFactor=0&idDualSIM=0&idQwerty=0&HeightMax=0&WidthMax=0&ThicknessMax=0&WeightMax=0&idAntenna=0&idOS=6&idDisplay=0&idDisplayRes=0&fDisplaySize=0&idDisplayTech=0&idTouchscreen=0&idCamera=0&idCameraFlash=0&idVideoRecorder=0&idExpansionCard=0&idGPS=0&bWLAN=0&bEDGE=0&bGPRS=0&idBluetooth=0&bIR=0&bEmail=0&bWAP=0&bJava=1&idRadio=0&bMMS=0&idRingtones=0&bGames=0&sColor=&StandBy=0&TalkTime=0&sFreeText= *******Mais um site com lista de telefones que rodam Java (1898 resultados) www.gsmarena.com/results.php3?sName=&idMaker=0&idAvailability=0&nPriceLow=0&nPriceHigh=0&idCurrency=0&idFormFactor=0&idDualSIM=0&idQwerty=0&HeightMax=0&WidthMax=0&ThicknessMax=0&WeightMax=0&idAntenna=0&idOS=0&idDisplay=0&idDisplayRes=0&fDisplaySize=0&idDisplayTech=0&idTouchscreen=0&idCamera=0&idCameraFlash=0&idVideoRecorder=0&idExpansionCard=0&idGPS=0&bWLAN=0&bEDGE=0&bGPRS=0&idBluetooth=0&bIR=0&bEmail=0&bWAP=0&bJava=1&idRadio=0&bMMS=0&idRingtones=0&bGames=0&sColor=&StandBy=0&TalkTime=0&sFreeText= O uso de impressoras portáteis também se torna um problema, pois terar-se o uso muito restrito de poucos ou apenas um modelo. Uma aplicação desenvolvida em Java para o Nokia N61 somente vai funcionar nesta linha de equipamentos e com um modelo de impressora, até mesmo em outras linhas de equipamentos da Nokia a aplicação não vai funcionar. *******A comunicação entre celular e impressora ocorre via blue tooth. A linguagem que formata a conta e imprime os dados não é Java, é uma linguagem de script da própria impressora e isso também vale para todas as impressoras portáteis. Fizemos alguns testes com um smartphone da Motorola e funcionou, fizemos também com outra marca de impressora. Uma outra consideração importante é que empresas que possuem maior volume de leituras, possuirão maior volume de equipamentos portáteis e o uso de Smartphones se torna desaconselhável devido a fragilidade do equipamento e também ao alto índice de roubo. Neste caso deve-se pensar em coletores robustos. *******Sugerimos qualquer aparelho que rode Java, cabe a concessionária escolher em adquirir celulares, palms, coletores... o único requisito é que suporte Java. Em relação a roubos de alguns celulares de fato já foram roubados, o assaltante levou tudo do leiturista, inclusive dos demais passageiros da Kombi! Salientamos que um parelho de celular pode chegar a representar apenas 10 por cento do valor de um coletor mais robusto. Imagine, 10 smatphones por 1 coletor robusto! Por isso faço a pergunta: Vale a pena investir 500 mil, 1 milhão ou outro valor qualquer no desenvolvimento de aplicativos Java para mobile se este investimento irá deteriorizar num curto espaço de tempo e ficará escravizado em um modelo de equipamento e em um modelo de impressora ? *******Favor consultar relação de smartphones que suportam Java. Um dos conceitos do software livre é facilidade e flexibilidade e desenvolver em Java para o ambiente mobile é justamente o contrário, pois não terá opção de escolher qual equipamento utilizar. E se esta linha de equipamento e descontinuada (fato que ocorre frequentemente), simplesmente descarta-se o software ? *******Todo produto tem seu ciclo de vida, nosso objetivo aqui não é discutir marcas ou modelos e o seu ciclo de vida, o que discutimos é a liberdade de escolha, independência de fornecedores, liberdade pra modificar, criar, inovar... Esse é um dos fundamentos do Software Livre. Consideramos que o smartphone é uma evolução dos tradicional coletor ou “Palm”. Fazendo uma analogia imaginem que fosse possível utilizar o Gsan somente no computador "Dell Vostro 220st", seria um absurdo, não é ? O que está sendo feito no desenvolvimento da solução de automação de coleta de leitura em Java é justamente isso. *******Acreditamos que não. Esse item já foi respondido acima. Trabalho com computação móvel desde 1996 e possuo umas das principais empresas do país neste setor. Possuímos uma solução de automação de coleta de leitura implantada em mais de 100 empresas de saneamento. Sempre foi nosso desejo desenvolver em Java para o ambiente mobile e nunca foi possível devido a estas limitações abordadas. Infelizmente para o ambiente mobile, considerando o mercado coorporativo brasileiro, os softwares devem ser voltados para Windows Mobile que permitirá utilizar dezenas de modelos de PDA's, PDA-Phone's, Smartphones e Coletores Robustos, não tem como fugir disto. *******Ótimo. É importante termos uma proposta diferenciada para que o próprio ecossistema possa escolher qual a tecnologia melhor se aplica as suas necessidades. Não afirmamos que a tecnologia Java é a melhor, acreditamos que quem pode definir isso é o mercado! Estamos falando apenas de nova proposta, uma opção de escolha, de liberdade! Fico preocupado, quando vejo empresas de saneamento usuárias do Gsan investindo centenas de milhares de reais num desenvolvimento Java para Mobile (solução de leitura e impressão simultânea) que tem um alto risco de não dar certo ou de se perder num curto espaço de tempo. Por isso abro a discussão e deixo minha contribuição. *******Agradecemos a sua contribuição. A leitura via smartphone foi implantanda inicialmente em meados de outubro de 2007 e trouxe uma série de benefícios às empresas que adotaram. Como somos suspeitos de falar o que consideramos ser bom, deixo a cargo das concessionárias. Em relação a valores, deixo claro que a leitura e a impressão de conta é apenas mais um componente da Suite GSAN e que desconhecemos esse investimento de centenas de milhares de reais.... Leonardo Vieira
www.gsmarena.com/results.php3?sName=&idMaker=0&idAvailability=0&nPriceLow=0&nPriceHigh=0&idCurrency=0&idFormFactor=0&idDualSIM=0&idQwerty=0&HeightMax=0&WidthMax=0&ThicknessMax=0&WeightMax=0&idAntenna=0&idOS=0&idDisplay=0&idDisplayRes=0&fDisplaySize=0&idDisplayTech=0&idTouchscreen=0&idCamera=0&idCameraFlash=0&idVideoRecorder=0&idExpansionCard=0&idGPS=0&bWLAN=0&bEDGE=0&bGPRS=0&idBluetooth=0&bIR=0&bEmail=0&bWAP=0&bJava=1&idRadio=0&bMMS=0&idRingtones=0&bGames=0&sColor=&StandBy=0&TalkTime=0&sFreeText= R: Idem anterior. *******A comunicação entre celular e impressora ocorre via blue tooth. A linguagem que formata a conta e imprime os dados não é Java, é uma linguagem de script da própria impressora e isso também vale para todas as impressoras portáteis. Fizemos alguns testes com um smartphone da Motorola e funcionou, fizemos também com outra marca de impressora. R: Meu comentário foi que a versão atual da aplicação desenvolvida em Java permite somente o uso com impressoras da linha Zebra. A codificação de impressão deve ser programada e atualmente não contempla outros modelos com Linha Seiko, Citzen e etc. No meio ponto de vista é estranho um software livre ser condicionado a modelos específicos de equipamentos. *******Sugerimos qualquer aparelho que rode Java, cabe a concessionária escolher em adquirir celulares, palms, coletores... o único requisito é que suporte Java. Em relação a roubos de alguns celulares de fato já foram roubados, o assaltante levou tudo do leiturista, inclusive dos demais passageiros da Kombi! Salientamos que um parelho de celular pode chegar a representar apenas 10 por cento do valor de um coletor mais robusto. Imagine, 10 smatphones por 1 coletor robusto! R: Inicialmente faço uma correção, os Smartphones mais acessíveis são em média 20% do valor de um coletor robusto. Não se consegue trabalhar com aplicações Java em nenhum coletor robusto. A decisão do uso de Smartphones ou Coletores Robustos é estratégica, normalmente para maiores quantidades você terá um volume de equipamentos parados e danificados muito grande se usar Smartphonhe, fato que provoca sérios prejuízos no processo. A vida útil de um coletor também é bem superior e você tem outras vantagens. A maioria das grandes Utilities utilizam coletores robustos. Mas como já disse a decisão é estratégica, cabe ao software rodar num PDA, num Smartphone ou num Coletor. O que não vai acontercer com aplicações em Java. *******Favor consultar relação de smartphones que suportam Java. R: Como já citado anteriormente, não existe portablidade. *******Todo produto tem seu ciclo de vida, nosso objetivo aqui não é discutir marcas ou modelos e o seu ciclo de vida, o que discutimos é a liberdade de escolha, independência de fornecedores, liberdade pra modificar, criar, inovar... Esse é um dos fundamentos do Software Livre. Consideramos que o smartphone é uma evolução dos tradicional coletor ou “Palm”. R: Concordo plenamente com esta colocação, mas o desenvolvimento Java para Mobile é justamente o oposto disso. As aplicações são direcionadas a modelos restritos de equipamento que podem ser descontinuados em curto prazo reduzindo drásticamente o ciclo de vida do software. O cliente também não terá liberdade de escolha em usar por exemplo um HP Ipaq 116, ou HTC TyTn II ou o Dolphin 7600, porque não haverá portablidade. *******Ótimo. É importante termos uma proposta diferenciada para que o próprio ecossistema possa escolher qual a tecnologia melhor se aplica as suas necessidades. Não afirmamos que a tecnologia Java é a melhor, acreditamos que quem pode definir isso é o mercado! Estamos falando de apenas de nova proposta, uma opção de escolha, de liberdade! R: Entendemos que o investimento está errado, não é o mais correto investir considerável quantia de dinheiro público num projeto com alto nível de limitação. Nosso objetivo é chamar a atenção para este erro para que ele possa ser corrigido a tempo. Não existem muitas opções no mercado mobile nacional, aplicações com portabilidade, eficiência e desempenho devem ser desenvolvidas nativamente para o ambiente Windows Mobile, infelizmente não tem como fugir disto. *******Agradecemos a sua contribuição. A leitura via smartphone foi implantanda inicialmente em meados de outubro de 2007 e trouxe uma série de benefícios às empresas que adotaram. Como somos suspeitos de falar o que consideramos ser bom, deixo a cargo das concessionárias. Em relação a valores, deixo claro que a leitura e a impressão de conta é apenas mais um componente da Suite GSAN e que desconhecemos esse investimento de centenas de milhares de reais.... R: Vide edital 09.009 da CAERN. Inclusive neste edital existe um ponto controvertido que é a aquisição de bobinas e impressoras portáteis junto com o software. Ressalto também que não estou comentando somente a solução para leitura e sim a solução para leitura com impressão simultânea da fatura. Abraços, Lander