VII Encontro de Software Livre foi um sucesso!!

Olá pessoal,


Conforme informei em um post prévio neste blog, hoje ocorreu o VI Encontro de Software Livre da Escola Politécnica de Pernambuco. Posso dizer com todo eufemismo, cacofonias e repetições que o evento foi um sucesso! Gostaria de parabenizar a todo comitê de organização pelo alto nível que foi o evento, mesmo com todos imprevistos e improvisos! haha Software livre, é assim, soluções simples, abertas e colaborativas! Parabéns especial ao colega Marcos Álvares, mentor deste evento.

Fui convidado para ministrar uma palestra sobre Python para celulares Symbian S60, na verdade, o título foi um pouco grande , mas deu pra abordar com foco sobre como começar a desenvolver Python para celulares Symbian, em especial os S60 (Nokias N95, N73, N82, N96, E61, etc.). A palestra foi muito legal, haha acho que usei todos a infra-estrutura existente no evento (Internet, Som, Video)... Mas deu pra mostrar o poder de python nas plataformas, especialmente em dispositivos móveis. O que mais me impressiona, é que é a segunda palestra que apresento sobre Python para celulares Symbian, e a cada vez a quantidade de coisas que voce pode fazer com teu telefone cresce exponencialmente. Exibi vários exemplos (agradecimentos especiais a Marcelo Almeida, Croozeus, JOM pelos exemplos disponiveis no Wiki Forum nokia) usando recursos nativos do aparelho como SMS, MMS, bluetooth, Serviços REST e teve até aplicações para controle de video e mouse através do acelerometro do N95 com PyS60 (haha o melhor da palestra ao ver um dos episodios do seriado Big Bang Theory sendo controlado pelo Acelerometro).
O clímax da apresentação aconteceu quando apresentei um jogo multi-player feito em PyS60 com uma batalha Jedi entre eu e Emanoel (Agradecimentos a Emanoel por fornecer o seu aparelho com acelerometro). Realmente so vendo em video a nossa batalha.

Por fim, posso dizer que a maioria deve ter ficado satisfeita com a apresentação e sem dúvidas com o objetivo de atrair mais pessoas a começar a explorar Python para desenvolvimento em dispositivos móveis! Ah, não posso esquecer pelo velho método de sorteio realizado de camisas e brindes durante o evento, o velho random.randrange() salvando a gente no sorteio! =D Por fim, outras palestras foram muito boas, com destaque para palestras de Segurança, kernels, mobile open-source e framework para redes neurais. Sem dúvidas, um novo encontro desse porte deve acontecer em breve! Não espero a hora de ver o VII Encontro de software livre da Escola Politécnica!


Ah, as palestras foram filmadas (Acredito que a minah foi a mais dificil de ser filmada, porque eu me movia muito haha, devido ao uso dos exemplos dinamicos....) e com muitas fotos também. Em breve disponibilizo as fotos e o vídeo das palestras por aqui.

Enquanto isso, já disponibilizo o material (slides) da minha apresentação no Encontro, armazenado no site Slideshare (Rede social para compartilhamento de apresentações).



Ahhh Destaque para as camisas do GeekWorld, muito show as camisas!! Recomendo uma visita no site deles! =D


Ah, em relação a ter um novo evento de software livre por aqui em Pernambuco, não se preocupem o da Escola Politécnica já teve, mas já tem agendado aí um novo encontro em outra universidade! Fiquem de olho , no blog! Para novidades =D


Valeu,

Marcel


PySide: Python para Qt !

Pessoal do Openbossa labs (Nokia INDT) vem trabalhando fortemente num projeto de porting (bindings) de Python para Qt.

Este projeto, sobre licença LPGL, provê um wrapper em Python para o framework multi-plataforma Qt. Apesar de ser open-source, ela permite o desenvolvimento de aplicativos proprietários e suporta todas as plataformas (Windows, Mac, linux) como o Qt também.

Faça o download para Linux aqui. Cheque o possível cronograma do projeto aqui. Se voê está interessado em se envolver com o desenvolvimento de PySlide, aqui é o link que você deve acessar.

PS: Tive a oportunidade de participar de um Techday, um curso prático de um dia sobre Qt, e tenho que ratificar que ele é realmente muito fácil de construir, especialmente aplicacoes de interface gráfica. Faz tempo que nao via um editor visual (Designer) para LINU tao eficiente como o Qt Designer. Pessoal está de parabéns! Fora que é multi-plataforma. Esse binding de Python para Qt, só tem a melhorar ainda mais o uso da plataforma!

Fonte: Head like a hole

Palestra no VI Encontro de Software Livre sobre Python para Symbian S60!

Olá pessoal,


Gostaria de divulgar o evento no qual irei ministrar uma palestra sobre "Introdução para desenvolvimento de aplicativos Python para celulares Symbian S60". O evento é o VI Encontro do grupo de Software Livre da Escola Politécnica de Pernambuco - POLI - UPE em Recife Pernambuco. O evento visa reunir pesquisadores e entusiastas para um bate-papo e discussões a respeito de atualidades e tendências da produção de software livre no estado de Pernambuco.

O evento ocorrerá no sábado (próximo 22 de agosto) e começará a partir das 09:00 da manhã. Para mais informações sobre localização, ver site do evento.

Para se inscrever no evento, basta seguir as seguintes instruções:

  • Email para slpoli at dsc.upe.br
  • Com título "VI SLPOLI - INSCRICAO"
  • Nome completo, empresa/instituição de ensino
  • Levar 1 KG de alimento não perecível no dia do evento
Vagas são limitadas mediante a disponibilidade de vagas livres no auditório!

Mais informações podem ser encontradas no site oficial do evento.

Irei trazer algumas coisas interessantes que podem ser desenvolvidas em PyS60, apresentar alguns projetos open-source disponibilizados pela comunidade e introduzir os primeiros passos para quem está começando a querer aprender a desenvolver em aparelhos móveis (Nokia Symbian).

PS: Parece que a palestra irá ser gravada! Então para os que não poderão comparecer (especialmente os que não moram em Recife), se ocorrer a gravação disponibilizarei o vídeo da palestra aqui. Aguardem!




Carman: Aplicação para tablets maemo!

Pessoal,

Encontrei esse blog muito legal do Larry Junior sobre tecnologia em geral, com muita coisa sobre Python.... Fuçando o blog dele encontrei um post meio antigo (Março de 2009) sobre o lançamento do programa versão beta 2 do Carman 0.7.




Esse aplicativo totalmente open-source permite você acessar informações internas do seu veículo (sensores e dados) a fim de poder saber o estado atual do mesmo. Também inclui também funcionalides de mapas e GPS permitindo armazenar e gravar suas viagens e trajetos pecorridos e compartilhar essas informações com seus amigos direto do aparelho.

Este aplicativo está disponível para tablets da Nokia Série Maemo N8x0.

Tive a oportunidade de trabalhar algumas semanas num projeto similar a esse disponível para plataforma Python para Symbian S60. =) Sem dúvidas uma grande aplicação!

O mais legal foi ver esse vídeo, sobre o compartilhamento de informações entre os usuários do Carman. Com ele é possível verificar e localizar onde se encontram seus amigos no mapa e a distância em relação à sua posição atual até eles. (Módulo Info-Share).

Segue o vídeo desta feature em execução:


Para finalizar, gostaria de informar que o aplicativo é open-source e está disponível para download no site oficial aqui (Provavelmente não funcionará grande parte das features porque é necessário que seu carro tenha uma conexão OBD2. Geralmente, presente em carros americanos e europes, ainda raros no Brasil.)

PS: Desenvolvido em Python!!
Para aqueles que desejam configurar o acesso ao Bluetooth Console do interpretador PyS60 do seu celular symbian no MAC OS Leopard, disponibilizei um pequeno tutorial em português com o passo-a-passo.

Objetivo: Conectar ao bluetooth console do interpretador Python visando facilitar a digitação de comandos através do teclado real em vez do teclado do aparelho móvel.

Plataforma-alvo: Mac OS 10.5 Leopard

O primeiro passo é criar e configurar a conexão Bluetooth entre seu Mac e o telefone Mac com o "Bluetooth Setup Assistant". Depois, ter instalado o Python para S60 no seu aparelho móvel. Você pode fazer o download do mesmo aqui no site garage maemo.

Configurando uma conexão RS-232 com seu Mac

  1. Abra System Preferences e clique no ícone Bluetooth
  2. Clique no botão Advanced…
  3. Clique no botão ‘+’ e entre com qualquer nome para sua nova conexão serial. Sua nova porta de conexão serial será exibida como dev/tty.your-new-serial-port. Então escolha um nome simples e descritivo. No meu caso eu coloquei o nome bt-console.
  4. Selecione RS-232 na coluna Type.
  5. Clique OK e você está pronto para iniciar sua conexão RS-232.

Conectando com o PyS60 Bluetooth Console.

Agora que você está pronto para conectar seu Mac ao telefone Nokia através da conexão Bluetooth com a porta recém criada pelo protocolo RS-232, siga os seguintes passos para estabelece-la:

  1. No seu Mac, abra o Terminal (/Applications/Utilities/Terminal).
  2. No prompt de comando, digite: screen /dev/tty.bt-console
  3. No seu telefone Nokia, execute oPython S60.
  4. Vá até Bluetooth console (Options -> Bluetooth console)
  5. Quando aparecer uma caixa de diálogo, selecione ‘Default host’. Você irá receber uma janela de diálogo para escolher a porta. Selecione a porta que você recém criou no seu Mac.
  6. No seu Mac, Terminal deverá exibir “>>>“. Pronto! Você já pode escrever comandos Python no seu MAC onde serão executados diretamente no seu telefone!

Tenha certeza de substituir /dev/tty.bt-console com o nome que você escolheu para a porta serial.

Quando desejar sair do console Bluetooth, digitte control-D no seu terminal. Você irá desconectar da sessão console via Bluetooth.

Problemas

Se seu Mac e telefone não conseguirem se conectar, você pode tentar selecionar a opção "Other" no passo 5. Apenas lembrando que você deve executar o comando /dev/tty.bt-console no seu Mac antes de inicializar o Bluetooth Console direto do seu telefone.


Acho que é isso!

Programem em Python! E se divirtam =D


Marcel

Symbian UI Avkon dando lugar para o Qt!!


Acabei de ler uma notícia bem intrigante no site do rodrigostoledo. De acordo com o Gizmodo, em uma entrevista com um dos representantes do Symbian Foundation, que ele explicou que eles estão extinguindo a engine Avkon (legado do Symbian S60) e dando preferência à Qt, ou seja, acarretará numa quebra binária quanto aos apps do S60. Vale destacar que o termo "revolucionário" também foi mencionado durante a entrevista sobre as mudanças na interface.

custom_1249529725302_robotic-duck-overlord


Pelo que entendi, significa que é sem dúvidas uma bela notícia, especialmente aos desenvolvedores que ainda ficam com certo receio em desenvolver para Symbian com a linguagem Symbian C++, e finalmente revolucionar a tão manjada interface do Symbian S60 (não que seja ruim, mas é sempre bom dar uma reciclada!). Vamo aguardar para ver os novos aparelhos com este sistema operacional Symbian^4.

De toda maneira, fiquei preocupado com essa transição, quando se fala em quebra de compatibilidade de aplicações do S60 para esta nova plataforma. Reescrever tudo do zero ?! É um caminho meio sinuoso, se não tratado adequadamente. Poderiam fazer essa transição em etapas ? O Qt coexistindo com o Avkon e daí remover o Avkon posteriormente ? Seria uma boa para os desenvolvedores!

PS: Gostaria de ver o Maemo entrando nessa batalha de OS para smartphones. =p

Uma nova versão do PyS60 foi lançada, chegando na sua oitava versão 1.9.7 rumo à versão final 2.0.

Seguem as novas funcionalidades nesta versão:

* Suporte ao touch para o GLCanvas UI Control. O controle direcional é exibido por default nos aparelhos touchscreen. Um aplicativo demonstração (gles_touch_demo.py) foi adicionado ao ScrpitShell que demonstra a funcionalidade.

* Duas novas APIs foram adicionadas ao canvas - begin_redraw e end_redraw. Estes podem er usados para instruir o gerenciador de janelas a fim de manipular a repintura da tela no canvas UI Control. Mais informações podem ser encontradas na documentação (Seção 3.1.10).

* O listbox com múltipla escolha foi modificado de tal maneira que agora a caixa de diálogo "checkmark" agora tem a opção "Options" e "Back" na esquerda e direita respectivamente (softkets). O Back retorna o estado atual do listbox baseado nos items selecionados.

* O controle direcional (4-way directional pad) com suporte ao landscape.

* Diferentes tipos de ScriptShell podem coexistir no aparelho (Isso foi muito bom!!)

* Alterações no código do aplicativo exemplo Scribble com a adição do uso das APIs begin_redraw e end_redraw (Melhora de desempenho) e a área de pintura é mantida mesmo alternado para o modo landscape ou portrait e o toolbar se ajusta automaticamente de acordo com a alteração.

* E por fim, a documentação do PyS60 pode ser acessada online no site:
http://pys60.garage.maemo.org/doc/

* PS: Versões com código-fonte para uso no Linux e MAC OS agora disponíveis! =D

Para download do aplicativo, acessar o site garage maemo!


Instalando o ERIC IDE para desenvolvimento de PyS60 com auto-complete no MAC OS X (LEOPARD).


Olá pessoal,

Estava navegando pelo Forum Nokia, quando me deparei com a possibilidade de instalar um editor IDE de desenvolvimento para Python S60, o qual tem funcionalidades de auto-complete, calltips, etc. Ainda não havia encontrado nenhum editor para este tipo de tarefa! Assim que vi o tutorial, decidi conferir a IDE.

A IDE utilizada é a Eric4-IDE. Primeiramente, ela é uma ferramenta de desenvolvimento de projetos com suporte à diversas linguagens totalmente escrita em Python (Já gostei). Para isso ela utiliza o PyQt4 que é um add-on de Python para suportar o toolkit de interface gráfica Qt4. Assim que fui instalar o mesmo, já me deparei com um pequeno obstáculo: Infelizmente não há nenhum instalador executável (.dmg) para a plataforma Mac (atualmente meu sistema operacional). Então tive que construir manualmente todas as dependências necessárias a partir do código fonte para instalar o PyQt4 e alguns outros add-ons necesários.

Para aqueles que possuem o Windows executando na sua máquina, recomendo este tutorial disponível no Forum Nokia Wiki. Para os que possuem sistemas Unix (MAC OS X) ou Linux, disponibilizo um pequeno roteiro que segui para instalação de todas as ferramentas necessárias para a execução da IDE Eric4.

1. Python:

Python vem nativamente instalado em quaisquer distribuições OS X. Na versão 10.5.7 a versão 2.5.1 do Python é a que vem instalada. Então tudo pronto.

2. Instalar Qt4:

Faça o download do Qt4 (http://www.qtsoftware.com/downloads/sdk-mac-os-cpp). Instale-o normalmente com outra aplicação qualquer. Depois desta etapa, verifique se você já tem instalado o XCODE, se não, recomendo a instalação. Esta é uma ferramenta de edição e desenvolvimento para aplicações nativas para o MAC OS. Alguns compiladores disponibilizados pelo XCODE serão utilizados no próximos passos adiante. O XCode é gratuito e pode ser encontrado neste link.

3. Instalar SIP:

Primeiramente olhe o site http://www.riverbankcomputing.co.uk/software/sip/download e verifique qual versão é a mais atual. A minha foi 4.8.2. Faça o download do arquivo tar.gz (código-fonte para Unix -- não a versão bínaria do Windows) e extraia o seu conteúdo em uma pasta (No meu caso criei uma pasta 'Apps' para colocar todos os meus aplicativos que foram compilados manualmente). Após a extração da pasta, abra o Terminal e digite:

cd sip-4.8.2
python configure.py
make
sudo make install
cd ..

4.Instalar PyQT:

Instalar a versão mais atual do PyQt (que na época da escrita deste tutorial era 4.5.4). Faça o download do pacote de código fonte (source-code package) para a sua distribuição (Novamente MAC OS ou Linux). O arquivo é com terminação .tar.gz. O link para download é este.

Extraia seu conteúdo para uma pasta e novamente abra o Terminal e digite os seguintes passos:

cd PyQt-mac-gpl-4.5.4
python configure.py
make
sudo make install
cd ..

5. Instalar QScintilla:

Outro add-on necessário para a execução do ERIC, é o QScintilla. O source-package do mesmo pode ser encontrado neste link. Na época deste artigo a versão mais atual era a 2.4. Faça o download do arquivo correspondente (.tar.gz) e extraia em um diretório.

Abra o terminal e digite os seguintes comandos:

cd QScintilla2/QScintilla-gpl-2.4
cd Qt4
qmake qmake qscintilla.pro -spec macx-g++
make
sudo make install

Agora, compile o módulo Qsci:

cd ../python
python configure.py
make
sudo make install

6. Instale o Eric4:

Agora faça o download do editor Eric4 que pode ser encontrado na página oficial do projeto http://sourceforge.net/projects/eric-ide/files/ . Na época da escrita deste tutorial, a versão mais atual era:
eric4-4.3.6.tar.gz linux, mac, bsd, solaris, others 4.9 MiB Sat Aug 01 2009 10:55

Faça o download e extraia seu conteúdo em um diretório. Com o terminal aberto navegue ('cd') até a pasta correspondente:

cd eric4-4.3.6.tar.gz/

sudo python install.py

cd eric

sudo python install-i18n.py

Então, Tudo preparado! :-)

Mas onde está o mesmo instalado e como executá-lo ?
Eric4 foi instalado na pasta:

/Library/Python/2.5/site-packages/eric4/

e para executá-lo digite no finder ou no terminal:

eric4


Você verá o Eric4 IDE sendo inicializado! Segue um exemplo do Eric4 em execução:

Eric4 at Mac Os X Leopard


7. Configure o Eric4 para desenvolvimento com o PyS60:

Faça o download do plugin Refactoring Rope a partir do Eric, Plugins->Plugin Repository.... Instale-o via Plugins->Install Plugins..

Instale o PyS60 (https://garage.maemo.org/frs/?group_id=854).

Agora a API do PyS60 deve ser integrada ao editor Eric. Execute a ferramenta de geração de API, para criar o arquivo API do PyS60.

Ex: python /Library/Python/2.5/site-packages/eric4/eric4-api.py -o /Users/xxx/Apps/PyS60_api.api -R -p "Users/xxx/Apps/PythonForS60/module-repo"

Vá ate o ERIC IDE, Settings->Preferences...->Editor->APIs e selecione "Python" a partir da lista "Language". Clique em "..." e aponte para onde se encontra seu PyS60_api.api gerado (No meu caso /Users/xxx/Apps/PyS60_api.api). Clique em "Add". Você pode fazer esses mesmos passos para outros módulos Python também (bibliotecas Python e bibliotecas do PyQt4).

Pressione "Compile APIs", pressione "Apply" e presione "OK".

Em Eric, Settings->Preferences...->Rope, marque enable autocompletion.
Em Eric, Settings->Preferences...->Editor->Calltips, marque "Calltips Enabled".
Em Eric, Settings->Preferences...->Editor->QScintilla, selecione "From Doccument and API Files".

Pronto!
Crie seu primeiro e projeto e comece a desfrutar de uma ferramenta poderosa para construir seus scripts Python para celulares Symbian S60 com Auto-complete e call-tips =D

Atenciosamente,

Marcel

Transforme seu celular com acelerômetro em um controle para PCS

Olá pessoal,

Navegando por alguns sites, encontrei alguns projetos bem interessantes desenvolvidos em Python utilizando de acelerômetros dos aparelhos móveis.

A idéia por trás deles é permitir que o celular, a partir do uso do acelerômetro, se transforme em um controle para jogos do PC/Notebook, similar aos controles do Nitendo Wii. Fiquei impressionado com o poder desses aplicativos. Imagine a seguinte situação: Você possui uma aplicação que roda na web (internamente ao browser, como um aplicativo em flash) e você usar o celular para controlar os jogos... Imaginas o poder disso ?

O primeiro projeto que encontrei foi o WeeWheel. O aplicativo roda nos telefones Nokia Symbian em Python para S60. A idéia dele é emular os movimentos do acelerômetros e convertê-los em sinais de joystick, mouse ou sinais de teclado direto para seu PC, a fim de que você possa jogar jogos usando os movimentos do seu aparelho. Os sinais são enviados para o PC via bluetooth, logo é necessário um adaptador instalado na sua máquina. O aplicativo fornecido pelo desenvolvedor é free para uso! Recomendo o teste! Ah, e vale lembrar que o aplicativo está disponível para aparelhos Symbian 5nd Edition (ou seja nos aparelhos touchscreen da Nokia também funciona!
Veja um vídeo disponibilizado pelo desenvolvedor com uma demonstração do aplicativo no controle do Jogo Need For Speed com o N95! Muito show!




O segundo projeto é denominado Nimee, e também desenvolvido em Python. O aplicativo converte seu aparelho celular em um controle com o uso de acelerômetros. Ele permite controlar o mouse e até emular sinais do teclado. Também open-source, está disponível para aparelhos Nokia Symbian S60. Veja um vídeo demonstração do aplicativo abaixo! Muito legal!




Como pode-se observar o uso de acelerômetros nos aparelhos móveis, podemos elevar o conceito de jogabilidade e usabilidade de jogos eletrônicos em PC. Imagine seu PC agora em um nitendo Wii com apenas seu aparelho móvel e um adaptador Bluetooth !

PS: Muito legal ver Python sempre como uma boa opção para desenvolvimento de aplicações móveis!

Fonte: OviStora

Realidade Aumentada novamente!

Olá pessoal,


Finalmente voltei à ativa, isso porque fiquei de férias temporárias do meu mestrado no CIN/UFPE. Mas voltando à ativa merece alguns posts bem interessantes, por sinal alguns no forno que em breve devo estar postando por aqui.

Primeiramente, queria enviar o link para esse vídeo que eu encontrei hoje no Twitter (mais uma fonte de notícias bem interessantes) , que apresenta o aplicativo Augmented ID. Mais uma vez realidade aumentada como assunto da vez.

O aplicativo permite através do reconhecimento facial por realidade aumentada obter informações da pessoa como contatos, links de internet e perfis de redes de relacionamento associadas ao usuário. A pessoa deve se cadastar no Augumented ID e definir diferentes perfis de acordo com a situação, por exemplo num ambiente trabalho pode deixar vísiveis comunidades como LinkedID e Slideshare.

A pessoa deve se cadastrar no Augumented ID. A partir daí, é possível fazer diferentes perfis de acordo com cada situação. Por exemplo, se o usuário estiver em um ambiente de trabalho poderá deixar visíveis comunidades como LinkedIn e Slideshare.

Embora seja ainda mais um conceito do que um aplicativo download, espero logo que isso esteja disponível para o meu aparelho celular!






Para saber mais sobre o projeto aqui.

PyS60 versão 1.9.6 lançada!

Olá,

Um pouco sumido mas prometo trazer novidades em breve! Vida de mestrando não é fácil...

Mas uma novidade para os desenvolvedores Python e da plataforma Symbian. Uma nova versão do PyS60 (Python for S60) foi lançado hoje pelo time de desenvolvimento. Esta novea versão, 1.9.6 não traz grandes novidades, mas corrige diversos bugs das versões anteriores 1.9.x. A principal novidade é a criação de um D-pad (um controle virtual para telefones touchscreen Symbian ) que é exibido na parte inferior da tela.

Outra novidade é a adição de um nova seção na documentação do PyS60, com um guia de como desenvolver e criar extensões para PyS60 (Sem dúvidas a feature mais legal!).

Além de correções de bugs e a redução de tamanho do Python Packager.

Como sempre, uma nova versão é sempre bem vinda, e a atualização do SDK do seu PyS60 é sempre recomendável!

Para mais informações sobre o SDK, ver este link.

Para download, visitar o site do garage maemo aqui.
Até a Próxima!

Jogos explorando o conceito de realidade aumentada

Encontrei a demonstração desse jogo bem interessante com foco em realidade aumentada chamado Arhrrrr! para celulares com câmera, que rodam sob a plataforma Tegra, da NVidia.
Bem legal esse jogo, e mais uma vez realidade aumentada em foco!




Fonte: Computação Móvel
Direto do JavaMovel.com:

A Sun Microsystems acaba de lançar o Java Platform Micro Edition Software Development Kit 3.0, também chamado, Java ME SDK 3.0. Este será o sucessor do popular Sun Java Wireless Toolkit 2.5.2 e integrará CLDC, CDC e Blu-ray Disc Java (BD-J) num mesmo SDK.

Esta nova versão traz as seguintes novidades:

* Integração com emuladores de terceiros, bem como, de dispositivos com Windows Mobile;
* Simplificação no processo de deploy em dispositivos reais;
* Integração do CDLC/MIDP, CDC/FP/PBP/AGUI e BD-J em um único SDK, não sendo mais necessário o download e instalação de pacotes separados;
* Uma nova máquina virtual HotSpot CLDC, em substituição à antiga KVM;
* MSA 1.1 otimizado e com extensões;
* Suporte a profiling;
* Suporte a BD-J;
* Novo ambiente de desenvolvimento baseado na plataforma Netbeans;
* Integração com Lightweight UI Toolkit (LWUIT);
* Pesquisa por especificações técnicas de dispositivos integrado no SDK.


Lembrando que o ambiente de desenvolvimento tem fácil integraçao com o NetBeans, onde novos desenvolvedores terão mais facilidades de criar as suas primeiras aplicações.

No Netbeans, as principais ferramentas deste ambiente de desenvolvimento integrado são o editor de código, gerenciador de projetos e arquivos, integração com o Anterior, configurações do projeto, ofuscador de código, além de outras de cunho mais geral, encontradas em qualquer distribuição do NetBeans.

A máquina virtual da Java ME, a Kilo Virtual Machine (KVM), finalmente encerra o seu ciclo de vida, sendo esta substituída pela CLDC HotSpot Virtual Machine, inclusive para a configuração CDC. Com esta mudança, o comportamento das aplicações no emulador ficou mais parecido ao encontrado nos dispositivos reais. Outra mudançaça com a nova máquina virtual foi a compilação dinâmica das instruções de bytecode em instruções nativas “Compilação Just-in-time (JIT)” com menor consumo e fragmentação de memória, maior economia da bateria, dentre outras. Enfim, a instrução compilada dinamicamente, chega a ser cinquenta vezes mais rápida do que uma instrução interpretada.

A Sun não hesitou e incorporou a LWUIT como uma de suas bibliotecas padrão, disponibilizou uma aplicação exemplo e integrou uma de suas ferramentas utilitárias, o Resource Manager, dentro do Java ME Platform SDK 3. Alavancando de vez o nome LWUIT dentro da comunidade Java ME.

No Java ME Platform SDK 3, três novas APIs estão disponíveis para os desenvolvedores:
- Mobile Sensor API (JSR 256)
- XML API for Java ME (JSR 280)
- Java Binding for the OpenGL ES API (JSR 239)

A Sun está disponibilizando, no Java ME Platform SDK 3, uma máquina virtual para o Windows Mobile 6, que pode tanto ser instalado em um emulador do próprio sistema operacional no PC, quanto num dispositivo real. Tudo o que o desenvolvedor precisa fazer é instalar a maquina virtual.

Fonte:

JavaMovel

Artigo completo sobre o Java ME Platform SDK 3 na edição 69 da Java Magazine

Página de download do Java ME Platform SDK 3


CLDC HotSpot Implementation Virtual Machine WhitePaper

Google lança um Ambiente de desenvolvimento de scripts para o Android!

Grande notícia que encontrei hoje no blog do Google Open Source: "Introducing Android Scripting Enviroment". O que seria este ambiente ?
A Google lançou um ambiente de desenvolvimento que permite editar e executar scripts e seus respectivos interpretadores diretamente de um dispositivo embarcado com Android.
Imagine você pode construir pequenos aplicativos em Android com uma API que suporta acesso às funcionalidades do telefone como contatos, mensagens, chamadas, sensores, text-to speech e muito mais. E o mais me chamou atenção foi ver as linguagens atualmente suportadas pelo ASE:

Python, Lua e BeanShell! Com planejamentos para novas versões com suporte à Ruby e JavaScript. Quem sabe um novo concorrente para a plataforma Python para celulares symbian ? De toda maneira já fiquei entusiasmado com a bela notícia e sem dúvidas mais uma opção para os desenvolvedores que querem começar a navegar pelo mundo dos smartphones Android!

Outra boa novidade é que você pode editar seus scripts diretamente no telefone! Muito legal, porém não é grande novidade em quesito de inovação. O PyS60 também já tem um editor mobile para scripts de python.

Se você interessou pelo projeto, que ainda não está no Android Market, você pode fazer o download do toolkit direto da página do projeto. Além de documentação e exemplos inclusos para ajudar a você se familiarizar com o ambiente.

Update: Descobri que a API de Python está disponível para Python e Lua por meio de chamadas de JSON RPC para um proxy desenvolvido para esta comunicação com Java.


Seguem alguns screenshots do ASE em execução:



Scripts podem ser editados direto no fone.


Gerenciador de scripts.




Scripts podem inicializados e executados como serviços em background.



Console Interativo.



Scripts podem usar Android UI para construção de aplicativos.


Fonte: Google OpenSource blog

Controle objetos da sua casa pelo Celular!

Controlar objetos da sua residência remotamente é desejo de várias pessoas, inclusive eu. Um projeto criado pelo desenvolvedor Phanvilai faz exatamente isso: Um aplicativo que permite controlar objetos da sua casa a partir do seu aparelho celular. O nome do projeto é NeuRoom, e para ilustrar o que ele anda construindo (ainda não está disponível ao público), ele gravou um vídeo com a aplicação em execução em um Nokia 5800, o qual ele controla a iluminação da sua casa. Recomendo ver o vídeo!




No mesmo tópico na área de controle de objetos remotamente, outro projeto bem legal é o Smart Touch. É um aplicativo para aparelhos Nokia S60 5 edição que permite você controlar seu PC via bluetooth. O mais legal é que ele totalmente free e está disponível para download!
Como ele só executa em aparelhos 5 nd Edition, logo só suporta versão touchscreen. O que é bem interessante, controlar seu pc usando uma tela touch com os dedos. O desenvolvedor disponibilizou um vídeo onde ele controlou o seu player de mídia através do celular. Veja o vídeo abaixo:


Para download do aplicativo, desenvolvido em PyS60, clique neste link.

Java Sensor API : Demo

Achei uma demonstração bem legal do Java Sensor API com os acelerômetros embutido no Nokia N97 . A Demonstração foi gravada em vídeo durante o Nokia Developer Summit. O vídeo consiste em controlar um carro de controle remoto através do aparelho, utilizando apenas movimentos sobre o aparelho para acelerar, freiar e fazer curvas sobre o carro.
O Java Sensor API dá o poder para apliações java de obter informações sobre a orientação do aparelho. Logo, com tais sinais pode se controlar o carro através destes sinais por transmissão bluetooth (Java Bluetooth API) .
Os slides desta demonstração contém mais detalhes sobre a implementação do MIDlet neste aparelho. Se você está interessado em desenvolver aplicações utilizando o Java Sensor API, veja o Sensor API Developer’s Guide and Sensor API implementation notes.
Vejam o vídeo da demonstração:


Fonte: Blogs S60

Android Developer Challenge Round 2!

Dando continuidade à inovação contínua proposta pela Google com o desenvolvimento para Android, foi anunciado a segundarodada do Android Developer Challenge - a competição que recompensa alguns dos melhores aplicativos para a plataforma Android com altas quantias de dinheiro.

Para os interessados, a competição de fato começa em agosto, mas se você quiser já saber as regras da competição, categorias e prazos, entre neste aqui.

Nova versão do PyS60 lançada: PyS60 1.9.5!

Olá pessoal,


Como esperado, o time desenvolvedor responsável pelo PyS60 acabou de lançar mais uma nova versão do PyS60, agora na versão 1.9.5!

Uma das principais funcionalidades adicionadas nesta versão é a adição do suporte ao scrollbar do appuifw.Listbox. A sua falta quebrou muitos aplicativos que usavam Listbox baseados em TouchScreen.


De acordo com o anúncio do Forum Nokia:

  • Três pacotes assinados PythonScriptShell, cada um com diferentes conjuntos de capabilites (S60 3rd Ed default capability set, S60 3rdEdFP2 default capability e S60 3rd FP2 default capability com as capabilitie SwEvent, WriteDeviceData e ReadDeviceData)
  • Scrollbar disponível para appuifw listbox
  • e32.s60_version_info retorna a versão correta do S60 do aparelho no qual o aplicativo está sendo executado.
  • Melhoras na ferramenta de empacotamento:
-Adicionada a opção de empacotar o aplicativo (.sis) com somente o bytecode ou com o
código fonte
- HeapSize para os aplicativos PyS60 aumentaram para 100kb,4Mb. Antes eram 4kb,
1Mb.
-Adicionada a opção "Continue with missing dependencies". Com esta opção ativada,
você pode ignorar os avisos de alerta de falta de dependências, e continuar o processo
de geração do .SIS. Caso contrário, as dependências que faltam aparecem como
mensagens de erro e a geração do .SIS é abortada.
-Muitos defeitos foram corrigidos nesta versão. Verificar os "release notes" para mais
detalhes.


Claro que há ainda alguns pequenos problemas quando comparado com a versão mais estável 1.4.5:

  • Dependência das bibliotecas do OpenC, que devem ser instaladas para que o runtime funcione.
  • S60 2.x (segunda edição) não são suportados por esta nova versão, e nunca serão. Visto que as bibliotecas OpenC não estão disponíveis para S60 2.x.
  • Como é uma versão de testes até a versão oficial 2.0, não há garantias de que tudo continue funcionando entre uma versão e outra dentro da série 1.9.x.

Você pode fazer o download desta nova versão no maemo garage
https://garage.maemo.org/frs/?group_id=854

Aproveitem e façam o download! Parabéns pelo time de desenvolvimento do PyS60, todo mês nos fornecendo uma versão cada vez mais robusta e completa da plataforma PyS60, rumo à versão tão esperada 2.0!

Fonte: Croozeus Blog

Nokia lança API para acesso aos seus mapas (Ovi Maps Player API)

Ótima notícia para os desenvolvedores, especialmente fãs do Nokia Maps. Ela disponibilizou uma API para que os desenvolvedores integrem seus aplicativos com os mapas disponibilizados pela Nokia !

Vejam o potencial dessa API:

Ovi Maps Player API

Acabei de descobrir que no site do Fórum da Nokia foi lançado recentemente um pacote de instalação para o Mobile Sensor API em aparelhos Symbian 5nd Ed. para desenvolvimento de aplicativos em Java.

Esta API é utilizada para obter dados de sensores embutidos no aparelho, além também de sensores conectados remotamente via Bluetooth, Infravermelho e outros.

Exemplos de sensores poderíamos citar como os acelerômetros e sensores de proximidade que informa o estado do dispositivo em um determinado instante.



Quem quiser saber mais sobre o programa, basta visitar a página do Symbian-freak.

Para realizar o download do aplicativo, visite os sites abaixo:


JSR 256 Mobile Sensor API

Fonte: Vida Touch

Aplicativo permitirá localizar estrelas via celular

A Google não para, especialmente quando se trata de inovação.

Agora a idéia do Google é desenvolver um novo aplicativo para celulares Android que permitirá identificar estrelas apenas apontando a câmera do celular para o céu. Claro que há algumas restrições, é necessário que o aparelho tenha GPS, assim o software usa as informações de localização do usuário para dizer quais as estrelas que você vê no céu. E também é preciso tirar uma fotografia do céu, para que o software processe os pontos de luz e tente identificá-los com dados astronômicos.

Não há previsão de data de lançamento do aplicativo, cujo desenvolvimento foi revelado pelo jornal The Times.

Fico me perguntando, se esse aplicativo seria interessante quando o tempo está nublado ?... Pena que não há nenhum filtro de remoção "de nuvens"....

Fonte: Info Exame

Futuro da Comunicação e conteúdo Móvel em 2020

Achei esse vídeo bem interessante postado no blog Daily Mobile sobre uma projeção do futuro no ano de 2020 de como será o conteúdo e a comunicação móvel. Este vídeo foi baseado nos príncipios e metodologias do projeto MOCOM 2020. Mais informações visite o site do projeto mocom2020.com
Recomendo a todos assistirem!
ps: Muitas tendências interessantes, especialmente em relação ao sensorconomy (o uso intensivo de sensores de temperatura, umidade, acelerômetro, bussóla, etc) e a mesclagem do mundo offline com mundo online (A Google já está na frente com seu projeto Google Latitude).

Jampa Mobility Forum 2009: Inscrições Abertas!

Gostaria de divulgar um evento que será realizado no dia 21 de maio (Quinta-Feira): O Jampa Mobility Forum 2009 na cidade de João Pessoa - Paraíba. O evento promove uma série de palestras na área de sistemas móveis e embarcados, com o objetivo de refletir e discutir com especialistas na área sobre as suas práticas e experiências em relação ao mercado de sistemas móveis.

Já pude dar uma olhada na grade da programação do evento e realmente, está bem distribuída em diversas áreas desde Tablets a celulares Android, passando por dispositivos Blue-Ray.

O evento está sendo realizado pela Faculdade Idez e Avaty! Tecnologia. Confiram mais informações no site oficial do evento, clicando AQUI.

PhotoMap: Tire foto dos mapas e use-os em seus sistemas GPS

Olá pessoal,

Acabei de encontrar esse projeto bem interessante sobre o uso de telefones móveis com GPS para navegação: o photoMapper. A idéia do aplicativo é permitir que o usuário possa tirar fotos dos mapas disponíveis em lugares públicos e usar como mapa-base para a navegação com o GPS.
Imaginem, eu não disponho de um mapa específico em meu aplicativo, como por exemplo, um mapa com os principais pontos turísticos da cidade, e acabo encontrando um mapa que dispõe dessas informações em um centro de informações. Vejo que o mapa tem informaçõe para que eu possa encontrar tais pontos turísticos. Como posso usar tal mapa em minha aplicação de navegação ? Simples, tiro uma foto do mesmo e agora uso o mapa digital no meu telefone para me auxiliar na busca e encontro de tais pontos turísticos. Achei a idéia muito legal. De acordo com a fonte DailyMobileNews, o aplicativo foi criado para aparelhos Nokia N95.
Vejam o PhotoMapper em execução:





Fonte: DailyMobile

Nova versão do PyS60- 1.9.4 - disponível para download!

Olá pessoal,

O time de desenvolvimento do PyS60 lançou hoje mais uma nova versão da série 1.9.x. Algumas modificações, porém nada de "grandes" novidades. Mas sempre correção de bugs e melhorias nem que sejam pequenas são sempre bem vindas.

Novas funcionalidades do PyS60 1.9.4:

  • Um único pacote de instalação assinado, o qual pode ser instalado em quaisquer aparelhos S60 3rd ED e edições posteriores, está disponível. (Tamanho médio de 2.8MB com dependências).
  • Um novo e melhorado Empacotador de aplicações (Gera executáveis .SIS): O Novo PyS60 application packager analisa toda a aplicação python que está sendo convertida e localiza os módulos Python faltantes que a mesma é dependente e empacota-os junto com a aplicação.
  • Maior facilidade de depuração: O runtime do Python e seus componentes podem ser instalados executando quaisquer aplicativos Python empacotados com o novo application packager que vem na versão 1.9.4 (Obs: Apenas disponível a partir de dispositivos S60 3rd Edition FP2 em diante com o último firmware instalado).
  • 2 novas APIs adicionadas ao módulo socket - access_point() e set_default_access_point() que tem funcionamento semelhante aos presentes na API do módulo btsocket.
  • 2 novas APIs adicionadas ao módulo e32 - get_capabilities() e has_capabilities(). O primeiro é usado para recuperar as capabilities, para quais o aplicativo foi assinado, e o outro checa, dado uma lista de capabilities, se tais estão permitidas ou não no aplicativo.
  • O novo modo para o appuifw.app.screen = 'full_max' que pode ser usado para obter a "tela cheia" para dispositivos que não possuem os soft keys (esquerda e direita). Ex: Nokia 5800

Algumas melhorias bem interessantes, especialmente a adição das APIs relacionadas ao socket. Acho que é a solução para os famosos pop-ups que o fone exibia toda vez que era necessário acessar alguma informação pela rede, perguntando qual era o access_point desejado. Ufa!

E este novo empacotador que pode adicionar o runtime do PyS60 junto com a aplicação. Evitar assim ter que o usuário primeiro instalar o runtime, para depois instalar a aplicação. Era um trabalho gigantesco! (Claro que havia paliativos para tal, mas esta agora oficial sem dúvidas vai contribuir muito com a distribuição dos aplicativos). Pena que só funciona para Symbian 3rd FP2 em diante, ou seja, não há suporte para o N95, N79, E71, N73..

Mas no geral, sempre bom ter novas versões do PyS60, especialmente para chegar à versão final - PyS60 2.0!

Você pode fazer o download da versão 1.9.4 do site maemo garage: garage.maemo.org/frs/?group_id=854

Fonte: Blogs Forum Nokia

Reconhecimento de objetos em tempo real para aparelhos móveis

Eu acabei de ver essa notícia, e digo que fiquei IMPRESSIONADO com a tecnologia apresentada nessa demonstração. Do que eu estou falando ?

Simplesmente, uma empresa, a iVisit, demonstrou em uma conferência uma tecnologia usada em aparelhos móveis para auxilar usuários no processo de reconhecimento de objetos.

O aplicativo denominado SeeScan, permite que os usuários ao apontarem seus aparelhos móveis (especificamente a câmera) para o objeto, identifique em tempo real o mesmo. Imagine a tecnologia do Nokia Point & Find (outro sistema de identificação em tempo real). A idéia que por exemplo, você apontando seu celular com este aplicativo em execução para uma garrafa de coca-cola, ele irá identificar em tempo-real e dirá em voz alta que é uma coca-cola.

Claro que há algumas limitações, de acordo com a empresa , o software só funciona com uma quantidade limitada de objetos, mas que aos poucos irão aumentar a base de dados. Não tenho dúvidas que isto é o futuro na área de realidade aumentada.

O uso desse aplicativo ? Imagine os deficientes físicos como cegos por exemplo. Usando esse aplicativo nos seus aparelhos, eles poderiam ajudar na identificação de objetos quando apontados, como se fossem "olhos virtuais" . Muito legal, ein ?

A melhor parte, vem agora, que uma versão beta do aplicativo estará disponível ainda este ano, com suporte para os aparelhos Windows Mobile, e futuramente Symbian e Iphone.

Como existem pessoas que só acreditam, vendo... Coloco aqui a demonstração do iVisit:



Meus comentários:
1 - Isto é um avanço gigantesco na área de realidade aumentada especialmente em sistemas embarcados. Construção de aplicativos deste porte em aparelhos em que desempenho é limitado é um desafio, especialmente quando se trata sistemas críticos com tempo de resposta real.
2 - Incrível como no vídeo, o usuário aponta com uma câmera que de certa maneira tem algumas limitações como resolução da câmera, luz ambiente, etc e consegue em apenas 2 a 3 segundos identificar o objeto. Quero imaginar que algoritmos de reconhecimento de imagens estão por trás deste aplicativos e se há alguma técnica inteligente (RNA ou SOM, Hopfield) para aprimorar ou dar suporte nesta identificação.

3 - A melhor parte é quando ele amassa a nota, e ele ainda consegue identificar o objeto. Imagino que o algoritmo é bem robusto e consegue trabalhar com ruídos e partes de imagens (parcialmente visíveis). Muito interessante!


Recomendo a todos a leitura e visualização desse post, especialmente interessados em reconhecimento de imagens em tempo real para sistemas móveis!

Fonte: IntoMobile
Encontrei um post ontem no blog MeioBit sobre uma área de pesquisa para solução de problemas de robótica, biônica e cibernética. Uma megacorporação da área industrial , Festo, construiram PINGUINS biônicos que nadam e interagem com o meio-ambiente de forma natural. Sei que nada tem haver com mobilidade, mas me deixou refletindo aqui um pouco sobre a evolução da tecnologia. Cada vez mais novas tecnologias são desenvolvidas, mesmo que só serão usadas daqui a décadas. Imaginar que coisas que eu li em quadrinhos ou vi em filmes de ficção científica estão virando realidade.

Não posso, agora duvidar mais disso. Vejam o vídeo abaixo demonstrando os pinguins biônicos:







Fonte: MeioBit
Olá pessoal,

Queria divulgar esse artigo bem interessante que encontrei na internet com uma análise feita pelo blog GizModo sobre as lojas de aplicativos móveis hoje existentes. Como sabemos, hoje há uma diversidade de lojas virtuais como ITunes, Android Market, Nokia Ovi Store, etc.

Eles fizeram uma análise das lojas e explicam o que cada uma pode oferecer. Recomendo a leitura!



Nokia Maemo Internet tablet : N800 e N810

Olá a todos,

Estou muito entusiasmado! Finalmente, consegui fazer o pedido do meu Nokia Tablet N800! Agora só aguardar, para por as mãos neste novo gadget.

Para aqueles que não conhecem o Nokia Tablet N800! Irei dar um pequeno resumo:

A classe dos Internet Tablets compreende os dispositivos cujo foco é em acesso à internet e reprodução de mídia. Um dos fabricantes que dispõe de aparelhos neste mercado é a Nokia com os tablets Nokia N800 e o novo Nokia N810.

A plataforma Maemo, formada pelo sistema operacional Maemo e por um SDK, é a parte de software dos Internet Tablets da Nokia.







O Nokia N800 é um dispositivo com acesso sem fio à Intenet originalmente lançado em janeiro de 2007. Apesar do foco da Nokia ser associado a aparelhos celulares, o N800 não é um telefone. Ele permite navegar na Internet usando conexões Wi-Fi ou através de um telefone celular via Bluetooth.



O N810 tem muitas semelhanças com o N800. Embora ambos rodem o Internet Tablet OS 2008, existem algumas diferença entre eles. As novas funcionalidades do N810 como sensor para detecção de luz ambiente, GPS integrado, webcam frontal, teclado físico, entre outras faz com que ele seja um N800 melhorado.



Em nível de suporte de aplicações, há uma diversa gama de opções. Boa parte delas estão hospedadas na Web pelo site https://garage.maemo.org/. Além de aplicações, podemos encontrar também frameworks e ferramentas interessantes que auxiliam na criação e desenvolvimento de novos aplicativos para o tablet. Podemos citar o Easy, ESBox, PluThon e Brisa como exemplos de frameworks e ferramentas desenvolvidos e mantidos por brasileiros (Laboratório de Sistemas Embarcados e Computação Pervasiva da UFCG - Universidade Federal de Campina Grande - http://www.embedded.ufcg.edu.br/).

Vamos falar de alguns deles:



O objetivo do Easy é tornar o desenvolvimento de aplicações para o Maemo extremamente fácil sem perder o poder de processamento e o acesso às suas funcionalides. Para isso ele encapsula toda a complexidade de serviçoes de multimídia, rede e interface gráfica através de uma API de alto nível na linguagem Python.




O ESbox é um plug-in do Eclipse que ajuda a programadores a desenvolver aplicações para a plataforma Maemo. Ele suporta as linguagens C/C++ e Python e o mais legal, não quer um dispositivo para testes do seu aplicativo.




PluThon é um outro plug-in para o Eclipse que provê o suporte ao desenvolvimento de aplicativos em Python para a plataforma Maemo. Desenvolvedores executam e depuram aplicações diretamente no dispositivo, o que acelera o desenvolvimento.



BRisa é outro framework escrito também em Python que permite a criação de aplicações UPnP, focado em Servidores multimídia e renderização de mídia.


Como vocês podem ter observado, há várias ferramentas out-of-the-box para o desenvolvimento de aplicações para seu Nokia Internet Tablet. E o mais interessante, que há uma forte tendência pela escolha de Python e C/C++ como as linguagens para desenvolvimento de aplicativos para estes dispositivos. Isso me fez me aproximar mais deste pequeno aparelho. Estou até com umas idéias interessantes para construção de frameworks de simulação na área de computação inteligente para sistemas embarcados e no aprendizado da linguagem Python com um simulador gráfico de batalhas de robôs programados por desenvolvedores. Enfim, isso fica para próximos posts!

Até a próxima!

Já imaginaram um Google Brain Search ?

Olá a todos,

Achei esse projeto intrigante no site do google Mobile : Brain Search. Não sei se é alguma pegadinha de 1 de abril, mas enfim... Por um momento nos faz pensar quando chegará o dia em que poderemos controlar nossos aparelhos com a mente.
Já pensou... Você indexar as informações do seu cerébro e usar engines de busca como busca de conteúdo ?

Vejam o vídeo abaixo:

Porting do PyGame para PyS60 1.9.x


Gostaria de informar que o PyGame foi portado para a última versão do PyS60 - 1.9.x. Isto significa que ele agora também é compatível com a versão PyS60 1.9.3.

Este porting não vem com o interpretador do PyS60, então é necessário ter o PyS60 1.9.x instalado antes.

Faça o download da última versão do Pygame para PyS60 aqui.

PyEvolve: Framework Open-Source de Algoritmos genéticos rodando com PyS60!

Dando continuidade a meu último post, encontrei há algumas semanas atrás um trabalho muito interessante que está sendo desenvolvido pelo brasileiro Christian S. Perone: um framework open-source de algoritmos genéticos escrito na linguagem Python denominado Pyevolve. O Pyevolve é um toolbox com várias ferramentas para solução de diversos problemas de otimização , no qual se baseia na computação evolucionária através do poder dos algoritmos genéticos.

Uma dos trabalhos recentes feitos por Christian, é o porting do Pyevolve para dispositivos portáteis. Ele já conseguiu portar com sucesso a execução dos algoritmos genéticos em um aparelho PSP da Sony solucionando o problema do caixeiro viajante, e ilustrando na tela do aparelho no fim a melhor jornada obtida pelo algoritmo. Muito legal, recomendo darem uma olhada aqui. Agora, recentemente ele decidiu portar o Pyevolve para ser executado nos aparelhos móveis.

A linguagem escolhida por ele, claro, foi o Python, visto que o próprio PyEvolve foi escrito nela. Através do PyS60, Python para celulares Symbian S60, ele conseguiu executar com desempenho satisfatório no aparelho Nokia N73. O problema tratado pelo algoritmo genético foi a busca do mínimo de uma função matemática (Sphere) com 5 dimensões.

Algo muito legal, mesmo especialmente por se acreditar que rodar algoritmos desse nível que exigem uma certa computação exaustiva não seriam estáveis em aparelhos como celulares.

De acordo com os experimentos realizados, o algoritmo genético conseguiu encontrar o mínimo da função matemática de complexidade fácil-mediana em apenas 8 segundos (com 18 gerações).

Seguem alguns screenshots do PyEvolve for Mobile em execução:


Olá pessoal,

Estive essa semana aproveitando alguns intervalos livres para ler alguns feeds de blogs de Inteligência Artificial que acompanho. Uma das novidades que me chamou bem atenção foi a execução de algoritmos inteligentes de forma computacionalmente distribuída. Irei dar um simples exemplo:

Um dos projetos aceitos em um congresso internacional na Espanha (International Symposium on Distributed Computing and Artificial Intelligence 2009 - DCAI ) foi o desenvolvimento de um framework de computação de distribuída por meio de aparelhos móveis através de comunicação via sem fio Bluetooth. A idéia do projeto é desenvolver uma API em JavaME disponibilizando um ambiente de computação distribuída com uso de camadas, cliente-servidor e arquitetura de comunicação assíncrona entre os dispositivos. Na prática, eles solucionaram alguns problemas bem conhecidos na literatura de computação evolucionária (O problema do Caixeiro Viajante e o problema de maximização de funções de onda).

O mais interessante é que eles usaram aparelhos móveis reais para executar os experimentos a fim de solucionar os respectivos problemas. De acordo com os autores, a parte mais difícil foi encontrar aparelhos que tivesse a pilha de protocolos Bluetooth funcionando corretamente. A figura abaixo ilustra o experimento em execução:

2 aparelhos Nokia em execução

Achei muito interessante a idéia, especialmente este campo de sistemas distribúidos com computação inteligente. Imagine se cada telefone nosso fosse um agente inteligente e as conexões fossem as conexões sem fio através de WiFi, Bluetooth, etc. Imagine uma rede de varios telefones interconectados processando informações em paralelo. Agora dimensione isso para mais de 150 milhões de aparelhos rodando em paralelo. Uma mega infra-estrutura de computação distribuída pervasiva portátil e móvel! Incrível não ?? Quem sabe não ouviremos isso num futuro próximo. Por sinal, tive até a idéia de portar minha implementação de algoritmos de inteligência de enxame para os aparelhos móveis. E não foi só eu que tive essa idéia, já existe já uma implementação de algoritmos genéticos rodando em aparelhos móveis (smartphones) solucionando problemas de otimização. O mais legal ainda criada por um brasileiro! Essa notícia deixo para um próximo post. ;D

Referências sobre o trabalho acima , ver o blog GeNeuraTeam.

Olá pessoal,

Estou desenvolvendo alguns aplicativos em Python para Symbian S60, e sempre encontro quando encontro algumas dificuldades durante o desenvolvimento, começo a catucar em fóruns, sites específicos, documentações para ajudar a dar uma direção para a solução do meu problema. Um dos problemas que enfrentei recentemente foi desenvolver um algoritmo simples que detectasse colisões entre dois objetos dentro de uma tela. Essa técnica é muito utilizada em jogos, especialmente para detectar quando queremos saber se nosso player atingiu o adversário ou atingiu um limite de um cenário, etc. Pois, após solucionado o problema, pensei: Porque não divulgar para outros, afim de ajudar o pessoal caso encontre o mesmo problema ? Seguindo esta filosofia, por sinal já fui aconselhado várias vezes pelo meu colega Felipe Andrade, de postar artigos no Wiki do Forum Nokia. Tomei finalmente, tardiamente, a decisão de escrever artigos que auxiliem na solução de problemas que enfrentei ou até que eu descobri e que possam ajudar outros.

Neste âmbito, estou aqui divulgando meu mini-artigo em inglês sobre como detectar colisões com Python para Symbian S60.

Segue o link:

Collision detection events with PyS60


Espero tornar este hábito agora bem comum!

Python S60 1.9.3 Release!


Mais uma versão do Python para Symbian S60 foi lançada pela comunidade do Forum Nokia. =D

A nova versão 1.9.3 pode ser baixada a partir do repositório maemo garage aqui.

Esta nova versão pode ser executada nos aparelhos S60 3rd Edição, S60 3rd Edição FP1, S60 3rd Edição FP2 e S60 5th Edição.

Nesta versão 1.9.3 estão incluídas novas funcionalidades:

- Suporte para eventos de touchScreen para o appuifw Canvas. Uma API foi adicionada ao módulo appuifw, touch_enabled() que verifica se o dispositivo suporta touchscreen.

-Nesta versão inclui um novo módulo de extensão, sciptext. Isto permite o acesso aos serviços da plataforma S60 5 nd edição e portados para S60 3nd Edição. Isso inclui acesso a serviços como Application Manager, Calendar, Contacts, Landmarks, Location, Logging, Messaging, Media Management, Sensors and Sys Info.

-Facilidade na hora de desenvolvimento: Todos os componentes do Python runtime podem ser instalados agora em tempo de execução, execuando a aplicação scriptShell que vem junto com o pacote. Suporte apenas a partir dos telefones S60 3rd edição FP2 em diante (atualizados com o último firmware).

- Suporte SSL para socket.

- Core Python atualizado para 2.5.4.

Claro que há algumas desvantagens em comparação a versão 1.4.5:

- O tamanho do interpretador PyS60 é muito maior que a versão 1.4.x. Em futuras versões, há uma tendência para que o tamanho final do interpretador fique abaixo de 1 MB.

-Maior dependência das bibliotecas OpenC, que deve ser instalado a partir do interpretador para funcionar.

- Infelizmente, aparelhos S60 2.x não são suportados nesta nova versão, visto que as bibliotecas OpenC não estão disponiveis para estes aparelhos.

- Compatibilidade entre versões 1.9.x não são garantidas até a versão 2.0. Logo, há chances de algo para funcionar entre versões.


Ótima notícia!! Especialmente destaco o suporte a touchScreen pelo Canvas e suporte SSL para sockets.

Sun promove o JavaFX Coding Challenge: Prêmios até $ 25.000.

Sun promove um novo desafio para a criação de aplicativos em JavaFX. Prêmios até 25.000 doláres. Vejam mais informações no site JavaFX Coding Challenge.



  • Contest starts: March 23rd, 2009

  • Contest deadline: May 29th, 2009

.NET para Symbian S60 ?!

Estive aqui fuçando alguns blogs quando me deparei com a seguinte notícia:

A Red Five Labs lançou a versão 2.1 do seu Net60, um programa em que é possível portar aplicativos feitos em .NET (microsoft) para a plataforma Symbian.

Para conhecer o Net60, visite http://www.redfivelabs.com/blogs/news/archive/2009/03/07/net60-version-2-1-released.aspx

Mais uma plataforma "suportada" para o Symbian. Isso só faz enriquecer a quantidade de aplicativos para esta plataforma! =D

Fonte: NokiaTouch

Piloto de F1 Lewis Hamilton controla seu carro pelo celular !!

Vejam que maneiro! Em um anúncio da patrocinadora principal da McLaren na Fórmula 1, o piloto de corrida Lewis Hamilton, pilota através do celular um carro de corrida de controle remoto em um ciruito de Portugal. Como surgiu essa idéia ?

Simplesmente um fã que programou em seu celular para controlar, via bluetooth, uma miniatura do carro da equipe inglesa e montou um circuito no seu escritório para simular a corrida. É claro que ele filmou toda a brincadeira e jogou o vídeo pela web.

Após o sucesso da empreitada, a McLaren convocou o fã para assistir aos testes em Portugal. Um dos mecânicos da equipe mostrou então uma versão em tamanho real do carro de controle remoto, também comandado via bluetooth.

Vejam o vídeo da brincadeira do fã e depois o vídeo do carro real controlado por Hamilton!

haha, muito legal isso =D



Isso que é Arte 3D !

Vi esse post no bom blog nerdsnavan.com do meu colega Péricles Miranda sobre um trabalho de 2 anos feito por Bruce Branit, chamado World Builder. Sensacional o vídeo, principalmente nas partes em que ele mesmo constrói o mundo com a ponta dos dedos... Já imaginou se isso é possível ?



Recomendo a visualização! Será que o nosso futuro vai ser desse jeito ?

Nokia 5800 com multi-touchscreen??

Uma das funcionalidades não existentes ainda nos aparelhos touch-screen da Nokia (Symbian 5nd Edition) é a capacidade de multi-touchscreen na tela. Essa funcionalidade, já bem conhecida nos aparelhos da Apple como o Ipod touch e o Iphone, permite o usuário fazer coisas como dar zoom in e zoom out na tela do aparelho com os 2 dedos pressionados em fotos, sites, etc.

Pois bem, um desenvolvedor chamado Jamie Fuller está desenvolvendo um jogo, lembrando o jogo "Guitar Hero", onde ele construiu um tipo de framework capaz de fazer o touchScreen do Nokia 5800 Xpress se comportar de maneira multi-touchscreen a fim de controlar o game a partir de múltiplos toques na tela.

Vejam o vídeo abaixo desmonstrando o game dele:




Cada vez mais estou me convencendo a adquirir um Nokia 5800 desses. =)

Fonte: Symbian Freak
top