Arquivo por categoria aplicativos

Atualização de firmware no ar!

O PR1.3 foi lançado, acho que bem antes do que todos imaginavam.

Ainda não encontrei o changelog, mas assim que avistá-lo, o publicarei. Algumas alterações que foram divulgadas em diversos sites:
- acesso à Ovi Music Store (onde a loja estiver disponível)
- suporte ao Nokia Ovi Suite adicionado
- diversas correções de bugs e melhorias para aumentar a performance

Todas as dicas já divulgadas para atualizar continuam válidas: desabilite todos os repositórios, exceto os oficiais da Nokia e remova programas se necessário. Também não esqueça de fazer o backup completo!

Eu precisei remover um jogo (o Brain Party) pois ele estava usando uma biblioteca que gerou uma incompatibilidade. Caso o firmware não seja atualizável à partir do próprio aparelho por problemas assim, a solução é tentar remover a biblioteca problemática (e o correspondente programa que a usa). Para isso é preciso usar o terminal. No meu caso ele reclamou da libgles1-sgx-img. Bastou fazer isso no terminal (como root):

apt-get remove libgles1-sgx-img

E a biblioteca, assim como o jogo, foram removidos, permitindo a atualização do firmware pelo próprio N900 (que é sempre a opção mais saudável, pois assim não se perdem configurações nem programas instalados).

Dica aos programadores em Python

Esta dica é boa para aqueles que estão programando em Python para o N900.

Em programação existe uma ferramenta chamada profiler. Com essa ferramenta é possível analisar um programa enquanto ele está rodando. É diferente de debugar (onde você acaba executando o programa passo a passo para ver o que está acontecendo).

O profiling é extremamente útil (e muitas vezes necessário) para otimizar o código. Por exemplo: seu programa está com algum gargalo, em alguma operação, e você não consegue identificar onde é, devido à sua complexidade. Através de um profiler você talvez consiga essa informação, pois ele vai indicar quantas vezes (e por quanto tempo) um método ou função do programa foi chamado.

Em alguns casos também mostra a utilização de variáveis, e às vezes dá até para descobrir vazamentos de memória através dele (objetos que são criados, mas depois de utilizados, por algum motivo qualquer, não são destruídos).

O Python possui um esquema de profiling, porém por motivos legais (possui código proprietário), parte dele não está disponível de forma fácil (nos repositórios), o que faz com que não seja possível utilizá-lo. Parte do profiler vem na instalação padrão, mas outra parte precisa de um pacote à parte.

O pedaço que vem na instalação padrão do Python é a que gera as informações de profiling. E a que falta é justamente a parte que interpreta essas informações.

Se você mandar instalar esse outro pacote, receberá esta mensagem:

sh-2.05b# apt-get install python-profiler
Reading package lists... Done
Building dependency tree... Done
Package python-profiler is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package python-profiler has no installation candidate

A solução para isso é baixar e instalar o pacote na mão. No meu caso instalei no Scratchbox, mas no próprio N900 é igual.

Como o Maemo é baseado na família Debian, fui até o site dessa distribuição buscar o nosso pacote fujão. Neste link você verá todas as possibilidades.

Como usamos o Python versão 2.5, baixei a equivalente a essa versão, que é a 2.5.2-1 (nessa página basta selecionar de qual servidor quer baixar o arquivo). Após isso, é só mandar instalar (como root):

dpkg -i python-profiler_2.5.2-1_all.deb

E usar como manda a documentação do Python e a Wiki do Maemo.org.

Novo firmware e MeeGo

A notícia já é velha (mesmo considerando que foi noticiado hoje): a próxima atualização do firmware do N900 (o PR1.3) trará, além de várias correções no sistema e a nova versão do Qt (a 4.7), a possibilidade de fazer dual-boot com o MeeGo. Não que isso não seja possível hoje….é perfeitamente viável e fácil de fazer, mas você precisa ter um computador e o cabo USB a mão.

Há duas boas novidades nessa notícia. A primeira é que haverá uma nova atualização de firmware. Mas isso já não era muito segredo, visto que no Bugzilla muitos erros foram considerados “arrumados e colocados na próxima atualização”. Se não há a expectativa de uma nova atualização, não há porque corrigir erros (apesar que à partir de agora eu acredito que a comunidade deverá tomar posse disso, já que o Maemo é um sistema morto).

A outra boa notícia é que o N900 continua sendo a base do MeeGo no quesito aparelhos móveis. Há muito tempo se fala num tal de N9, com algumas fotos publicadas por aí. Bem, na minha humilde opinião, acho que esse aparelho não existe. Até agora não vi prova real nenhuma de que ele não seja uma mera montagem e fomentado à base de muita especulação.

Uma reclamação constante de quem acompanha o desenvolvimento do MeeGo é sua interface. Realmente é algo um tanto quanto pobre. Mas devemos lembrar que essa é a interface base do sistema! Como qualquer Linux da vida ela pode ser total e completamente alterada. E no texto que originou a notícia, no MeeGo.com, está bem claro: neste momento eles estão tentando garantir que tudo funcione corretamente, para que a primeira versão com a interface móvel provoque uma boa experiência ao usuário.

Traduzindo: a interface do MeeGo hoje não será aquela que virá na primeira versão efetivamente instalável no N900. Ou pelo menos assim eu espero…

Agora a pergunta que não quer calar: quando isso tudo estará disponível? O MeeGo possui um cronograma, que até agora foi seguido à risca. Portanto é possível dizer que até o final deste mês de outubro tenhamos uma versão final. Quanto ao firmware do N900 já é um pouco mais difícil dar um prognóstico visto a novela que foi o PR1.2. Mas acho que dá pra dizer que sairá ainda neste ano.

ATUALIZAÇÃO (créditos para o leitor igorlt, do Twitter)

Um editor do The Nokia Blog enviou à Nokia uma mensagem questionando sobre o dual-boot no N900. A resposta que ele recebeu diz que o N900 é utilizado como base de desenvolvimento do MeeGo para plataformas ARM, mas que a Nokia não pretende liberar uma versão para consumidores finais do firmware contendo o dual-boot. Ainda acrescenta que o texto no MeeGo.com foi direcionado apenas para a sua audiência: os desenvolvedores.

Nada que fuja ao que já havia sido informado desde o lançamento do MeeGo: que o N900 não o receberá oficialmente. Isso significa apenas que não vai surgir na tela do aparelho a exclamação amarela de atualização para a instalação do MeeGo.

É a mesma coisa com modo R&D, que existe apenas para que desenvolvedores utilizem. Mas absolutamente nada impede que um usuário comum não possa usá-lo também.

Apresentando o aptitude

O aptitude é um programa auxiliar para instalação, atualização e remoção de pacotes. Ele está no repositório extras-devel.

A principal função dele é poder baixar aqueles programas que, por qualquer que seja o motivo, não estão disponíveis para download por via normal na Ovi Store.

Não funciona com programas pagos! Esses continuam sendo inacessíveis.

Após instalado o aptitude colocará um ícone no menu do aparelho. O programa possui uma interface gráfica quando utilizado no computador, porém no N900 sempre que tentar iniciá-lo, ocorrerá um erro e ele será fechado. Pelo menos por enquanto o seu uso é exclusivo via terminal.

Mas como baixar um programa na Ovi? São precisos alguns passos. O primeiro é atualizar a lista de pacotes (todos os comandos como root):

Nokia-N900:~# aptitude update

Depois temos que procurar o nome correto do programa. Digamos que eu quero o Nokia Panorama.

Nokia-N900:~# aptitude search panorama
p   morphoquickpanorama                 - Morpho QuickPanorama Free Trial
i   panorama                            - Capture panoramic images on the go

O “p” indica que está nos repositórios, e o “i” que ele já está instalado no aparelho. O que está ao lado da letra é o nome do programa! É ele que usaremos para baixá-lo:

Nokia-N900:~# aptitude download panorama

Nesse caso, o nome do programa era o mesmo da busca, mas se mandar buscar por “hamster”, o jogo que está na Ovi, receberá esta resposta:

Nokia-N900:~# aptitude search hamster
p   crazy-hamster-lite       - Crazy Hamster Lite

Ou seja, para baixar, deve usar “crazy-hamster-lite”.

E finalmente, mandar instalar o pacote:

Nokia-N900:~# dpkg -i panorama_2.0.3_armel.deb

Para ver todas as opções do aptitude digite “aptitude –help”. Digitar o comando sem nenhuma opção fará o aparelho tentar abrir a interface gráfica e dará erro.

Agora duas curiosidades. O “apt-get” possui um easter egg. Tente instalar o pacote “moo”, e verá isto:

Nokia-N900:~# apt-get moo
         (__)
         (oo)
   /------\/
  / |    ||
 *  /\---/\
    ~~   ~~
...."Have you mooed today?"...

Uma simpática vaquinha. O aptitude também possui um easter egg, mais bem humorado:

Nokia-N900:~# aptitude -v moo
Realmente não existem Ovos de Páscoa neste programa.
Nokia-N900:~# aptitude -v -v moo
Eu já não lhe disse que não existem Ovos de Páscoa neste programa?
Nokia-N900:~# aptitude -v -v -v moo
Pare com isso!
Nokia-N900:~# aptitude -v -v -v -v moo
Ok, ok, se eu lhe der um Ovo de Páscoa você irá embora?
Nokia-N900:~# aptitude -v -v -v -v -v moo
Tudo bem, você ganhou.

                               /----\
                       -------/      \
                      /               \
                     /                |
   -----------------/                  --------\
   ----------------------------------------------
Nokia-N900:~# aptitude -v -v -v -v -v -v moo
O que é isso? Isso é um elefante sendo comido por uma cobra, é claro.

Dica de uso do aptitude do leitor do fórum fabricio.a.d, neste tópico.

Dica do easter egg lido na Wikipedia.

Panorama, mais um programa para fotos

Fotos panorâmicas são aquelas fotos mais compridas, nos quais mais detalhes aparecem. Já foi falado aqui sobre o Morpho Quick Panorama, que era uma versão demo (e que depois teve uma versão completa lançada, mas por ser um aplicativo pago, indisponível no Brasil).

Ele tem uma limitação, que é o tamanho da foto: a altura é de no máximo 480 pixels. Ou seja, você fica com uma foto aquém da capacidade do N900.

Mas há um novo programa para tirar fotos panorâmicas na Ovi Store, e gratuito. E o que chama ainda mais a atenção: da própria Nokia! Quem diria que a Nokia faria algum programa para o N900…..deve ser por isso que tá chovendo tanto ultimamente.

Mas infelizmente ao tentar acessar a página dele na loja, recebo aquela linda mensagem de que o programa não está disponível para o meu país. Só que eu não desisto facilmente, e com a ajuda do Tor é tranquilo instalá-lo!

Outra forma de instalar o programa é através da linha de comando e usando o aptitude, que é um “substituto” do apt-get. Sobre ele vale a pena falar em outro texto, portanto só vou dar os comandos (execute-os como root, e, obviamente, depois de ter instalado o aptitude dos repositórios):

aptitude update
aptitude install panorama

Graficamente ele é muito mais interessante que o Morpho, e me pareceu também mais útil! Infelizmente uma captura de tela dele é meio impossível, pois nada seria mostrado (já que na tela estaria a imagem exibida pela câmera, e isso não é capturado, ficando um quadro preto).

A utilização é simples. Quando aberto, vai exibir a imagem da câmera, e no canto inferior uma barra mostrando o progresso da panorâmica. Assim que você pressionar o botão de foto, a primeira imagem será capturada. Assim que o programa avisar, mova-se para qualquer um dos lados (ele vai identificar para qual lado você se moveu), e assim que chegar no ponto correto, automaticamente tirará a próxima foto! Será mostrada na tela um identificador visual de onde é esse ponto correto.

Quando tiver finalizado, pressione novamente o botão da câmera. E aí aguarde até que o processamento da foto seja finalizado (é demorado).

Comparando o resultado da foto do Panorama com o do Morpho, diria que o programa da Nokia é superior! Principalmente pelo fato da foto não ser “diminuída”.

Mas o mais interessante de tudo não é o programa em si, mas que é um programa feito pela Nokia. Quem sabe não venham mais coisas boas por aí….

Desktop Activity Manager e Extend Contacts Search

Duas dicas úteis. Primeiro o Extend Contacts Search.

A busca de contatos no aparelho é feita apenas pelo nome, inicialmente. Instalando esse programinha a busca passa a ser feita por apelidos, telefones, emails e nome de usuário de mensagens instantâneas.

Na verdade ele não é um programa, mas um plugin que fica acoplado ao programa de Contatos. Não é necessário nada para ativá-lo nem para usá-lo….exceto instalá-lo, claro.

Já o Desktop Activity Manager ajuda a resolver um problema muito citado no fórum: a perda das configurações dos desktops (sumiço de atalhos, widgets, contatos e afins das telas).

Na verdade ele é mais poderoso que isso: permite criar perfis de uso diferentes, onde cada perfil possui suas configurações de telas. Para alternar entre uma e outra basta ir ali no menu de controle, selecionar o programa, e configurá-lo/selecionar o perfil desejado.

Você pode por exemplo ter um perfil “trabalho” onde na sua tela está sua agenda, e algumas notas, como pode ter um perfil “lazer”, tendo atalhos para alguns joguinhos, e alternando entre eles automaticamente através do Alarmed (já que o Desktop Activity Manager também pode ser usado via linha de comando).

Para usá-lo no terminal, basta dar uma lida na ajuda do programa. Vá no terminal, e como usuário comum (não faça nada como root neste caso), digite isso:

activity help

Ambos os programas estão no repositório extras.

MeeGo no cronograma

A versão 1.1 do MeeGo está programada para ser lançada em outubro. Essa versão é aquela que se espera que seja plenamente instalável em aparelhos móveis (a.k.a. celulares).

O Gizmodo deu uma notícia dizendo que há gente que já portou o sistema para um Nexus One, um HTC Desire e um tablet Dell Streak. Os 3 aparelhos rodam Android, então não é nada excepcional esperar que o MeeGo, um projeto código-aberto baseado em Linux, assim como o Android, rode neles.

Colocaram inclusive um vídeo de um aparelho da Dell (que pelo tamanho não me parece ser um tablet), dando o boot no MeeGo. Mas não é um boot completo….não aparece absolutamente nada além de 3 linhas, totalmente texto, mostrando a versão do sistema e a versão do kernel. Então fica meio difícil confiar 100% no vídeo (até porque dar boot é uma coisa, o sistema efetivamente rodar é outra).

O que eu acho “engraçado” na notícia do Gizmodo é o título. É algo como querendo dizer que o MeeGo não vai rodar nos aparelhos da Nokia, mesmo sendo ela a dona do produto (o que também não é correto).

Bem….mas o que tudo isso tem a ver com o título deste texto? Eu chego lá. Durante algum tempo os responsáveis pelo projeto soltaram versões semanais do sistema, e todos eles plenamente instaláveis no N900 (preferencialmente num cartão de memória). Há algumas semanas, para ser mais exato 3, essas versões deixaram de aparecer (a última tinha sido no dia 6 de setembro).

Pois bem…apareceu uma nova, e com uma agradável surpresa: com a parte de telefonia funcionando! Instalei o sistema, rodei, e fiz uma chamada com ele! Totalmente funcional! Mas ainda com detalhes faltando. Por exemplo, não há indicação visual de que temos sinal, e muitos menos conexão à rede de telefonia. Mas basta iniciar o programa de discagem, teclar um número, pressionar o botão “discar”, e sair falando. O programa de telefonia, claro, ainda está cru. Também é possível receber uma chamada…perfeitamente funcional. Mas ainda não utilizável!

Ele não toca, não vibra, e sequer abre qualquer coisa para se aceitar a chamada! É preciso manualmente abrir o programa de telefonia, e só então aparece uma janela para aceitar ou rejeitar. O único indicador de que há uma chamada sendo feita para o aparelho é um ícone de um telefone no canto.

Outra coisa que está funcionando é a auto-rotação da tela. Mas com um efeito um tanto quanto estranho: às vezes ela fica torta, como se eu não tivesse rotacionado o aparelho em exatos 90 graus, e portanto a tela também não o foi.

Novamente parece que a resposta à tela sensível ao toque não está totalmente implementada (ou pelo menos assim eu espero), pois em alguns casos é preciso efetivamente apertar a tela, ao contrário do Maemo no qual às vezes basta apenas encostar o dedo para o toque ser reconhecido.

Mas pelo fato da telefonia já estar funcionando, eu acredito realmente que o cronograma será cumprido e agora em outubro teremos uma versão funcional e instalável no N900.

Observação: não há imagens porque estou sem câmera. Se conseguir alguma, tirarei fotos.

Personalizando um tema

Há um programa bem interessante no repositório extras-devel: Theme Customizer. Ele permite personalizar vários componentes de um tema. Nas imagens é possível ver as opções:

Só é preciso tomar um certo cuidado ao utilizá-lo pois ele mexe em opções muito sensíveis do sistema. E já aconteceu do programa ir para o repositório com um bug que fazia com que o arquivo que ele altera ficasse corrompido. Resultado? Problemas ao utilizar o aparelho!

A versão que testei aparentemente está funcionando corretamente. Também tive um pequeno susto num dos testes que fez com que tudo nos meus desktops sumisse. A reinicialização do aparelho resolveu o problema….mas um dos desktops (que tinha atalhos para números mais discados), não voltou. Nada que 2 minutos não tenham resolvido.

Ah sim…após a instalação ele fica na sessão de configuração do aparelho! Não adianta buscá-lo no menu do aparelho que não o encontrará!

Blockout: quando pensa que está quase acabando…

Ok…eu sei que não estava quase acabando! Não o jogo inteiro, mas pelo menos toda a infra-estrutura necessária. Eis mais algumas imagens dele:

Acho que houve um significativo progresso entre a primeira versão e esta! E talvez até entre a anterior e esta.

Mas como nem tudo são flores, ontem finalmente fui testar o jogo efetivamente no N900. Pois é….até agora os meus testes eram todos no emulador. Somente algumas poucas coisas eu coloca no aparelho para testar. E claro que surgiram vários problemas!

Dois deles darão um pouco de trabalho. O primeiro é com o menu. Na imagem acima já dá pra vê-lo, mas na prática ele deveria ficar deste jeito:

Não sei porque o N900 não está desenhando a transparência corretamente. Na verdade, ele não está desenhando nada transparente no menu!

E o outro problema é na movimentação dos blocos. Existe um temporizador interno que faz com que as peças “caiam” automaticamente. Mas quando isso ocorre junto a um movimento do jogador (movendo a peça para os lados, por exemplo), o desenho na tela fica bagunçado.

O motivo disso acontecer eu sei: para evitar que o jogo consuma muita energia desnecessária, e às vezes até fique lento, eu não redesenho a tela inteira a todo instante, mas apenas o pedaço que sofreu uma alteração. Acontece que com dois movimentos acontecendo ao mesmo tempo, na hora de redesenhar um deles irá sobrepor o outro, deixando “sujeira” na tela.

A solução eu também sei qual adotar, mas pode não ser tão simples: precisa ser um sistema de “pilha”, onde os movimentos são colocados numa fila, e sempre tratados 1 a 1, nunca simultaneamente. Em algumas linguagens isso seria facilmente resolvido com métodos sincronizados (o método não pode ser executado mais de uma vez simultaneamente, sendo que o segundo que o chamou espera até que o primeiro tenha terminado). Mas o Python não possui isso.

Fora tudo isso também notei que o sistema para fazer a peça ser fixada no tabuleiro também não está muito bom. Às vezes o pressionamento mais longo do botão não é reconhecido.

Ainda falta um bocado pro jogo poder ir pros repositórios, mas resolver esses problemas já permitirá pelos menos que ele possa entrar em alpha (mais gente jogue, além de mim).

QtWRT: ainda vai ouvir falar dele

Sobre o Qt já se falou um pouco. Quando a Nokia comprou a Trolltech o motivo era mais que evidente: criar um ambiente no qual os programas rodassem em todos os sistemas operacionais da empresa sem necessidade de alterar código-fonte. No máximo, apenas recompilando.

O Qt, ao contrário do que alguns possam imaginar, não é uma linguagem de programação. É uma biblioteca. A vantagem em usá-la é que não é preciso alterar um programa caso se queira usá-lo em outra plataforma que também rode o Qt. Como a biblioteca é padronizada, qualquer programa que a use vai rodar em qualquer lugar que rode o Qt.

E é aí que entra o tema deste texto: QtWRT significa Qt Web Runtime. Na prática nada mais é que uma biblioteca (mais uma), que permite que através de Javascript você acesse o hardware do aparelho. Javascript é a linguagem padrão utilizada em páginas da internet.

Ou seja: você pode construir uma aplicação inteira usando HTML e Javascript.

Um exemplo é o MoneyFlow. Um programa para controle de gastos, comentado pelo leitor/usuário do fórum flavio.

Acredito que as vantagens sejam evidentes: você conta com o poder do HTML unido ao Javascript, e de quebra tem acesso aos contatos, GPS, sensores, e por aí vai. E ainda rodará o programa em qualquer aparelho que entenda HTML e possa ter o QtWRT instalado.

Ainda não há uma versão final da biblioteca para o N900, mas há uma versão de preview. Ele é encontrado no extras-devel.

Os programas feitos nessa biblioteca possuem uma extensão diferente: é .wgt (não é .deb). Mas são instalados também à partir do Gerenciador de Aplicativos. Porém, eles serão reconhecidos apenas após a instalação da biblioteca!

Este vídeo demonstra a utilização do MoneyFlow (e também algumas capacidades do QtWRT):

Tags: