sábado, 18 de julho de 2009

A pergunta maldita: Qual a melhor plataforma móvel?

Ola pessoal,

Nas últimas duas semanas a lista de Java ME do SouJava (para se inscrever envie e-mail para j2me-list-subscribe@soujava.dev.java.net) o assunto a respeito do futuro das plataformas mobiles e do próprio JME voltou a gerar flames e opiniões acalouradas e bem parciais ;-) (me incluo nessas opiniões).
Então, resolvi escrever um pouco sobre essa pergunta "maldita": Qual a melhor plataforma móvel?

O Cardápio

Antes de qualquer coisa, é preciso saber quais são as opções entre plataformas e linguagens que demos povoando o mercado:

  • Symbian (S60): Presente principalmente nos smartphones da Nokia.
  • iPhone OS: Sistema operacional criado pela Apple para o iPhone
  • Android: SO criado pelo Google e já adotado pela HTC e Motorola. Logo, Sony Ericsson.
  • Linux: Algumas distribuições de Linux já foram vistas povoando alguns celulares, como a A1200 da Motorola.
  • Plataformas proprietárias: Para os dispositivos mais simples (não smartphones) as fabricantes possuem seus próprios SOs, mais simples.
A Plataforma Java

Porque eu não coloquei o Java como uma plataforma móvel junto com as demais acima? Porque ali preferi listar os SOs, e que são de fato uma plataforma. O Java ME ou FX Mobile são especificações ou linguagens e que com excessão do iPhone OS rodam em todas as plataformas citadas.
Ou seja, podem espernear e gritar a vontade, mas quando se fala em número de aparelhos que sua aplicação pode alcançar, uma aplicação em Java ME tem muito mais potencial do que as demais.

Recursos nativos x Java

É (muito) óbvio dizer que Objective-C (iPhone) ou Symbian possuam mais recursos do que JME por um simples motivo: são as linguagens nativas do telefone. Então é claro que o acesso a um recurso novo ou diferenciado vai estar disponível primeiro nessas linguagens.
Entramos então na questão de que o JCP (Java Community Process) que foi criado para ajudar no crescimento do Java está na verdade atrapalhando o JME, mas isso é assunto pra outro post (bastante polêmico por sinal...), já que ele demora em especificar a API para novos recursos, exemplos: MIDP 3, Location API 2.0 e outras...

Mas, o que dizer de recursos já sedimentados como o bluetooth por exemplo? Eu não preciso aprender como Symbian ou como o Objective-C trata isso, eu preciso saber apenas a API da JSR-82 e eu teria meu aplicativo compatível com todos os devices... lindo não?

E a resposta pra pergunta maldita?

Poderia escrever uma dissertação de mestrado sobre essa pergunta, usar diferentes aspectos de comparação e então chegar a uma conclusão e mesmo assim teria milhares de pessoas que iriam contestar, esperniar e me xingar. Então, eu vou usar uma linha de raciocínio bem simples: número de potenciais clientes.

O pessoal no geral fica se degladiando sobre os SOs dos smartphones e com recursos super modernos, que se pegarmos o Brasil, estão na mão de menos de 30% do usuários de telefone celular.
Então, temos um número enorme de pessoas usando celulares low-end que custam menos do que 150 dólares com recursos (pasmem!!) ainda limitados. Sim, são MILHÕES de celulares sem touch-screen, GPS ou acelerometro? Incrível não?!?! É, mas isso existe ainda! ;-)

E acredite, essas pessoas consomem e também querem utilizar seu celular para algo mais além de simplesmente telefonar, cabe a nós (desenvolvedores, designers, pesquisadores, gerentes, etc) oferecer a esses usuários serviços e softwares simples de usar e bonitos.

E adivinhe só, qual a linguagem que "ataca" principalmente esses telefones? Sim, é o "condenado" Java ME! Não há números exatos (e seria quase impossível conseguir algo verdadeiro), mas o número de celulares low / middle end é esmagadoramente maior do que o número de smartphones disponíveis por ai.
Além disso, seu aplicativo Java também irá rodar nesses smartphones (menos no iPhone).

E o mercado corporativo?

Vamos imaginar uma situação e VOCÊ responde:
Seu cliente chega e diz que precisa colocar em campo uma força de vendas automatizada, mas esses trabalhadores também vão usar o dispositivo para fazer ligações, ou seja, são telefones celulares. E ele tem um contrato com uma operadora para conseguir os telefones mais baratos e que além disso ele já tem uma base com vários Nokia, Motorola e alguns LG (!!) mas que ele ta pensando em adquirir mais alguns que você aconselhar.
Ah, e além disso, esse telefone passa por situações onde ele pode cair, riscar e em sua grande maioria é operado por pessoas com pouco relacionamento com a tecnologia.

Me diga você, o que você escolhe?

Bom, podem começar os flames e xingamentos. Mas essa é a minha opinião, pois apesar de não ser algo com totais recursos, continua sendo uma linguagem de fácil aprendizado, menos segmentação e maior número de possíveis usuários.

Abraços
Neto

sábado, 4 de julho de 2009

Porque as pessoas se viciam no Twitter ?!?

Ola pessoal,

Sei que algumas pessoas devem estar se roendo pra ver um trecho de código aqui, ou então saber mais detalhes do BotSpot1, mas o post anterior fez um "sucesso" que eu não esperava. Um pouco inclusive por conta do Twitter, uma ferramenta onde cada vez mais gente começa sua experiência de Web 2.0 e daí em diante, se vicia. Então, por isso resolvei analisar um pouco porque as pessoas acabam se viciando em algo que na sua essência é extremante SIMPLES!
Só para vocês terem noção, ao buscar no Google as palavras (juntas) TWITTER e ADDICTED o retorno é de (espantosos) 32.1000.000 resultados!!!

Simples assim!

A grande maioria das pessoas passa sua vida inteira tentando ter idéias brilhantes, e principalmente o pessoal que trabalha com tecnologia quer marcar o seu "nome" na história inventando um serviço, um software ou qualquer coisa que todos usem (mesmo que o autor não ganhe nada) e que se torne uma febre mundial.
E como a maioria das grandes idéias, o Twitter veio de um momento de crise e foi resultado da melhoria de uma idéia. Essa história pode ser vista com mais detalhes no post "Como nasceu o Twitter" de Kris do blog Agrega.

Limitação ou inovação ? ;-)

Mas afinal, o que há demais em uma página simples (sem refresh automático), com um campo de texto com limite de 140 caracteres e abaixo uma lista do que os seus "amigos" estão fazendo ou falando?

Esse é justamente o motivo do sucesso. A simplicidade da sua interface faz com que mesmo os usuários não muito familiarizados com a tecnologia ou os com uma infra-estrutura precária possam participar.
E também, o que parece ser um limite do seu post é outro grande fator de sucesso, já que ler 140 caracteres é algo muito mais rápido do que ler posts de blog ou noticias inteiras. O seu seguidor pode ter uma "introdução" sobre o assunto e ai escolher se quer saber mais ou não e isso é fundamental em uma época onde tempo livre é algo extremante raro.

Fazendo amizades...

Isso sem falar o quanto o Twitter está aproximando as pessoas. Através dessa ferramentas os laços de amizade entre as pessoas vem se "fortalecendo" pois é possível saber mai facilmente o que fulano ou ciclano anda fazendo ou pensando. Além disso, é uma ótima forma de se pedir a opinião pra diversos amigos de uma vez só ou até tirar uma dúvida rapidamente! :-)

Também se tornou comum as celebridades (ajudadas por assistentes ou não) conversarem com o público, divulgarem seus shows, suas músicas ou simplesmente contar o que acabaram de jantar.

Ou seja...

O Twitter passou de uma simples idéia na Web 2.0 para se tornar protocolo de comunicação de diversos aplicativos que ficam coletando informações e com isso uma mania. Onde as pessoas pensam primeiro em "colocar no twitter" do que simplesmente contar para um amigo ou para sua namorada. Sem falar no caso de pessoas que trabalham uma do lado da outra e ficam sabendo noticias a respeito do seu "vizinho" através do Twitter.

Há, claro, aqueles que usam muito isso a seu favor, seja aumentando o seu networking ou até recebendo newsletters de forma mais rápida e eficiente, já que é você quem determina quem você quer seguir e pode mudar isso quando quiser.

Não usa o Twitter? Experimente por 1 semana twittando e seguindo seus amigos e algumas celebridades (eu gosto muito dos humoristas...) que você terá sua própria opinião!

[]s
Neto

sexta-feira, 3 de julho de 2009

Compartilhando... sua vida...

Esse post não tem nada de técnico, trecho de código ou algum tutorial. É apenas uma curta análise e a minha opinião pessoal sobre o crescimento incrível dos serviços de Web 2.0 com cunho "social".

É incrível como hoje em dia tudo tem que ser compartilhado: As fotos da últimas festa, a lista das músicas que você ouve durante o dia (e as próprias músicas), o que você está fazendo num determinado momento, onde você está, qual foi o percurso que você fez no treino de corrida da manhã e até informar as pessoas o que você esta comendo.
E o mais engraçado é que algumas pessoas "acusam" o Google de ler seus e-mails (por causa do GMail), saber quem são seus amigos (Orkut), saber em quais sites você navega (Chrome) e mais uma série de informações que ele recolhe através de seus serviços, mas não reclamam de expor sua vida completa através de diversas ferramentas na Internet.

Isso sem falar da sensação do momento: Twitter!
Hoje em dia celebridades e anônimos passam o dia emitindo opiniões, trocando noticias, links e até fotos. Na minha opinião o maior exemplo de que o Twitter virou a principal media foi a morte do Michael Jackson. Eu (pelo menos) fique sabendo pelo Twitter antes de ler em qualquer site de noticias "convencional".
Outra coisa que fascina no Twitter é como ele é capaz de aproximar pessoas. Você se acha mais amigo de fulano simplesmente porque sabe que naquele momento ele está em uma reunião X discutindo o assunto Y e tem uma certa opinião.

E por fim, mas não menos importante, o melhor é ter tudo isso na palma da sua mão. Se foi o tempo em que tínhamos que ter um trambolho (computador) ligado fisicamente a um cabo pra ter acesso a tudo isso!
Basta colocar seu celular pra fazer algo a mais do que receber chamadas e dar toques a cobrar nos seus amigos. Com alguns programinhas instalados no seu celular você pode:

  • Acessar MSN, GoogleTalk ou qualquer outro programa de MI.
  • Checar seu e-mail.
  • Atualizar no mapa a sua localização atual através do Google Latitude.
  • Postar no twitter que acabou de entrar no ônibus e que está atrasado.
  • Tirar uma foto de um amigo que não via a muito tempo e imediatamente postar no Twitter e subir também para o seu álbum no Facebook ou MySpace.
  • Ouvir sua música preferida e atualizar no Last.FM que você acabou de ouvir.
Enfim, hoje não há invasão de privacidade, mas sim um compartilhamento tão grande de informações que a estamos perdendo a noção do que é privado ou público. Só espero que isso não gere uma paranóia e tudo isso comece a retrair.

Bom, é isso... depois volto com os códigos Java e outras coisas mais.

Abraços
Neto

quarta-feira, 1 de julho de 2009

Começando com Sun SPOT

Ola pessoal,

Após ver o pessoal ganhando spots no M3DD e também depois de algumas demonstrações do Roger Brinkley, eu fiquei ainda mais curioso e com vontade de fazer algumas "brincadeiras" com esse interessante dispositivo. Foi então que lembrei que aqui no INdT temos dois kits desses e com isso poderia bolar alguma coisa para começar a entender o funcionamento desse "negócio".

Afinal, o que é o Sun SPOT ?

Trata-se de um dispositivo criado pela Sun como o objetivo de promover a pesquisa e experimentos utilizando a tecnologia JME. Como mostra a figura ao lado, ele é composto por:

  • Sunroof: Uma capa de acrilico para proteger a placa e compor o spot.
  • Sensor board: Uma placa com sensores de temperatura, luminosidade, acelerometro, 8 leds e dois botões.
  • Processor board: Um pequeno processador que receberá suas MIDlet (SIM, MIDLETS) e irá fazer todo esse conjunto funcionar.
Além disso ele possui um rádio transmissor que permite que ele se comunique com uma estação radio-base que normalmente fica ligada via USB em um PC (Mac, Windows, Linux, etc) com uma aplicação que possa fazer a interação que seja necessária.

Gostei, como consigo um?

Então, esse é um grande problema! Devido ao fato dele possuir um rádio transmissor ele se torna um dispositivo que precisa da homologação da ANATEL, e isso é um processo altamente burocrático e demorado.
Você pode tentar importá-lo, comprando no site Sun SPOT World, mas talvez vá ter alguns problemas. Outra opção é que em alguma viagem que você (ou um amigo) faça aos EUA, você pode comprar o dispositivo por lá e trazer na mala. OU, ser muito sortudo como o Igor Medeiros ou muito chorão como o Alexandre Gomes e ganhar um quando alguém da Sun estiver em algum evento que você está! :)

Instalando

A instalação é bem tranquila, basta visistar o site Sun SPOT World Manager e fazer a instalação pelo web start oferecido. O problema é, se você tem um Mac OS X (o meu caso) o funcionamento pode não ocorrer tão bem. E aí, ter que apelar para um VirtualBox ou VMWare, eu estou usando na VMWare.
Depois, o primeiro passo é atualizar o firmware dos seus spots via Spot Manager.

BotSpot1 - O SPOT que usa o Twitter.

Para não estender esse post, não vou entrar em detalhes de código. Vou apenas apresentar o BotSpot1. É uma aplicação que fiz em parceria com um amigo e que tem como objetivo ler de hora em hora a temperatura da sala onde trabalho, enviar via rádio para a estação radio base e a aplicação host publica essa informação no twitter.

Para acompanhar, basta visitar o perfil do BotSpot no twitter acessando http://www.twitter.com/botspot1. Por enquanto ele apenas informa através do microblog, a próxima feature que estará disponível vai ser a interação com o spot através de posts direcionados para ele (usando @botspot1).

Nos próximos posts vou explicar como criar uma aplicação, como fazer o deploy no spot e como rodar uma host application.

Fique ligado!

Abraços
Neto