Arquivo por categoria desenvolvimento

O Maemo, o Moblin e o MeeGo

A notícia do dia foi o lançamento do MeeGo, que é a fusão de dois projetos: o Maemo (capitaneado pela Nokia) e o Moblin (tendo a Intel por trás).

A primeira coisa que muitos vão dizer é “o N900 mal nasceu e já morreu“, ou então “mal o Maemo apareceu no mercado e já sumiram com ele“.

Para os pessimistas de plantão, algumas informações: assim que o N900 foi lançado, já era sabido que a Nokia trabalhava na próxima versão do Maemo, chamado de Harmatan (ou Maemo 6). Portanto a fusão do Maemo com outro projeto em absolutamente nada muda o destino traçado para o N900.

O que vai determinar a longevidade do aparelho, neste primeiro momento, é saber se a próxima versão do sistema operacional (o agora chamado MeeGo) será instalável no N900. Caso não seja, meu amigo, eu tenho uma triste notícia pra te dar: isso não significa a morte do N900! E o motivo é bem simples: grande parte de todo o sistema que roda no aparelho tem o código-fonte disponível. Portanto, QUALQUER PESSOA pode alterá-lo, melhorá-lo, e disponibilizá-lo (tanto que existe por aí uma versão diferente do kernel para o N900, feita pela comunidade).

A única coisa que se deve ter medo é do abandono da Nokia em relação a bibliotecas que ainda são fechadas, como o navegador (apesar de agora já termos o Firefox), ou bibliotecas de mais baixo nível, como acesso aos módulos de GSM, GPS, que eu não sei se são totalmente livres ou não. Mas essas bibliotecas, uma vez estáveis, não devem sofrer alterações…e pelo que me consta, elas são bem estáveis agora (favor não confundir bibliotecas com programas que as usam).

A história do Moblin é relativamente recente, e ele surgiu junto com os atualmente chamados netbooks. A intenção da Intel ao criá-lo era colocar um sistema operacional totalmente personalizado (e consequentemente otimizado) nos equipamentos que utilizariam o chip Atom. A ideia original era permitir usar um computador mais simples, para coisas mais simples também (como navegar na internet ou usar comunicadores instantâneos) e de uma forma rápida. Por isso o Moblin seria pré-instalado no equipamento, e com um carregamento muito rápido (poucos segundos, não mais do que uns 10). Tanto que algumas placas-mãe possuem no seu BIOS uma versão do Moblin, para quando tudo que o usuário quer é ver algo rápido na internet e não quer esperar alguns minutos para o sistema operacional estar…..hmmm….operacional!

Só que o Moblin sofreu com dois problemas. O primeiro: as pessoas passaram a substituir o notebook pelo netbook, então passaram a querer editar textos, planilhas, ver filmes, armazenar suas fotos…e o Moblin não estava assim tão preparado para isso.

E o outro problema, que veio em decorrência também do problema anterior, é que as pessoas passaram a instalar o Windows nos equipamentos. Infelizmente poucos aceitam mudar aquilo com o qual já estão acostumados. Já tinham Windows no computador de casa, no computador do trabalho, então queriam ter no netbook também. Isso diminuiu o mercado do Moblin.

A intenção da Nokia e da Intel é interessante. Porém, não é nova. A Sun já tinha tentado algo parecido com o Java, e falhou. Alguém por acaso lembra qual era o mote do Java assim que ele surgiu? Seria a linguagem de programação utilizada em computadores, aparelhos móveis, geladeiras, torradeiras, microondas e por aí vai. Só há um pequeno problema….a única coisa em que uma máquina de lavar se parece com uma torradeira é que ambos são ligados na tomada. Então cada equipamento teria que ter a sua máquina virtual…..o que, cá entre nós, é totalmente inviável!

E achar que um sistema operacional irá rodar em tantas coisas como eles imaginam, é um tanto utópico.

Vamos ver o que o futuro reservará para o MeeGo. Ainda é cedo para dizer algo concreto, visto que o sistema sequer existe em sua versão final, e não temos nenhum exemplo prático da sua utilização.

Tags: , ,

Plasma

A imagem acima é de uma tela capturada de uma versão mobile do Ubuntu. Interessante, não?

O plasma, título do post, é um conceito incluído na versão 4 do KDE (um dos ambientes gráficos utilizados no GNU/Linux). O conceito dele é que tudo na tela são plasmoids. A barra de tarefas (que mostra os programas que estão rodando) é um plasmoid, assim como o relógio é outro, o indicador de bateria do notebook, a região onde ficam os ícones de alguns programas minimizados (também chamada de área de notificação ou área do relógio por alguns usuários)….em suma, a tela de um computador GNU/Linux rodando KDE nada mais é do que um monte de plasmoids.

E a aparência inteira da tela pode ser alterada mexendo apenas num único arquivo de configuração.

Para aqueles que estiverem interessados nisso, e em muitas outras coisas legais, em março acontecerá a Bossa Conference (infelizmente, o site está fora do ar no momento em que escrevo). Em 2008 o evento aconteceu em Pernambuco, em 2009 foi em Porto de Galinhas, Bahia. Em 2008 e 2009 o evento aconteceu em Porto de Galinhas, Pernambuco. Mas neste ano será em Manaus, mais próximo da sede do INdT (Instituto Nokia de Tecnologia), mentor do evento.

fonte: Ian Lawrence via RSS do Maemo.org

E agora rodando o MacOS X 10.3

Extremamente lento, praticamente sem utilidade, mas ainda assim interessante!

Cada vez mais está sendo provado o que eu imaginava: basta uma recompilação para que a maioria dos programas GNU/Linux possam ser rodados no N900. O que abre uma gigantesca gama de possibilidades! Daqui à pouco aparece alguém gravando um CD à partir do aparelho, num gravador externo via USB….

fonte: Daily Mobile

Secret Exit: novos jogos a caminho

A Secret Exit é uma produtora de jogos para iPhone/iPod Touch. Ou melhor, era!

Ela anunciou, no fórum do Maemo.org, que está portando alguns jogos para o N900. E colocou algumas imagens dos jogos.

Mas o bom da notícia não é que teremos mais jogos para o aparelho, mas sim que ele está chamando a atenção! E principalmente de quem deve chamar: os produtores de conteúdo!

E o interessante também foi a forma como a produtora resolveu anunciar o fato….indo diretamente ao coração da comunidade. Acho que acertaram em cheio, pois um anúncio no próprio site não faria tanto efeito!

Agora só depende deles mesmos não deixar a bola murchar….na continuação do texto, os vídeos dos jogos.

Leia mais $raquo;

Tags: ,

GTK, Qt, Python, C, sopa de letrinhas?

Quem frequenta o Maemo.org, ou simplesmente passeia pelos repositórios de desenvolvimento/teste já deve ter percebido que existem duas grandes “correntes”: GTK e Qt.

Mas o que elas são? O GTK (GIMP Toolkit) é uma biblioteca gráfica, utilizada para gerar coisas básicas na tela, como caixas de texto, botões, janelas e afins. Ela foi inicialmente criada para ser utilizada no GIMP (um programa, gratuito, de edição de imagens muito popular no GNU/Linux). Mas depois percebeu-se que ele seria útil para criar uma uniformidade entre todos os programas de um sistema operacional (é….no início da era gráfica do GNU/Linux cada programa era o responsável por fazer as suas janelas, os seus menus, os seus botões, o que fazia com que cada programa fosse diferente do outro, não havia um padrão).

E foi à partir daí que todos os programas que rodassem sob o Gnome utilizariam o GTK como base gráfica.

Porém, ao mesmo tempo surgia uma outra biblioteca, para a mesma coisa: a Qt. Inicialmente era uma biblioteca comercial, fechada. Porém, o pessoal do projeto KDE a escolheu, e forçou a empresa a deixá-la livre para usos livres (quem quisesse utilizá-la comercialmente deveria pagar pela licença).

E foi assim durante muito tempo….se um programa era desenvolvido tendo em vista o Gnome, usava o GTK, se tivesse como alvo o KDE, era a Qt. Isso não quer dizer que um programa em Qt não rode no Gnome, ou que um em GTK não rode no KDE! Rodam!! Mas não são perfeitamente integrados ao ambiente.

E o que isso tudo tem a ver com o N900?? Simples: o N900 roda uma versão personalizada de GNU/Linux, e portanto precisa de uma biblioteca gráfica. Por enquanto, no coração do N900 está o GTK. Mas como a Nokia comprou a Trolltech, que é a empresa responsável pelo Qt, ela, Nokia, está num processo de qt-ização de todos os seus aparelhos! Tanto que os aparelhos S60 são capazes, em tese, de rodar aplicativos desenvolvidos em cima do Qt.

Em tese porque na prática o mesmo programa não vai rodar num N97 e num N900 sem que ele seja recompilado….mas pelo menos o código-fonte poderia ser o mesmo.

Isso tudo para explicar porque alguns programas nos repositórios estão em GTK e outros em Qt. A próxima versão do firmware do N900 muito provavelmente já traga o Qt integrado ao sistema, e em sua nova versão.

Tags: , , ,

Um bom lugar para visitar

É a seção de brainstorm do Maemo.org.

Para quem não conhece o termo brainstorm, ele pode ser traduzido como uma dinâmica de grupo onde as pessoas discutem ideias e conceitos até chegar num denominador comum para algo que deve ser feito.

Ali dá para discutir, votar e ver o que será implementado, o que está em desenvolvimento, e algumas ideias que ainda não passam de apenas ideias.

Por exemplo, em consideração está o sincronismo entre o Google Calendar e o Google Contacts com o sistema. Só que na verdade já há uma aplicação, em desenvolvimento ainda, que faz o sincronismo entre os calendários do aparelho e do Google Calendar (ainda não testei). Então é capaz que esse tópico não vá pra frente.

Outro exemplo, mas de algo que já está em implementação, é o MMS. A opção escolhida no brainstorm foi a da comunidade fazer algo. E a comunidade já fez!

Mais um exemplo foi da navegação em modo retrato, também em implementação.

E se alguém tiver uma ideia que considera boa, pode colocar lá!! Vamos lembrar que o Maemo.org é aberto! Qualquer um pode participar dele e colaborar com ele.

Problemas de memória no N900?

Sim!! Pode acontecer! Mas não é algo parecido ao que acontece em outros aparelhos. Não é exatamente falta de memória para rodar aplicativos, mas sim para instalá-los.

Mas como assim?? O aparelho não conta com 32GB de memória? Sim…e não.

No Windows, o “C:” é uma partição, o “D:” é outra, o “E:” outra…e assim vai (eu sei que pode não ser exatamente assim, mas para a esmagadora maioria dos usuários é). Pois os sistemas GNU/Linux não contam com partições! Apenas diretórios…e você “monta” a partição num diretório.

O aparelho conta, na verdade, com 4 partições: a raiz (com 256MB), a “/home” (com 2GB), a “/home/user/MyDocs” (com 27GB) e a “/media/mmc1” (que é o cartão de memória).

E esse sistema de arquivos provoca alguns problemas…por exemplo, os programas só podem ser instalados (por enquanto, quem sabe não mudam isso) na raiz ou na “/home”. Percebeu o problema? Pode chegar um momento em que mais nada poderá ser instalado no aparelho por falta de espaço, já que temos um limite de 2.25GB!

Alguns usuários já estão com um problema derivado disso…e que eu passei ontem. Muitos programas dos repositórios de teste e desenvolvimento são instalados na raiz. E ela é pequena! Resultado? Lotou!! Sem contar um outro bug, já conhecido, que faz com que arquivos desnecessários não sejam apagados dela…só uma reinicialização do aparelho resolve.

Também não adianta tentar reparticionar para aumentar o tamanho da raiz, pois ela fica numa memória separada da principal (é outro chip).

Eu não acredito que alguém vá encher tão rapidamente o aparelho de programas, e que muito menos vá utilizar todos os que instalar! A única coisa que deve ser verificada é se o pacote que se está instalando está otimizado para o N900, de forma a que ele não seja instalado na raiz (que é o padrão), mas sim na “/home”. Essa “otimização” nada mais é do que um empacotamento especial do programa….não é recompilação nem nada disso.

A única forma segura de ter certeza que foi otimizado é instalar programas apenas dos repositórios oficiais (nada dos repositórios de teste ou desenvolvimento). E tampouco instalar programas diretamente pelo terminal.

Claro que há outras formas de contornar o problema e colocar os programas onde você bem entender….mas há poréns, como o sistema de arquivos utilizado (a partição grandona, de 27GB, é uma partição VFAT, mais lenta que as partições nativas do aparelho)…além de serem coisas mais avançadas, onde o usuário estará sujeito a fazer grandes besteiras.

Tags:

Em quais linguagens programar?

Eu ainda não encontrei informações concretas sobre quais linguagens estão efetivamente disponíveis para programar no N900. Uma delas, com certeza, é o C/C++.

Outra linguagem que é possível utilizar é o Python. E creio que também esteja disponível o Perl.

Nativamente, o aparelho não possui suporte a Java. E ainda não há nenhuma informação confiável se é possível instalar a JRE. O problema que eu vejo não é exatamente rodar programas em Java num terminal, mas sim acessar funções específicas do aparelho (contatos, acessar a internet, etc.) ou mostrar telas (no caso de jogos, por exemplo).

A Sun oferece versões embedded da JRE. E também existe o Jalimo. Mas para ter certeza mesmo, só tendo um aparelho em mãos e fazendo testes.

Outra opção também é o Flash.

Mas eu particularmente acredito muito na força do C/C++ e do Python, em conjunto ao Qt. Talvez o principal seja o Python, visto que com ele é possível fazer programas para diversos aparelhos sem necessidade alteração do código, como os aparelhos com Maemo e com Symbian.

Tags: , , , ,

Como programar para o N900

O primeiro passo é instalar o ambiente necessário. Para quem utiliza o GNU/Linux como sistema operacional primário, a coisa é relativamente simples. Mas para quem usa o Windows…a saída é instalar uma máquina virtual usando o VMware ou o VirtualBox, e colocar o GNU/Linux nela. Não existe, por enquanto, forma de criar aplicativos nativos para o N900 sem ser num ambiente GNU/Linux (e eu particularmente acredito que nem haverá).

Os passos para a instalação estão descritos aqui. Essa é a versão atual, um beta 2. Mas de forma sucinta, é necessário baixar este script, para instalação do Scratchbox. Ele é necessário para que se possa compilar programas entre plataformas (por exemplo, utilizar como sistema operacional básico um GNU/Linux num processador Intel, mas compilar o programa para rodar num ARM, que é o processador utilizado no N900).

E depois este script, que instalará o SDK em si.

A instalação do Scratchbox é relativamente lenta, pois muitos pacotes serão baixados da internet. Para aqueles que utilizam o Debian (ou derivados), é só rodar o script. Mas aqueles que utilizam outras distribuições, como as baseadas no Red Hat ou Slackware, é necessário baixar os arquivos compactados (que o script já faz).

Este foi o comando dado no terminal para instalar o Scratchbox na minha máquina:
sudo ./maemo-scratchbox-install_5.0beta2.sh -F -s /work/scratchbox -u aguilar

Onde o “-F” força a instalação num sistema 64 bits (já que o Scratchbox é feito em 32), o “-s” indica o diretório onde ele deve ser instalado, e o “-u” indica o nome do usuário que deve ser criado após a instalação do programa (esse usuário é interno do Scratchbox! Nada tem a ver com os usuários do sistema operacional).

Importante: caso o GNU/Linux utilizado não seja derivado do Debian (e portanto não trabalhe com pacotes no formato .deb), o parâmetro “-s” é obrigatório, e é imprescindível que o parâmetro -F (se necessário) seja o primeiro parâmetro passado! Do contrário, o script poderá tentar baixar os arquivos .deb ao invés dos .tar.gz, e nada será instalado.

Após o Scratchbox estar instalado, é necessário instalar o SDK em si. Para isso, é aconselhável fechar o terminal e abrir um novo, para que algumas configurações especiais estejam disponíveis. E aí é só rodar o outro script. Ele também será demorado.

Após tudo terminado, basta iniciar o simulador executando o login, no diretório onde o Scratchbox foi instalado.

Um bom lugar para obter mais informações sobre o desenvolvimento de softwares para o N900 é a documentação do Maemo.

Tags: ,