22 março 2008

Arena de celulares: GSMArena

Mais do que uma simples página da internet, o site GSM Arena (www.gsmarena.com) pode ser considerada uma comunidade em rede da WEB 2. Isto porque lá podemos obter informações técnicas de diferentes aparelhos, de diferentes fabricantes, avaliações com comentários dos usuários que conhecem o aparelho, vídeos relacionados, etc. Existe também o ranking dos mais votados, média de votos por aparelho, e um recurso super bacana que permite realizar comparações entre modelos de celulares.

Com tanta informação disponível percebe-se que o objetivo do site é permitir que as pessoas possam ter informações detalhadas do aparelho pretendido, sem que haja influência de grandes fabricantes, pois não é possível fazer a compra por esse site. Ali, todo o conhecimento está sendo construído pela comunidade.

Por exemplo, existe um ranking dos mais votados na página principal do site, mas só é considerado se o celular já está no mercado e já possui mais de 1000 votos.

Uso na prática do GSM Arena

Quando preciso obter os dados técnicos de um aparelho, ou quando estou na dúvida se comprarei o modelo X ou Y, vou lá e comparo os dois. Depois tomo a decisão baseado nas informações coletadas por lá. Tomamos como exemplo o desejo de querer comprar um Nokia N95 (http://www.gsmarena.com/nokia_n95_8gb-2088.php).

Então, se estiver querendo comprar um celular novo, através do site GSM Arena posso obter as dicas de outros usuários. Tem também o preço estimado para compra. Veja a imagem abaixo:
Na ilustração 1 da figura acima, podemos ler as revisões técnicas disponíveis, acessar a função de comparação, ver as imagens do aparelho, visão de 360 graus ("muito massa!"), ver videos e manuais associados deste aparelho.

Na ilustração 2 temos as principais características do dispositivo móvel, tais como: tamanho de tela, memória, informações da bateria, das features (aplicativos), etc. O comentário dos últimos usuários está logo abaixo desta seção.

Na ilustração 3 temos as lojas que possuem preços para vendas. E logo abaixo, um gráfico com a média das notas, baseado em critério de design, features e performance.

Conclusão
O GSM ARENA é um exemplo de portal informativo da web 2 para conhecer novos e velhos aparelhos, dito e avaliado por quem usa celulares no dia a dia. Recomendo.

05 março 2008

Motorola divulga Guia do desenvolvedor Java ME

Quer saber como instalar um MIDlet? Como compilar e depurar uma aplicação? Leia este guia.

A Motorola divulgou este mês no seu site voltado para desenvolvedores, o guia do desenvolvedor para Java ME (Java ME Developer Guide for Motorola OS). Este guia contém informações de todos os telefones que usam o sistema operacional da Motorola, como MotoRazr2, V9 e MotoRizr Z3, tudo num simples documento.

Citando a seção que introduz o guia:

“This guide provides useful information for developers who want to develop JavaTM ME (Micro Edition) applications—known as MIDlets—for Motorola handsets running Motorola OS. It includes information on support APIs, details on developing and packaging applications for installation, as well as a step-by-step procedure for setting up a debug environment. It does not teach you about Java ME or provide basics on developing Java ME applications; we assume you already know how to do that. ”

Ou seja, várias informações úteis das APIs suportadas bem como um passo a passo de como rodar e depurar o ambiente de desenvolvimento.

Para baixar você precisa fazer um pequeno cadastro no site.

04 março 2008

Open source e sua influência no desenvolvimento de software – parte 1

Práticas open source no desenvolvimento de software aumentam a qualidade dos produtos derivados da engenharia de software?

Revisão 001 (16/03/2008).

A popularidade de software open source está crescendo a cada dia que passa e diversos produtos de amplo conhecimento popular, tais como, sistema operacional Linux e servidor de aplicações Apache. Estes softwares estão sendo criados e mantidos, principalmente, baseados em práticas Open Source, e com a Internet, tornou-se um grande e dinâmico repositório de softwares livre/aberto em diversas áreas de negócios. Alguns estudos de Gacek e Arief (2004) confirmam que práticas open source é uma forma diferenciada de trabalho com impactos positivos às fábricas de software tradicionais.

Apresentarei aqui uma série de posts sobre resultados de um estudo em disciplina de mestrado realizado ano passado (2007), sobre as influências, os efeitos e colaborações do desenvolvimento de software open source na engenharia de software, processo de desenvolvimento e na economia. Estou aprofundando um pouco este estudo para posterior publicação em congressos da área, mas por hora, compartilho as principais idéias investigadas.

Algumas definições relevantes

Os pesquisadores citados acima afirmam que o termo Open Source refere-se, freqüentemente, a um processo de desenvolvimento de software que dá suporte a contribuições, via Internet, de desenvolvedores dispersos geograficamente e que, também, contém um requisito básico, o acesso ao código fonte.

Por outro lado, outros estudiosos como Elliott e Scacchi (2004) destacam uma verdade indispensável, um pacote de open source não necessariamente significa ser livre (no sentido de ser de graça, sem custo); um programa livre é aquele que pode ser usado, copiado, modificado e redistribuído, ou seja, é um sistema que dispõe de total liberdade para que seja realizada qualquer intervenção no código. Um software que é coberto por uma licença livre, não significa que esse software não terá custo para ser operacionalizado. Dependerá da lincença de uso. Assunto que será tratado mais a frente. Ter garantia de acesso ao código fonte e fazer com ele certas coisas é que está mais próximo da
liberdade dita acima. Mas, como observou Patricia (ver comentários), nem todo opensource é software livre.

Open source possui várias peculiaridades que se modificam consideravelmente de projeto para projeto. Os estudos de Gacek e Arief (2004) propõem uma classificação em dois grupos de características nos projetos open source: as Comuns e as Variáveis.

Classificação de características de projetos open source segundo Gacek e Arief (2004)

Comuns

Variáveis

Característica

Aderência à definição de open source e a usuários-programadores


Esta significa que um desenvolvedor é um subconjunto dos usuários de open source e, desta forma, é correto afirmar que todos os desenvolvedores são usuários, mas a recíproca não é verdadeira. Aquela determina se a distribuição de um software, em particular, baseia-se nos critérios do OSI (Open Source Initiative).


Pontos de Início de um Projeto

Um projeto de open source é iniciado de um já existente em código fechado (no geral).


Motivação

É uma questão pessoal. Os desenvolvedores desejam ganhar respeito e reconhecimento através do reconhecimento da comunidade. Estudantes podem aumentar suas chances na carreira ganhando experiência no desenvolvimento de um projeto real.


Comunidade

É organizada em estruturas restritas ou liberais, na qual ocorre a centralização ou descentralização na tomada de decisão a depender da composição escolhida. Quanto ao destaque de um componente numa organização deste tipo, a mesma ocorre quando há o reconhecimento do grupo, decorrente das contribuições realizadas por um indivíduo.


Suporte ao Desenvolvimento de Software

Requer um processo similar aodesenvolvimento de software tradicional. Desta forma, é imprescindível que
necessidades específicas geradas pelos desenvolvedores distribuídos tenham algum apoio efetivo, tais como: modularidade, visibilidade da arquitetura do software, documentação e teste, aceitação de submissões, ferramentas e suporte operacional.


Licença

Vários tipos de licenças estão de acordo com a definição de open source OSI e vários destes, garantem que, se algum código for usado em outro software, o mesmo estará sob os termos da licença original.


Tamanho

A dimensão da comunidade e da base de código varia fortemente de projeto a projeto.

Para melhor compreender um projeto open source temos que analisar o seu processo de desenvolvimento, ou seja, como o software open source se caracteriza por um conjunto de atividades necessárias para criação eficaz de um programa. Assunto este para o próximo post.

O Sistema Operacional Linux é o grande exemplo do que esse modelo pode construir. O video abaixa demonstra essa analogia. Obs. trata-se de um comercial da IBM.





Do ponto de vista prático, produtos ou serviços open source trazem oportunidades para empresas? Compartilhar seus produtos com as comunidades em rede, promove a marca e permite maior interesse dos usuários? essas e outras questões serão discutidos no decorrer dos próximos posts.

Para saber mais, procure no google e leia os seguintes artigos:

  • The Many Meanings of Open Source - Gacek, Cristina e Arief, Budi. (2004), University of Newcastle Tyne, England, IEEE Software Computer Society.
  • Open Source Definition - OSI, Open Source Initiative (2007) http://www.opensource.org/docs/definition.php.
  • Mobilization of Software Developers: The Free Software Movement - Elliott, M. S. e Scacchi, W. (2004).
Créditos desse estudo também se devem aos meus colegas:
Ana Carina M. Almeida, Cleyton C. da Trindade e Marcio M. de Souza