Aplicativo móvel editor de Tags de Mp3 Inteligente, Existe ?

musica


Ao ver esse post no blog Nokia Guru, fiquei pensando: "É realmente várias músicas armazenadas no meu celular não possuem tags de identificação que relacionam o nome do álbum, canção ou capa do cd." Pois é, o blog comenta sobre algumas soluções que podem ser utilizadas para organizar seus mp3s no seu celular.

Mas fiquei pensando, será que existe algum aplicativo que possa realizar esta tarefa dentro do próprio aparelho ? Com certeza, um editor mobile de tags ID de mp3s já deve existir para celulares symbian ou até mesmo desenvolvido em JavaME.

Mas queria elevar isso para um outro nível. Será que poderíamos desenvolver um aplicativo que ao passarmos nossas músicas direto para o telefone, ele pudesse "inteligentemente" ou "automaticamente" fazer uma busca por todas essas informações: álbum, cantor, banda, capa do álbum, nome da música e atualizar todo o meu repertório. Claro que necessitaria de algumas interações humanas, já que se eu tenho a música titulada "All my Life" e não tenho o cantor, o aplicativo precisaria de mais informações para distinguir se o cantor seria a Mariah Carey ou se seria o Foo Fighters. Mas enfim, a idéia é automatizar o processo e quanto menos interação humana melhor. Existiria um banco de dados online ? Sim claro. Algumas técnicas de I.A ? Claro.

Enfim, se existir algo parecido com essa idéia de aplicativo, comentem e me informem!

Olá pessoal,

Finalmente estou de volta, quer dizer mais presente no meu blog, embora ainda com algumas atividades pendentes em questão.
Gostaria de anunciar mais um tutorial agora saindo do forno:

Como aplicar inteligência artificial em seus jogos com o teorema de jogos: o Algoritmo Minimax. Mas antes de entramos adentro sobre o que é o minimax. Você pode se perguntar o que isso tem haver com mobile ? Tudo! Vejam o porquê na introdução do artigo:

(...),

Eu estava escrevendo um pequeno tutorial de desenvolvimento de aplicativos móveis, e um dos aplicativos que utilizei como exemplo foi a c
onstrução de um simples jogo da velha, conhecido também como Tic Tac Toe. O jogo foi desenvolvido para ser jogado entre um jogador humano e um jogador controlado pelo computador. No exemplo que desenvolvi , os movimentos jogados pelo jogador controlado pelo computador são aleatórios, ou seja, não há uma lógica por trás das jogadas do PC e nem uma análise prévia das jogadas do adversário. A fim de tornar o algoritmo do jogo mais simples, tomei a decisão de fazer um algoritmo com movimentações aleatórias. Mas, pensei: "Eu poderia dificultar mais as coisas, e poderia aplicar conceitos básicos de inteligência artificial neste jogo, a fim de deixar o jogador controlado pelo computador mais desafiador!" .

E este é o foco deste artigo, irei utilizar o jogo da velha como base para aplicação de conceitos de inteligência artificial, especificamente, introduzir um dos clássicos teoremas de jogos: A
Teoria de decisão ou Minimax.


"Quanta coisa pode-se aprender com um simples jogo da velha."
(...)

O post foi publicado no meu outro blog "Artificial Inteligence in Motion" através deste link:

http://aimotion.blogspot.com/2009/01/aprenda-aplicar-inteligencia-artificial.html

Boa leitura!

[Update] : Este mesmo artigo será também postado em breve em versão inglesa/português no site do Wiki Forum Nokia! Fiquem de olho!
Olá pessoal,

Estive ausente essa semana devido a alguns artigos e tutoriais que venho produzindo e espero em breve estar publicando por aqui no blog.

Queria mais uma vez lembrar a todos sobre o evento Remobile que ocorrerá no dia 14 de fevereiro (este sábado) de 09 às 12:00. Este evento foca em incentivar o desenvolvimento de aplicativos móveis aqui em Pernambuco. O evento é gratuito e as vagas limitadas. Para participar basta enviar um email para felipe.andrade@i2tecnologia.com.br com o subject “ReMobile-WRT” contendo o seu nome completo e o número do documento de identidade.

Segue a agenda do evento:

09:00 Abertura

Nokia WebRuntime (Programação Ajax para smartphones Nokia)
Palestrante: Felipe Andrade - Diretor de Tecnologia - i2

Mobilidade: Serviços de Valor Agregado e oportunidades de negócio
Palestrante: Igor Teixeira - Gestor de Dados - Claro / Regional NE

Introdução à programação Python para smartphones Nokia S60
Palestrante: Marcel Pinheiro Caraciolo - Mestrando CIN/UFPE

12:00 Fechamento

Horário: 09 - 12 hrs. (Sábado - 14/02/2009) -
Localização: ITEP (Instituto de Tecnologia de Pernambuco) - Bloco C
Duração: 3 horas
Custo: Gratuito
Mapa: http://maps.google.com/?q=50740-540

Para mais informações visitie o grupo: http://groups.google.com/group/remobile

Meu trabalho, ou melhor minha segunda paixão: Computação Inteligente!

Pessoal,

Gostaria rapidamente de divulgar um trabalho bem legal que está sendo realizado por mim e meu colega de mestrado Luiz Soares. Estamos agora iniciando o curso de mestrado acadêmico no CIN/UFPE e decidimos divulgar um pouco sobre nossa vivência e experiência acadêmica durante o decorrer do curso através de um blog.

O blog é sobre computação inteligente. A minha segunda paixão depois de computação móvel!

Para os interessados segue o link:

Artificial Intelligence in Motion

Segue uma breve introdução retirada do post de boas vindas do blog Artificial Intelligence in Motion:

Sejam bem vindos ao blog AiMotion, acrônimo para Artificial Intelligence in Motion. O objetivo deste blog é de divulgar e trazer aos interessados um pouco dos avanços e notícias do campo de inteligência artificial e seus vários ramos e também tutoriais e artigos com implementações para introduzir os que estão começando agora a estudar esse campo tão imenso.

Os autores deste blog são eu : Marcel Pinheiro Caraciolo e Luis Soares. Ambos mestrandos do CIN/UFPE na área de inteligência artificial. Este também foi outro fator que nos levou a criação deste blog, que é poder tornar pública nossas experiências e conhecimentos adquiridos durante essa passagem na academia. (...)
Olá a todos,

Gostaria de divulgar a primeira edição do evento ReMobile, o Recife Mobile. Este evento foca-se em estimular o desenvolvimento de aplicativos móveis para dispositivos Nokia em Recife. O evento está sendo organizado por Felipe Andrade, CTO da empresa I2 Tecnologia, empresa pernambucana especializada em aplicativos mobile.

Primeiramente, queria parabenizar Felipe pela iniciativa, sempre tive essa idéia na cabeça, por sinal já queria implementar esse tipo de evento dentro de universidades e faculdades a fim de estimular os estudantes da área de computação/design a conhecer um pouco sobre desenvolvimento de aplicativos em dispositivos móveis: tablets, celulares, smartphones, etc. E posso dizer que o mercado pernambucano está demandando profissionais nessa área, empresas como a Nokia, I2, e até o C.E.S.A.R/CIN em parceria com a Motorola que estão abrindo curso sequencial especializado na área de desenvolvimento de aplicativos móveis.

A idéia deste evento é periodicamente promover mini-cursos e palestras sobre tecnologia móvel gratuitos a todos. Nesta primeira edição, Felipe Andrade estará ministrando um mini-curso sobre a tecnologia Web Runtime (WRT), presente em dispositivos Nokia Symbian S60.

Esta plataforma, nada mais é do que uma maneira de poder executar widgets (aplicativos feitos em HTML, Ajax, CSS e JavaScript) diretamente do celular, fora do browser, como se fossem aplicativos nativos. É exatamente da mesma maneira que aqueles programas que rodam no dashboard do MacOSx ou os widgets do iGoogle, etc. A vantagem que essa plataforma oferece é que para os desenvolvedores Web não terão muitas dificuldades em aprender e desenvolver novas aplicações. Alguns aparelhos que suportam já o WRT são os aparelhos (a depender do firmware): Nokia 5320 XpressMusic, Nokia 6220 Classic, Nokia 6210 Navigator, Nokia N78, Nokia N82, Nokia N96, Nokia N95 8GB (via Software update),
Nokia N95 (via Software update), E90 Communicator (via Software update),
Nokia E66, Nokia E71, Nokia N85, Nokia N79, Nokia E51, Nokia 5800 XpressMusic, etc.

Alguns aparelhos Samsung e LG embarcados com o sistema operacional Symbian S60 também já suportam tal tecnologia: Samsung SGH-G81, Samsung SGH-i450, Samsung SGH-i550, Samsung SGH-i560 e LG-KT610.


O Web Runtime é uma das grandes apostas da Nokia e têm sido tema para vários concursos promovidos pela empresa.

Nokia N97 Widget Competition
Calling All Innovators
Nokia Sem Limites (28-Fev-2009)

Para participar do evento é necessário confirmação por e-mail (contato: Felipe Andrade) com o seu nome e número do documento de identidade. As vagas são limitadas e aqueles que não enviarem os dados não poderão participar. (Política de segurança do ITEP)


Horário: 09 - 12 hrs. (Sábado - 14/02/2009) - Data corrigida!
Localização: ITEP (Instituto de Tecnologia de Pernambuco) - Bloco C - Sala 7
Duração: 3 horas
Custo: Gratuito
Mapa: http://maps.google.com/?q=50740-540


Já fiz a minha inscrição, corram e façam também a sua!

Fonte: Felipe Andrade' Blog

Nokia corrige falha grave nos aparelhos Symbian S60

Informação importante para os donos de aparelhos Symbian S60!

Existe uma falha "Curse of Silence" que permite que alguém ataque seu celular (Nokia) e faça com que ele não receba mais mensagens SMS e MMS. Esta falha acaba de ser solucionada. A Nokia liberou um aplicativo gratuito para finalizar com este problema.

Para baixar o programa é só clicar aqui.

Mais informações sobre a falha aqui.

Fonte: NPossibilidades
-

Olá pessoal,


Gostaria de divulgar um artigo por minha autoria em parceria com o site Devmedia (Famosa por publicações das revistas Java Magazine, WebMobile, etc.).
Estou participando do Primeiro festival de artigos da Devmedia, concorrendo a alguns prêmios.

Como venho trabalhado há alguns meses na plataforma Python S60, escrevi um tutorial introduzindo aos interessados em desenvolver na plataforma Symbian S60 (aparelhos smartphones da Nokia) aplicativos móveis com esta tecnologia.

Introdução à programação Python para celulares Symbian S60 - Parte 01


Este artigo está dividido em 2 partes. Esta é a primeira parte do artigo, e a segunda parte já está no forno!

Leiam, compartilhem, comentem, dêem seu feedback!

Atenciosamente,

Marcel
Desenvolvedores móveis, ainda há tempo! Depois de quase 3 meses no ar, os concursos Nokia estão chegando ao fim! Mas se você correr ainda dá tempo.

1° Concurso Nacional de Desenvolvimento de Aplicativos para Aparelhos da Nokia

Teve seu prazo prorrogado até o dia 28 de fevereiro de 2009. Ainda dá tempo de você desenvolver um megaboga aplicativo nas plataformas S40 ou S60 para aparelhos da Nokia. São R$10 mil para o 1° lugar, R$6 mil para o 2° e R$4 mil para o 3°!

Conheça os detalhes e se inscreva aqui!


Fonte: Nokia Sem Limites

Já imaginou o Street Views do Google Maps como seria ??

hahahaha...

Muito engraçado esse vídeo! Uma paródia tirando sarro do Google Maps!

Vejam!



Fonte: Portabilidade BR

Curso de JavaFX online e gratuito!

Aos interessados em aprender JavaFX! Está para abrir um curso online e gratuito a partir do dia 30 de janeiro em 2009 pelo instrutor Sang Shin do Java Passion .
O curso será dado em 15 semanas.

java passion

Para se inscrever envie um email em branco para javafxprogramming-subscribe@googlegroups.com. É um curso mais ou menos como qualquer outro, espera-se que os estudantes façam suas lições de casa depois de estudar as apresentações e fazer alguns laboratórios práticos mas tudo isso gratuito e online.

Também há uma lista onde os estudantes podem perguntar e responder perguntas. Para maiores informações, por favor visite um dos sites abaixo:

Lembrando a todos que os cursos do Java Passion são todos em inglês!

Fonte: SilveiraNeto
Pessoal,


Foi lançada uma nova versão do PyS60, agora na versão 1.9.1.

Mais informações sobre as novas features/mudanças veja aqui.

Para download aqui.

Fonte: Croozeus
O Google Maps lançou uma nova funcionalidade para sua aplicação mobile que reconhece o lugar ou marca que você deseja e ele localiza o estabelecimento mais próximo da sua localização.

Por exemplo, se você está procurando por restaurantes do Habib's e digitar no campo destino do aparelho Habib's ele busca por uma rota que chegue até o estabelecimento mais próximo.

No Blog do Mobile do Google tem mais detalhes.

Algumas fontes já informaram também que já existe a funcionalidade de cálculo de rota com transporte coletivo (ônibus). Vejam algumas fotos:



Não sei se já funciona em Recife! Mas seria uma mão na roda! Sensacional!

Fonte: Portabilidade
Dica Rápida!

makeownringtone_01

O site Make Own Ringtone é um endereço onde você poderá fazer o upload de um arquivo de áudio nos formatos MP3, WMA ou OGG para criar um ringtone diretamente na internet! É gratuito! Ainda não fiz os testes, mas deve ser bem interessante!

Artigo muito bom referenciado pelo site MobilidadeETudo.

Recomendo a leitura! (Especialmente para os desenvolvedores móveis que querem entender um pouco mais sobre o cenário de plataformas móveis para smartphones atualmente).

A developer’s-eye view of smartphone platforms
symbian
Para os interessados em saber mais sobre os smartphones da Nokia, especialmente para quem não conhece muito bem estes aparelhos ou para quem está em dúvidas sobre qua comprar, recomendo a leitura destes artigos escritos por Carlos E.Morimoto (Autor do famoso site Guia do Hardware.)

Recomendo! Exclarece bem as suas dúvidas em relação a esses smartphones!

O artigo foi dividido em duas partes, Capitulo 1 e Capitulo 2.

Fonte: N Possibilidades

sdn - Share on Ovi

Se você desenvolve aplicativos para a plataforma Symbian/Nokia, então não perca a oportunidade de exibir sua aplicativo móvel no stand do Symbian Foundation no Congresso Mundial de Mobile (Mobile World Congress - Barcelona 16- 19 Fevereiro) em cortesia do Symbia Developer Network.

Para fazer parte, o aplicativo deve está finalizado e funcional nos aparelhos Symbian S60 5 .x. e Se você está interessado, faça o download e preenha esta planilha e retorne para alice.kenny@symbian.com até 23 de janeiro de 2009. Mais informações ver este site.

Os premiados ganharão 2 convites grátis (valor de 599 euros cada um) como congressista do evento e 2 convites para a festa do Symbian Foundation!


Essa imagem foi de um aparelho G1 rodando o Android com um porting do Python não oficial para o mesmo feito por um desenvolvedor. Mais informações ver o site : http://www.damonkohler.com/2008/12/python-on-android.html
Já pensou e poder controlar seu Playstation 3 usando o seu celular ?? Pois é, só acreditei vendo! Veja o que essa empresa Unify4Life anunciou o seu novo software Play| Shadow que permite controlar remotamente seu PlayStation 3 usando um Blackberry. A comunicação é feita por bluetooth usando um adaptador bluetooth acoplado ao videogame.

Vejam o aplicativo em ação aqui:



Fonte: IntoMobile

Um estudo sobre convergência

Para os interessados sobre a história do mobile e principalmente sobre os principais marcos que mudaram a trajetória do aparelho celular (aparecimento da câmera, jogos, rádio FM, SMS, mobile-tv, ring-tone) vale a pena ler este artigo (um pouco grande), em inglês:

A Study in Digital Convergence: The Nokia Decade


Ah, o autor do artigo foca um pouco sobre os aparelhos Nokia e a evolução dos mesmos.

Boa leitura!
Se você está interessado em desenvolver aplicativos que envolvam parte de gráficos de baixo nível no Android, vale a pena dar uma olhada nessa apresentação em slides (em inglês) : ‘Filthy Rich Android Clients’. Foi elaborada por um dos desenvolvedores que trabalham na Google com o toolkit de interface gráfica do Android.

Boa leitura.
Já venho publicado algumas postagens sobre dicas de como se portar e preparar a sua apresentação ao público. Hoje encontrei mais um material técnico referente com dicas de como criar os slides da sua apresentação, principalmente quando se trata de uma apresentação técnica.

Já tenho seguido algumas dicas antes mesmo de ter lido este artigo, mas agora vejo que são técnicas interessantes e válidas para atingir o seu público de forma agradável e não entediante.

Gostei da observação do autor ao falar sobre a diferença de estilos de apresentação: As formais e as artísticas. As artistícas são as mais bem feitas cheia de firulas, descontraídas e com menor densidade de conteúdo ("Apresentação a la Steve Jobs"). Porém exige muito do apresentador especialmente devido ao intenso treinamento. Já as formais são aquelas que tendem ter maior densidade de conteúdo e ser mais detalhista. O interessante é saber como fazer a mistura certa dos dois estilos para atingir o perfil do público do evento de forma correta.

Sempre gostei das apresentações artísticas, mas com conteúdo e vocês ? =D

Vejam o artigo aqui no site do Vitor Plampona: Dicas para Criar Slides.

WordMobi: Publique posts do seu blog pelo seu celular

Para os desenvolvedores de Python, e em especial para os blogueiros que querem publicar textos em seus blogs hospedados na plataforma Wordpress a partir dos seus celulares, há uma opção muito interessante, e open-source, desenvolvida para celulares Symbian. O aplicativo é denominado WordMobi e já se encontra na versão 0.3.0.1
Recomendo o download!

PS: Embora meu blog não esteja hospedado no Wordpress, e sim no Blogger, seria interessante ter esse aplicativo portado para postagem em blogs do Blogger (da Google). Deixo a dica! Não sei a Google tem uma API que permita o acesso remoto por aplicativos terceiros. Seria uma mão na roda!!

screenshot0008thumbnail


Fonte: rodrigostoledo.com
Para os deficientes audio-visuais e tem um aparelho celular mobile e não pode usufruir do aparelho, visto que os mesmos necessitam de interação visual, este aplicativo Nuance & Talks pode ajudá-los. O programa fala todos os menus, linhas letras, palavras e numeros, mensagens, reconhece o navegador, contatos, identifica chamadas, ajuda, entre outros recursos, inclusive de contraste especifico pra quem tem baixa visao e ainda tem funcao de zoom de ate 1600% entre outros plugins que podem ser adicionados.

http://pic.ramalhoblog.com/images/vh7qnp4uxssb5kowj9if.jpg

Para mais informações ver o site do desenvolvedor aqui.

Fonte: Ramalho's Blog
Olá a todos,

Estive um pouco ausente deste blog, mas pretendo retornar com mais afinco para atualização deste blog com informações sobre mobile, computação ubíqua e sistemas móveis.

Para iniciar, gostaria de divulgar alguns artigos interessantes publicados pelo Ricardo Ogliari no site da DevMedia sobre JavaME. Recomendo a leitura!


Qual a principal API opcional da Java ME?
Java DB e dispositivos móveis

Mais informações, ver o blog do Ricardo: Mobilidade é Tudo.

Nimee: Transforme seu celular em um mouse para PC.

Vi referências sobre este aplicativo, NiiMe desenvolvido em Python, que usa o acelerômetro e uma conexão Bluetooth para transformar seu celular em um mouse ou até mesmo em um volante para jogos de corrida!

Para rodá-lo, você precisa ter o Python instalado em seu aparelho S60 e uma conexão Bluetooth em seu PC para receber o sinal.

Popout

Baixe aqui o programa.

Celulares abrindo portas de garagem

A convergência chegando!


Celulares abrindo portas de garagem. A BlackBerry já mostra seu primeiro produto em funcionamento!

Vejam o vídeo:



Fonte: IntoMobile

Feedbacks do PyS60 1.9.0

Olá pessoal,

Semana passada eu escrevi um post sobre o lançamento oficial da versão 1.9.0 do Python para celulares Symbian S60 com diversas novas funcionalides e aplicativos suporte. Depois do lançamento, após alguns dias, alguns usuários já começaram a questionar o desempenho do novo interpretador do PyS60 em quesitos como tamanho da aplicação, demora para a inicialização e a impossibilidade de assinar alguns aplicativos pela Nokia que utililizam algumas bibliotecas novas (Ex: localização GSM e GPS).

Para quem quiser ver , em inglês, alguns feedbacks clique nesse link.

Quem não estiver ainda satisfeito com o PyS60 1.9 pode migrar de volta ao 1.4.5 e esperar até lançarem uma versão 1.9.x mais estável.


Caros leitores do blog Mobideia, primeiramente quero desejar um feliz ano novo a todos! Espero que este ano seja repleto de realizações, saúde e sucesso. Espero que este ano possa contribuir mais com o blog trazendo novidades, artigos e tutoriais sobre o mundo mobile.

Para o primeiro post deste ano, gostaria de falar sobre o Mobvis. Encontrei referências sobre ele em alguns blogs que leio diariamente. Ele é um aplicativo desenvolvido para funcionar em celulares para conseguir informações sobre pontos turísticos com a ajuda do GPS e a câmera do dispositivo móvel. A idéia do aplicativo é a possibilidade de construção de mapas mais dinâmicos com conteúdo colaborativo, pois permite que voce obtenha informações sobre pontos turísticos usando a câmera do celular (reconhecimento do lugar) e o gps (localização do usuário).

Vejam o vídeo demonstração falando mais sobre o aplicativo:




Fonte: RodrigoSToledo

CRBluetooth: Projeto Open-Source de controle do PC via Bluetooth

Gostaria de divulgar um projeto muito interessante desenvolvido pelo colega Elio Eduardo chamado de CRBluetooth. O projeto consiste na construção de um aplicativo para dispositivos móveis que permita o controle de um computador através da conexão sem fio bluetooth.

Os aplicativos foram desenvolvidos em JavaME (aplicação cliente mobile) e JavaSE (Aplicação servidor desktop). O projeto foi desenvolvido como projeto de conclusão de curso do Élio e ele me pediu para que eu pudesse divulgar no blog esse projeto que é open-source e disponível para donwnload, tanto os executáveis como o código-fonte.

A idéia do Élio é permitir que outros desenvolvedores contribuam com o projeto dando sugestões, adicionando novas funcionalidades e até como fonte de estudos para outros que estão querendo desenvolver aplicativos com conexão sem fio bluetooth.

Sumarizando o que o aplicativo pode fazer, seria:

"O celular permite a execução de eventos de teclado e mouse, que são enviados para o servidor através de uma conexão SPP. Estes eventos são enviados para o Sistema Operacional através de um objeto da classe awt.Robot.

O aplicativo também permite a configuração da velocidade de deslocamento do mouse e dos eventos de teclado associados as 4 teclas de ação da Game API. As preferências do usuário são armazenadas através da Preferences API."

Um comentário adicional é que o aplicativo para fazer a conexão remota com o servidor, utiliza a biblioteca open-source bluecove que funciona como intermediário de comunicação entre o adaptador bluetooth e sua aplicação. Desenvolvida em Java! Para download ou mais informações, ver o site oficial do projeto bluecove.

O Aplicativo servidor funciona tanto no linux como no windows. Cool! =]


Segue o link do projeto.


Os fontes já estão la e nos downloads estão os arquivos de distribuição.


Quaisquer informações, procurar o Elio.

E meus parabéns, pelo bom trabalho realizado!


PyS60 1.9 foi lançado com novas features e suporte ao Python 2.5!


Fiquei surpreso com o presente que o ForumNokia lançou para os desenvolvedores Python! Já está disponível para download o PyS60 versão 1.9.0.

Este post sumariza algumas novas funcionalidades do PyS60 1.9.0. (Baseado no post do blog Croozeus ).


  • Talvez a principal novidade é que o pyS60 está baseado no novo core do Python 2.5.1. Isso inclui grande parte dos módulos existentes na biblioteca padrão, como o parser Expat XML, ftplib,smtplib,urllib2,xmlrpclib, HttpServer, cPickle, asyncore e maior compatibilidade com sockets. Garbage Collection está também incluso, então não há mais necessidades de desfazer manualmente as referências.
  • Gerar aplicativos executáveis (.SIS) agora está muito mais fácil (Tinha uma idéia engatilhada sobre isso). A ferramenta Ensymble com uma nova interface de usuário é agora a ferramenta oficial para geração dos arquivos .SIS.
  • Os aplicativos .SIS estão agora mais robustos. Se o runtime do Python está ausente e você tenta executar o aplicativo, uma mensagem de erro mais amigável é exibida em vez de um erro fatal incompreensível como era antes.
  • Se o aplicativo lançar uma exceção no ínicio de sua execução, a pilha de execução (logs de chamadas de onde a exceção foi lançada) é impressa na tela em vez de o aplicativo sair subitamente sem nenhuma informação.
  • Os aplicativos tem um console de texto padrão do mesmo jeito que tem no ambiente de desenvolvimento de scripts. Isso significa que usar os comandos print funcionam do mesmo jeito em aplicativos SIS empacotados quanto em modo script (.py).
  • Em dispositivos S60 3rd FP2, o acesso ao GPS funciona de imediato sem a necessidade de assinar o aplicativo (signing). Desde a versão Symbian S60 FP2 que a funcionalidade de localização já é ativada por padrão, agilizando o processo de testes.
  • A compatibilidade com o Python 1.4.x ainda continua. Então quase todas as bibliotecas APIs ainda continuam na versão 1.9. O resto vai sendo adicionado durante o lançamento de novas versões.
  • A inicialização do intepretador é mais lenta em comparação com as versões anteriores. Ainda está em fase de otimização.
  • O tamanho do arquivo de instalação do interpretador desta nova versão está muito maior que as versões anteriores. Isso faz sentido visto ao aumento de funcionalidades e bibliotecad dispostas na versão 2.5. Porém, há um trabalho intenstivo pela comunidade dos desenvolvedores do PyS60 para obter o arquivo de instalação com tamanho menos de 1 MB.
  • Há uma dependência maior em relação às bibliotecas OpenC, que devem ser intaladas para que o intepretador PyS60 funcione.
  • Os aparelhos S60 2 Ed. não são mais suportados a partir desta nova versão em diante. Isso se deve pelo fato que as bibliotecas OpenC (o qual o interpretador é fortemente dependente) não estão disponíveis no S60 2 Ed.
  • Esta versão inicial é voltada para os desenvolvimento de scripts e não há suporte ainda para desenvolvimento de extensões, já que o plugin para o C++ SDK não está incluso. Em breve estará disponível.
  • Compatibilidade entre as versões 1.9.x não são garantidas até a versão 2.0. É uma versão oficial porém acho que mais uma release para testes para a comunidade python.

Resumindo, pode-se concluir que:

Pros:

  • Suporte ao Python 2.5.1. Mais módulos disponíeis aos desenvolvedores. Isso significa mais estabilidade e mais funcionalidades ao alcance dos desenvolvedores.
  • Empacotamento de arquivos SIS. Pode-se considerar como a principal feature desta nova versão. A ferramenta Ensymble foi melhorada com a incrementação de uma nova interface GUI para facilitar o uso.
  • Tratamento de erros melhorado . Se o aplicativo lançar uma exceção no ínicio de sua execução, uma mensagem de erro é impressa na tela com informações de onde foi lançado a exceção.

Contras:

  • Instalação e inicialização mais demorada. Realmente a instalação e a inicialização foi muito mais lenta em comparação às versões anteriores. Isso já está sendo corrigido.
  • Sem suporte ao Symbian S60 2 End.. Devido à forte dependência do interpretador ao Open C, esta versão e as próximas não terão mais suporte ao aparelhos Symbian S60 2 End.

Notas:

  • Esta nova versão já funciona no S60 5th Edition, embora não tenha nada comentado à respeito a suporte de eventos touchscreen.
  • Aparentemente o PyS60 mudou seu site de hospedagem para: https://garage.maemo.org/projects/pys60/
  • A documentação agora não vem mais como um arquivo PDF (pelo menos nessa versão). Agora vem em formato HTML separados em vários documentos.

Embora esta versão não seja ainda completamente estável, acreido que seja uma prévia das várias versões 1.9 para o lançamento do PyS60 2.0!

Seria mais legal ainda, se um dia o PyS60 pudesse vir previamente instalado nos aparelhos Symbian. Será que isso será com o PyS60 2.0 ?

Recomendo o download!


To-do-list em Python S60

Achei esse programa bem legal desenvolvido em Python para celulares Symbian S60. Ele se chama IdeaList. Ele é um To-Do-list que permite você organizar suas tarefas e compromissos direto pelo celular.
Vejam o vídeo de demonstração:



IdeaList - feature demo from ranza on Vimeo.



Sim, o programa é open-source pela licença GPL v3.

Para acessar o site do projeto, clique aqui.

Fonte: Croozeus

Apresentação: Mobile Developer's Dilemma - What Should I build ?

Achei essa apresentação no blog Mobile Phone com o seguinte tópico: 'Mobile Developer's Dilemma- What Should i Build ?'

Essa apresentação foi realizada por Paul Golding (um dos especialistas da área de mobile) e traz diversas informações como:

  • A experiência do usuário
  • Contexto em ação
  • Negócios
  • Parcerias
  • Oportunidades atuais
  • Tendências em 2009


pgoldingbusiness.gif

Gostei das dicas, especialmente pelas novas tendências: Application Stores, Aplicativos envolvendo redes sociais e aplicativos web.

Recomendo a leitura!

Fonte: Mobile Phone Development
Olá pessoal,


Achei uma coletânea de posts com várias dicas para melhorar suas apresentações e palestras em público. Dicas que abrangem desde o comportamento até a estrutura da sua apresentação no powerpoint. Agradecimentos ao blog ciberg nético (colega Anderson Berg) pelas dicas apresentadas.

Post 1: Dicas - Prepare-se e organize-se para suas palestras

Post 2: Dicas - Faça sucesso com suas apresentações no powerpoint

Post 3: Dicas - Acabe com os marcadores (Comunicação eficaz)





Ps: Nada mais justo do que colocar a foto de um maiores apresentadores e palestrantes: Steve Jobs. O cara que quando vai apresentar nos principais eventos da Apple, faz as ações da Apple subirem antes da apresentação.
Achei esse conjunto de artigos publicados esse mês pelo Symbian Developer Network.

1) A Arquitetura de aplicativos que combinam várias linguagens, inclusive com os pontos fracos e fortes.

2) Como integrar o Python S60 com o Flash Lite e C++ (Flyer Framework e Extensões com Symbian C++)

3) Como integrar o flash lite com o C++ ou Java (KuneriLite ou Jarpa)

4) Como extender WRT Widgets

Quero destacar os artigo 2 e 3 que teve o apoio do colega Felipe Andrade (I2 Tecnologia) que escreveu sobre o Flyer e o Jarpa!

Muito bom o material, recomendo para estudo!

Vídeo sobre costumes dos japoneses em relação aos celulares

Vocês sempre quiseram saber os hábitos e costumes dos japoneses em relação ao uso dos celulares? E que tecnologias já estão por lá no Japão e que ainda aqui no Brasil está ainda longe de acontecer?

Vejam essa reportagem veiculada pelo Jornal Globo sobre os costumes dos japoneses em relação ao celular.

Veja o vídeo aqui.


Fonte: MobilePedia
Para os interessados em metodologias ágeis e que aplicam o SCRUM em seus projetos. Recomendo a leitura do livro: Scrum e XP direto das trincheiras escrito pelo autor Henrik Kniberg.

De acordo com o site INFOQ em parceria autor,

O livro oferece um ponto de início, através de um conto detalhado sobre como uma empresa sueca implementou Scrum e XP com um time de aproximadamente 40 pessoas e como ele continuamente melhoraram seu processo ao longo de 1 ano.

Este livro inclui:

  • Dicas práticas e truques para a maioria das práticas de Scrum e XP
  • Armadilhas típicas e como eleas devem ser trabalhadas
  • Diagramas e fotos ilustrando o dia-a-dia
  • Testes e test-driven development
  • Escalar e coordenar multiplos times
  • Lidar com resistência de dentro ou de fora do time
  • Técnicas de planejamento e estimativa
  • Prefácios por Jeff Sutherland e Mike Cohn

Scrum e XP nas Trincheiras


O mais legal é que o livro é gratuito e está disponível para download no site do InfoQ mediante um simples cadastro.
microsoftpatternsandpractices.gifPara os desenvolvedores .NET especialmente para a plataforma Windows Mobile, a Microsoft publicou um guia de 144 páginas: Mobile Application Architecture Guide. Esse guia provê uma visão geral e procedimentos para desenvolvimento de aplicativos na plataforma .NET. Embora seja focado especialmente em .NET, o seu conteúdo pode ser re-utilizado (padrões e práticas) em outros projetos mobile com outras tecnologias.

O público-alvo desse guia é desenvolvedores e arquitetos.

Os tópicos cobertos de acordo com o site, são:
  • Mobile Application Architecture
  • Design Considerations
  • Rich client vs thin Web client
  • Device types
  • UI
  • Authentication
  • Authorization
  • Caching
  • Communication
  • Configuration
  • Management
  • Data Access
  • Debugging
  • Logging
  • Porting
  • Deployment

Fonte: Mobile Development

Descobri pelo blog do Rodrigo Toledo que uma empresa chamada Ei Movil desenvolveu um pequeno programa que permitirá que os funcionários possam controlar seus pontos remotamente através do aparelho celular. O aplicativo foi desenvolvida em JavaME, e o controle do ponto para a empresa é enviada por meio de um SMS.

Eu me pergunto se esse programa realmente funciona ou se ajudaria os funcionários dormirem mais um pouco para iniciar a trabalhar... hehe =D


Mas é uma bela idéia, é!

Fonte: RodrigoSToledo.com

Um vídeo interessante que eu encontrei no blog Portabilidade BR falando sobre o MobileSocket. Simplesmente um programa no seu celular que permite você controlar o seu PC remotamente.

Vejam o vídeo do aplicativo em execução!



Mobile2Socket :: Teaser from Colmeia on Vimeo.
Seu sonho sempre foi querer que seu celular que pudesse controlar o seu carro de controle-remoto ? Pois é, isso é possível e com o seu Iphone!

Com o NerdKit é possível construir em um fim de semana todo o aparato necessário para controlar seu carro de controle remoto pelo celular. A idéia é que o mesmo sirva como um elo entre o PC e o carro. Além de ser um ótimo exemplo de entendimento e como os micro-controladores e sistemas complexos trabalham em conjunto, podendo ser desenvolvido em apenas um fim de semana em casa.
O kit que pode ser obtido no próprio site, por 79 dólares com desconto para estudantes. Achei bem legal todo o kit disponível e pela aparência do site as instruções não são tão difíceis de se realizar.

Recomendo a visita.

Vejam o vídeo-demonstração do carro controlado remotamente pelo celular:

[Artigo] : Redes Neurais - Perceptron de Uma camada

Olá a todos,

Gostaria de informar que irei escrever alguns posts em parceria com meu colega Luis Soares sobre idéias, tutoriais, artigos e notícias na área de inteligência artificial em geral. Claro que o tema mobile estará sempre envolvido, que é o foco desse blog.


Nesse primeiro artigo, estarei escrevendo sobre as Redes Neurais e algumas implementações simples desenvolvidas em Python. A minha idéia é montar um pequeno simulador que sairei portando implementações simples de conceitos relacionados à inteligência artificial para o celular Symbian S60. A escolha dessa plataforma é pelo fato de a mesma oferecer maior liberdade ao desenvolvedor com uma variade de plataformas de desenvolvimento. E também pelo fato que esse sistema operacional está presente em celulares inteligentes (smartphones), caracterizados pelo seu poder de processamento e memória acima dos celulares comuns.

Apresentando as Redes Neurais

O que são? - “São sistemas de processamento de sinais ou de informações, compostos por um grande número de processadores elementares chamados neurônios artificiais, operando de forma paralela e distribuída, de modo a resolver um determinado problema físico/computacional.”

Esquema! - (X1, X2, …, Xn) * (W1, W2, …, Wn) — F(x) — Y

Isso significa que uma Rede Neural, de um neurônio apenas, é um combinador linear que passa por uma função de ativação e dá um resultado Y, o mais interessante é que podemos programá-la para que ela dê o resultado que você deseje!

Com isso podemos fazer, dentre outras coisas, aproximadores de funções, associadores, classificação de padrões, predição futura, controle de sistemas, filtragem de sinais, compressão de dados, datamining, etc.

Redes Neurais podem ser de vários tipos, nesta parte básica vamos ver as mais simples, as Redes Neurais supervisionadas, que são treinadas (ou programadas) usando um conjunto de exemplos conhecidos, com atributos e respostas, e desta forma a Rede Neural “se acostuma” em dar os resultados desejados e passa a responder de acordo.

Programar uma Rede Neural é ajustar os valores do vetor W, de todos os neurônios, para que determinada entrada X, quando processada, resulte num valor Y desejado.

Eu irei começar com a mais simples redes neurais de todas, a Perceptron com apenas uma camada de neurônios e trabalhar sobre as diferentes arquiteturas e técnicas de aprendizado que eventualmente irão convergir para redes que podem prever tendências dos preços das ações de uma bolsa de valores, reconhecimento de padrões, processamento de linguagem natural, etc.

Todos os códigos serão escritos em python, e podem ser executados através do seu celular Symbian S60. No próximo post apresentarei a plataforma Python para celulares Symbian S60.

O Perceptron é o ancião de todas as redes neurais. Ela foi criada em 1957 nos laboratórios das forças militares por Frank Rosenblatt. O Perceptron é o mais simples tipo de rede neural diretas (Feedfoward) , conhecido como classificador linear. Isto significa que os tipos de problemas solucionados por esta rede neural devem ser linearmente separáveis. O que significa isso ? O gráfico abaixo ilustra facilmente o que ser um problema linearmente/não-linearmente separáveis em duas dimensões.

linearly separable linearly non-separable

Lineamente Separável.

Não linearmente separável.



A linha verde representa a separação entre duas classes de dados que uma rede está tentando classificar. Em três dimensões, isto seria representado por um plano, e em 4 dimensões ou mais por um hiper-plano. Há outros tipos de redes de neurais que pdoem solucionar problemas linearmente e não linearmente separáveis, que serão discutidas em futuros posts.

Para tentar resolver este problema, nós precisamos de uma rede representada pela figura abaixo.

single layer perceptron


Como vocês podem observar, cada nó de entrada (input) está diretamente conectado ao nó de saída (output). Ajustando os valores dos pesos (weight) que conectam tais nós , a rede é capaz de aprender.

Em uma simples demonstração, irei usar o conjunto de dados plotados no primeiro gráfico aqui apresentado como os dados de treinamento (conjunto de dados para treinamento). O conjunto de dados de treinamento será usado repetidamente como entrada para os nós de entrada (input) da rede neural, fazendo com que os pesos se ajustem até a rede neural atinja o desempenho e objetivo desejado, que é classificar um conjunto de dados linearmente separáveis.

Uma vez que a rede neural foi treinada, a aplicação irá acessar uma base de dados (diferente dos dados de treinamento) e irá provar que a rede neural aprendeu corretamente e tem a capacidade de generalização; ela pode encontrar respostas corretas mesmos quandos os dados de entrada estão incompletos ou quando a relação entre a entrada e a saída não é concreta.

O código abaixo mostra como isso foi realizado.

Um algoritmo simples

Este descreve apenas o funcionamento de um neurônio.



##################################################
# #
# Copyright 2008 Marcel Pinheiro Caraciolo #
# #
# #
# -- Perceptron Neural Net snippet code #
# -- Version: 0.1 - 12/12/2008 #
##################################################

#Snippet Neuron

from random import random

class Neuron:

def __init__(self,data,learningRate = 0.1):
self._learning_rate = learningRate
self._input,self._output = data
#Randomise weights.
self._weight = map(lambda x: x*random(), [1] * len(self._input))
#print self._weight
self._y = None
self._global_error = 0.0


def train(self,data):
self._input,self._output = data
#Calculate output.
self._y = self._sign(self._sum())
#Calculate error.
if self._error() != 0:
#Update weights.
self._adjustWeight()
#Convert error to absolute value.
self._global_error += abs(self._error())

def execute(self,input):
self._input = input
#Calculate output.
self._y = self._sign(self._sum())
return self._y


def _sum(self):
return sum(map(lambda x,y: x*y, self._input,self._weight))

def _sign(self,output):
if output < 0:
y = -1
else:
y = 1
return y

def _error(self):
return self._output - self._y

def _adjustWeight(self):
self._weight = map(lambda x,y: x + (y*self._learning_rate*self._error()),self._weight,self._input)

def getGlobalError(self):
return self._global_error

def resetGlobalError(self):
self._global_error = 0



E para executar o perceptron, que é o que irá apresentar os exemplos ao neurônio, temos:



##################################################
# #
# Copyright 2008 -Marcel Pinheiro Caraciolo- #
# #
# #
# -- Perceptron Neural Net snippet code #
# -- Version: 0.1 - 12/12/2008 #
##################################################


#Snippet Perceptron

from Neuron import *


class Perceptron:

def __init__(self,inputs,iterations=100):
self._inputs = inputs
self._refresh_inputs = list(inputs)
self._iterations = iterations
self._iteration = 0
self._neuron = Neuron(self._getRandInput())
self._train()


def _train(self):
while self._iteration <= self._iterations:
self._neuron.resetGlobalError()
self._refresh_inputs = list(self._inputs)
for i in range(len(self._refresh_inputs)):
self._neuron.train(self._getRandInput())
print "Iteration %d Error: %f" % (self._iteration, self._neuron.getGlobalError())
self._iteration += 1
if(self._neuron.getGlobalError() == 0.0):
break


def _getRandInput(self):
return self._refresh_inputs.pop()


def execute(self,input):
return self._neuron.execute(input)


def arange(self,start,stop=None,step=None):
if stop is None:
stop = float(start)
start = 0.0
if step is None:
step = 1.0
cur = float(start)
while cur <= stop:
yield cur
cur+=step

Execute as classes acima usando:




#main Logic

#Load sample input patterns
inputs = [ [[0.72, 0.82], -1], [[0.91, -0.69], -1],
[[0.46, 0.80], -1], [[0.03, 0.93], -1],
[[0.12, 0.25], -1], [[0.96, 0.47], -1],
[[0.8, -0.75], -1], [[0.46, 0.98], -1],
[[0.66, 0.24], -1], [[0.72, -0.15], -1],
[[0.35, 0.01], -1], [[-0.16, 0.84], -1],
[[-0.04, 0.68], -1], [[-0.11, 0.1], 1],
[[0.31, -0.96], 1], [[0.0, -0.26], 1],
[[-0.43, -0.65], 1], [[0.57, -0.97], 1],
[[-0.47, -0.03], 1], [[-0.72, -0.64], 1],
[[-0.57, 0.15], 1], [[-0.25, -0.43], 1],
[[0.47, -0.88], 1], [[-0.12, -0.9], 1],
[[-0.58, 0.62], 1], [[-0.48, 0.05], 1],
[[-0.79, -0.92], 1], [[-0.42, -0.09], 1],
[[-0.76, 0.65], 1], [[-0.77, -0.76], 1]]


perceptron = Perceptron(inputs,1000)

#Display network generalization
print ""
print "X, Y, Output"
for i in perceptron.arange(-1,1,0.5):
for j in perceptron.arange(-1,1,0.5):
#Calculate output.
result = perceptron.execute(list((i,j)))
if result == 1:
result = "Blue"
else:
result = "Red"
print "%f %f %s" % (i,j,result)


A saída da rede após o treinamento é exibida conforme abaixo, o que prova que a generalização foi atingida. Cada par de coordenadas (x,y) quando apresentadas à rede, retorna a classificação esperada, isto é, vermelho ou azul.


(...)
X, Y, Output
-1.000000 -1.000000 Blue
-1.000000 -0.500000 Blue
-1.000000 0.000000 Blue
-1.000000 0.500000 Blue
-1.000000 1.000000 Blue
-0.500000 -1.000000 Blue
-0.500000 -0.500000 Blue
-0.500000 0.000000 Blue
-0.500000 0.500000 Blue
-0.500000 1.000000 Red
0.000000 -1.000000 Blue
0.000000 -0.500000 Blue
0.000000 0.000000 Blue
0.000000 0.500000 Red
0.000000 1.000000 Red
0.500000 -1.000000 Blue
0.500000 -0.500000 Red
0.500000 0.000000 Red
0.500000 0.500000 Red
0.500000 1.000000 Red
1.000000 -1.000000 Red
1.000000 -0.500000 Red
1.000000 0.000000 Red
1.000000 0.500000 Red
1.000000 1.000000 Red


Analise o objeto criado, seus métodos e pesos, verifique que com o método “execute” você poderá testar se as respostas estão sendo dadas corretamente.


Além de problemas triviais como este de classificação de 2 dimensões , o Perceptron pode realizar uma análise mais poderosa em mais dimensões. As regras genéricas aqui apresentadas são também aplicáveis.


No próximo post, eu falarei mais sobre a Adaline, que é outro tipo de rede neural feedfoward como o Perceptron.

Download dos códigos aqui.

O que é A-GPS ? (GPS Assistido)

Gostaria de fazer uma referência a um post do blog VivaSemFio que explica o que é e como funciona o A-GPS (Assisted Global Positioning System) - GPS assistido -, recurso esse cada vez mais presente nos telefones celulares.

Recomendo a leitura!

Computação Móvel e Computação Inteligente : Juntos!

Uma tendência na área de computação que vem crescendo nas últimas décadas é sem dúvidas, o surgimento de dispositivos cada vez mais menores e pessoais. Sistemas monolíticos, os famosos mainframes utilizados por diversos usuários estão quase que extintos dando lugar aos poderosos computadores pessoais, considerados como os primeiros marcos dessa evolução. Mas nós sabemos que os PC's não são o fim dessa linha.

Os computadores pessoais estão ficando mais portáveis e menores. Exemplos como notebooks e os famosos palmtops (PDAs) ficaram extremamente populares. Mas esse não é o fim deste processo. O próximo passo são os computadores "vestíveis" que podem ser carregados como roupas e novas interfaces que ligadas ao cerébro do ser humano, ampliam a visão da realidade pelo usuário. Isso nos faz ter uma previsão preliminar de que todo esse desenvolvimento faz conceber de que os computadores não serão apenas dispositivos encapsulados em gabinetes, mainframes ou mini-gadgets, mas tomarão forma de um ambiente computacional inserido no contidiano do usuário, seja embutido em roupas, carros, setup-boxes, microondas, ou até em garrafas de leite.

De acordo com a visão futurista dessa nova infra-estrutura computacional por muitos estudiosos desse novo campo de pesquisa, também denominado de computação ubíqua, por exemplo, seria a possibilidade de um dia as pessoas poderem ser lembradas de comprar leite quando elas estiverem no supermercado, através de uma mensagem enviada até o seu relógio, celular, ou até seu óculos pela sua geladeira que monitora automaticamente todo o seu estoque interno. Existem, é claro, outros cenários que os usuários podem receber mensagens personalizadas de acordo com a situação e contexto que o usuário estiver inserido.

Embora, a idéia de uma garrafa de leite computadorizada seja apenas uma pequena idéia de pesquisa, está mais visível que a informação de hoje está rapidamente se movendo para pequenos dispositivos hi-tech eletrônicos saíndo de rascunhos e protótipós de laboratório até as prateleiras de lojas e no nosso dia -a - dia. Celulares, PDAs, laptops, parecem convergir para uma nova geração de dispositivos inteligentes com comunicação sem fio e razoável poder computacional para uso diário. Novos protocolos de comunicação e padrões inseridos em redes sem fio de banda larga permitem o acesso à informação em quaisquer lugares. Combinado com o posicionamento através de satélites (GPS) ou através dos sinais das antenas das operadoras telefônicas utilizadas pelos aparelhos móveis, os novos serviços disponibilizarão a capacidade de localização do usuário.
Mas não só apenas um hardware poderoso com acesso a uma rede sem fio garante a usabilidade desses sistemas móveis. Alguns softwares e serviços tradicionais podem ser usados nesses dispositivos, mas outros simplesmente não serão utilizáveis ("viáveis") quando não se tiver acesso a um teclado ou até pela resolução ou tamanho da tela ser reduzido. Logo, o grande desafio para o sucesso e popularização dos sistemas móveis é o design de interfaces e softwares inteligentes que permitem o fácil acesso a informações pessoais e flexibilidade suficiente para o tratamento de mudanças de contexto de usuário ou disponibilidade de recursos.

Existem inúmeros problemas que devem ser solucionados a fim e tornar essa nova infra-estrutura viável e útil para os usuários móveis. Entre os diversos problemas , podemos destacar:

- Informações relacionadas à contexto/situação
- Informações relacionadas à localização
- Interação e usabilidade em dispositivos móveis
- Interfaces de usuário inteligentes
- Adaptação a recursos limitados
- Tolerância a falhas
- Descoberta de novos serviços, busca de informações, etc sobre contexto.
- Sistemas baseados em investigação do comportamento do usuário, etc.

Algumas aplicações de pesquisa no campo de Inteligência artificial tem investigado os problemas de desenvolver interfaces inteligentes e cooperativas por vários anos e tem explorado fortemente com a questão de disponibilidade de recursos, que em dispositivos móveis são limitados.

Portanto, técnicas inteligentes podem prover um conjunto de soluções para esses problemas. Como também ferramentas bem promissoras para desenvolvimento de sistemas móveis que utilizam recursos de localização e contexto para dar suporte ao usuários de uma forma não intrusiva.
Não só apenas técnicas de I.A. podem ser utilizadas na construção de sistemas móveis assistentes, um outro grupo bem diferente de técnicas podem ser também integradas a fim de atingir um objetivo satisfatoriamente. Por exemplo, o aprendizado, é um fator crucial para serviços adaptáveis baseados no uso do usuário. Técnicas como aprendizado simbólico de I.A até redes neurais podem prover a flexibilidade necessária para um sistema que se adapta às preferências do usuário em diversos contextos. Há questões também relacionadas à sistemas baseados em localização. Com estes métodos, eles podem ser usados em serviços adaptáveis para localização inteligente do usuário, como por exemplo tomada de decisões em sistemas de navegação ou busca contextual de informações de acordo com a localização.

É com essas idéias em minha mente que venho nesse blog também a partir das próximas semanas apresentar conceitos relacionados à inteligência articial aplicada em sistemas móveis, com discussões de tópicos introdutórios e avançados para o estudo de I.A trabalhando em conjunto com o desenvolvimento de aplicativos e serviços móveis.

Para finalizar, acho que une as duas coisas que mais me motivam a continuar mais estudando e explorando o mundo da computação: Computação Móvel e Inteligente. Porque então não unir os 2 campos ?

Este blog é o portal das oportunidades! Estejam antenados.
Olá pessoal,

Gostaria de compartilhar com vocês um achado bem interessante que o usuário "nitaibezerra" comentou no meu blog sobre aquela idéia de desenvolver um sistema de buscas de transportes coletivos. Fiquei surpreso ao ver que já tem um sistema desse em desenvolvimento e já disponível para o público (versão beta) : Omnibus. Um sistema web que permite que o usuário enconre informações sobre rotas de transporte públioco na região metropolitana do Recife.
Decidi, testar o sistema e na sua página inicial, já nos informa as suas funcionalidades:
  • Obtenha a descrição da rota com explicações passo a passo.
  • Encontre paradas de ônibus por bairro.
  • Visualize a rota de ônibus na sua região.
  • Realize buscas por pontos de referência.


C0loquei o Endereço de minha residência como ponto de origem e o do meu trabalho como ponto de chegada. Com uma interface intuitiva (lembrando ao google maps) ele exibiu todo o percusso necessário que eu necessitava fazer para chegar até o local desde a saída da minha residência até o local desejado. Informou as linhas, as paradas de ônibus, o tempo de viagem... resumindo grande parte das minhas idéias foram atendidas por esse sistema. Descobri também que o sistema é colaborativo, logo os usuários cadastrados podem cadastrar novos pontos de parada a fim de melhorar a precisão da busca do sistema. Realmente, gostei muito do aplicativo e gostaria de saber quais algoritmos de roteamento por trás estão por trás de calcular todas essas rotas. Parabéns à Inove tecnologia pelo trabalho e sem dúvidas ficou um programa fácil de usar e bem intuitivo.

Clique na figura abaixo para ampliar.



Ah! E só para não esquecer, eles também disponibilizaram uma versão mobile da página (com conteúdo todo em texto sem disponibilidade de visualização de mapa, acho que até paa reduzir os custos no trafégo de dados) . Realmente, leram todo o post do meu blog!! =D

Recomendo a visita!

Ferramenta Carbide.C++ 2.0 agora é Free!

Free Carbide


Bela Notícia aos desenvolvedores Symbian!!!

A ferramenta Carbide.C++ 2.0 foi lançada hoje e com grandes surpresas inclusive. Uma delas foi a agradável notícia que todas as versões do Carbide.c++ agora são gratuitas (sem custos)!.

Logo a versão Express não existirá mais a partir esta versão. Isso inclui ferramentas como o Carbide.UI que permite a construção de interfaces para UIQ e S60 através de componentes (drag-drop) e a depuração on device (On device debugging). Ótima notícia!

Recomendo o download!! Isso significa mais desenvolvedores desenvolvendo para Symbian e consequentemente mais aplicativos disponíveis. A Nokia e o Symbian perceberam que o mundo do "open-source" é o caminho! hehe. =]

Mais informações na pagina oficial da ferramenta.
O futuro:

"Aponte a câmera do seu celular para um objeto, e ele automaticamente te fornece informações relacionadas àquele objeto reconhecido." "Point and Find!"

Seria muito legal ter todas informações diretamente no seu celular sem a necessidade de ter quer fornecer inúmeras entradas a partir do teclado do aparelho. Já pensou, você apontar a camêra do seu celular para um poster de um filme em cartaz no cinema e o aparelho fornecer informações como o cinema mais próximo com o filme em exibição (via GPS) , críticas do filme, resenhas, sinopse, etc. Vejam o vídeo abaixo, para vocês terem uma idéia das inúmeras oportunidades que esse tipo de serviço pode oferecer.



Fonte: Symbian Blog

Monitore ambientes com o seu celular.

Interessante notícia que eu encontrei no blog Mobilidade é tudo, sobre o novo produto da motorola chamado de Motovision. Esse gadge permite monitorar ambientes pelo celular, isto é, permite enviar vídeos e imagens para até 5 celulares. Um possível uso desse sistema seria a transmissão de imagens de uma residência para o dono quando ele estivesse viajando.

Vejam o vídeo do Olhar Digital, para entender mais sobre essa plataforma.
ZonaAzulAcabei de ver uma notícia interessante no blog MobilizadoBlog, a respeito de uma nova tecnologia que está sendo implantada em São Paulo: O Zona Azul eletrônico. A CET (Companhia de trânsito) irá testar os novos modelos de cobrança de estacionamento para a zona azul. Para isso, o sistema vai contar com a ajuda dos celulares dos motoristas. Para que o usuário possa usufruir do sistema, primeiramente ele deve se cadastrar, ligando para um número específico e fornecer o CPF e o número de cartão de crédito. Logo, quando o motorista precisar estacionar é só telefonar e digitar o número da vaga indicado na placa da rua. Na hora de ir embora basta ligar de novo e desativar o serviço.

Bem interessante, esse serviço que inclusive o próprio governo com o auxílio do FINEP está financiando projetos com zona azul eletrônico. A Qualitá Informática foi uma das contempladas e seu projeto desenvolvido permitirá que o usuário estacione seu veículo numa área de Zona Azul e pague a tarifa com seu aparelho celular. O sistema calcula o valor do estacionamento e o transmite ao motorista, que pode pagá-lo na conta de telefone no final do mês ou incluir créditos exclusivos para o fim.

Há até uma reportagem do SPTV falando mais sobre o projeto do zona azul eletrônico em São Paulo. Vejam aqui o procedimento com detalhes.



Fonte: Mobilizado Blog


Qual a diferença entre arquivos .sis e .sisx ?

Uma dúvida que sempre surge entre usuários e desenvolvedores dos celulares Symbian é em relação aos arquivos de instalação de aplicativos e jogos. Geralmente, ele são fornecidos de duas formas : arquivos ".sis" ou ".six".
Qual a diferença??

Resumindo, os arquivos .sis são para versões antigas de celulares embarcados com S.O. Symbian anterior ao 8.1. No entanto, eles ainda podem funcionar em sistemas mais atuais, mas seu funcionamento não é garantido.

Já os arquivos .sisx são para celulares com Symbian 3rd Edition ( a partir do 9.1).

Outra questão que sempre surge entre os usuários de Nokia são os arquivos de instalação de aplicativos e jogos. Normalmente, eles são fornecidos pelas empresas de duas formas: arquivos “.sis” ou “.sisx”.

Basicamente os arquivos .sis são para versões antigas de celulares com o sistema operacional Symbian anterior ao 8.1. No entanto, eles ainda podem funcionar sistemas mais atuais, mas seu funcionamento não é garantido.

Se você não sabe qual é a versão do seu celular, vá até o link http://www.forum.nokia.com/devices/matrix_all_1.html que lá fornece todo o quadro de celulares e suas versões de software.

Dúvida comum e solucionada!

Fonte: Nokia Guru

Saiu a nova versão do Python para S60 (Versão 1.4.5). Entretanto, não se contentem muito que não foi nessa versão o suporte ao TouchScreen. Embora seja mais uma versão de manutenção (conserto de bugs), ele trouxe algumas novas funcionalidades:

  • Added the possibility to run Python code in threads that weren’t started by Python itself
  • Added timeout support to globalui module
  • The positioning module has been made safe to use from several threads.
  • Support for the “description” field has been added to the calendar module

A nova versão para download se encontra aqui.

Há alguns dias estava lendo em alguns blogs à respeito do Home Control Center. O que seria esse produto ? Seria um tipo de comutador, um servidor que permitiria integrar o controle de várias funcionalidades da sua residência incluindo monitoramento de energia elétrica, ativação remota de dispositivos, segurança com seu telefone celular ou computador.
Óbvio que o projeto não será algo tão "escancarado". Embora a idéia seja que desenvolvedores e parceiros terceiros possam contribuir com o servidor seja através de adição ou manutenção de novas funcionalides, a Nokia (responsável pelo produto) quer fazer os ususários possam usar adequadamente o sistema tornando o consumo de energia o menor possível. Para isso ela fez uma parceria com a provedora de energias alemã RWE que está auxiliando no desenvolvimento desse projeto. O potencial é muito grande, especialmente nessa nova área de automação residencial. Acredito que o dispositivo móvel é a interface ideal para controlar toda a " inteligência domiciliar.", especialmente quando o usuário nao está dentro de casa.

Algumas serviços interessantes seriam algo do tipo, quando você recebe uma notificação seja por SMS ou por outro aplicativo quando alguém toca sua companhia. Se você tiver um sistema de segurança de câmeras interna, você poderia receber uma foto da pessoa e até a possibilidade de você liberar remotamente a porta para ela entrar. Delírio ein?!



As principais áreas de foco do Home Center serão:

  • Segurança
  • Energia e eficiência
  • Bem-Estar
  • Construção e Design
  • Automação residencial
Nokia pretende lançar este produto na Europa em meados de 2009. Enquanto isso, você já pode dar uma olhada nas especificações do projeto que será um roteoador Wi-Fi com portas de entrada USB, ethernet, cartoes SD, e até conectividade com GPRS. Isso inclui também suporte ao celulares S60 e todos os celulares (sem ser nokia ) com browser mobile. Ah, e a Nokia vai liberar a API para que outras fabricantes possam desenvolver e integrar suporte a seus dispositivos no Home Control center. Mais informações vocês podem ouvir a apresentação do produto ( audiocast presentation) ou acessar o site nokia.com/smarthome.

Hoje durante o Nokia World em Barcelona, houve uma demonstração do Home Control Center. Vejam o vídeo abaixo de como ele funciona:








Fonte: Symbian Freak

JavaOne 2009: Submeta suas idéias/projetos!


Aproveitando o último post, também comento sobre o JavaOne 2009. Um evento realizado anualmente promovido pela SUN nos EUA para promover e divulgar inovações e novidades com a tecnologia Java. Ano que vem será em San Francisco nos dias 02/06/2008 a 05/06/2008. O mais legal é que se você tiver alguma idéia bem maneira para JavaME para ser apresentada na conferência, você pode submetê-la!

Há possibilidades de você participar também! O prazo de envio do abstract é até 19-12-2008.

Mais informações:

Do you have a cool Mobile idea for JavaOne?

Sei que está um pouco em cima, mas a informação é válida!

Para os desenvolvedores mobile em geral, a Nokia lançou o 1º Concurso Nacional de Desenvolvimento de Aplicativos para Aparelhos Nokia.
Para maiores informações visitar o link anterior ou o site Forum.Nokia.

Vejam um pequeno resumo provido pelo site da Nokia sobre o concurso:


Crie um aplicativo para um aparelho Nokia e concorra a até 10 mil reais!

Serão avaliadas a qualidade do código, a melhor interface para o usuário e a inovação. Você pode criar o aplicativo em duas plataformas: S40 e S60. Vale lembrar que o peso limite dos arquivos deverá ser de 130kb para S40 e de 500kb para S60 e que o código fonte não poderá ser fechado e nem comercial.

As inscrições são válidas até o dia 15 de dezembro e as criações serão julgadas pelo Instituto Nokia de Tecnologia - INDT. A divulgação dos vencedores será no dia 19/12/2008, no blog Sem Limites.

Encontre informações técnicas sobre o funcionamento dos aparelhos e suas tecnologias em www.forum.nokia.com. Aproveite também para testar a usabilidade da sua criação nesse site.

Além do prêmio em dinheiro, os ganhadores terão a possibilidade de ver seus aplicativos embarcados em novos produtos da Nokia, de fazerem parte da equipe de colaboradores do INDT e de até terem seus nomes divulgados pela Nokia.
Um dos meus costumes estranhos é de vez quando dormir ouvindo música. Geralmente coloco meu mp3 player ou meu celular com músicas mais sossegantes no fone de ouvido e me deito até pegar no sono. Claro, que isso tem um preço: A bateria do seu aparelho vai pelo espaço! Aí pensei, porque nao ter um aplicativo no celular que pudesse saber de alguma maneira (configuração ou falta de iteração do usuário) que eu estivesse dormindo e automaticamente desligaria o player de multimídia.
Eis que surge então o famoso Sleep Music. Um aplicativo para celulares Symbian desenvolvido em python que permite que você possa configurar um tempo pré-definido que o player ou o rádio do seu celular seja desligado. Logo, assim que o tempo se esgotar, o aplicativo fecha automaticamente, não necessitando que você tenha que desligar o aplicativo antes de dormir. Você poe até configurar para que ele desligue o telefone após algum tempo.


Sleep Music - Share on Ovi


A outra sacada do aplicativo é que vocÊ pode configurar ele para desativar o player quando o telefone estiver inativo por um determinado tempo (sem movimentaçoes, pressionamento de teclas, chamadas, etc.)

Recomendo o uso!! Posso dormir agora sem me preocupar em desligar o celular. Meu sono agradece! =D

Para instruções de download, ver esse site.

Fonte: Symbian Blog
top