Redes Colaborativas baseadas em Contexto

O post abaixo referente ao Citix fez-me lembrar de um artigo o qual li no site Websinder falando sobre redes colaborativas sobre contexto.

Para quem não entende do que se trata,aqui vai uma citação do próprio autor do artigo exemplificando em um caso real uma rede colaborativa baseada em contexto:

"Um exemplo que gosto de utilizar em palestras: meu celular sabe que estou entrando no Shopping Ibirapuera (Piso Moema) e detecta que aquela garota, presente em minha lista de paqueras no Orkut, está, coincidentemente, no mesmo shopping. É hora do almoço e você também está na lista de paqueras dela? Ambos recebem um SMS: “Fulano, Fulana está te paquerando e a 100m de você. Não é uma ótima oportunidade para conhecer o novo Big Whooper do Burguer King? Venham juntos e ganhem um ringtone exclusivo”. Isto sem que nenhum dos dois tenha, ao chegar no shopping, pensado em iniciar um relacionamento em uma rede de fast-foods."


Acho que o Citix cairia bem nesse conceito. É uma rede social, colaborativa e contextual pois permite o consumo, compartilhamento e publicações de informações pelos usuários relacionadas ao contexto (seja geográfico, temporal ou mesmo situacional) de quem está acessando ou publicando. Para finalizar bastaria que fosse também Mobile (sendo acessível de qualquer lugar, a qualquer momento com múltiplos dispositivos).





Citix: Sua cidade em apenas alguns cliques!

Lendo em um dos blogs mais famosos do cenário pernambucano de computação: blog.meira.com,
comentando sobre o lançamento de um serviço do C.E.S.A.R e outros parceiros chamado CITIX.NET (City Information exchange network).

O projeto que está em formato web (já funcionando na versão beta apenas para Recife) permite que usuários possam trocar informações sobre a cidade em que reside. É considerado uma rede social de localização e compartilhamento de informações sobre eventos, lugares e serviços públicos. Basta o usuário ser logado no sistema e pronto! Ele pode reportar informações e eventos tudo diretamente no mapa.

Segue uma idéia do Citix aqui:

" Bem vindo. Citix é seu. Cadastre-se. Citix está em modo beta. Guardaremos seu cadastro e, à medida em que tivermos capacidade, mandaremos um e-mail para avisar que você já pode começar a usar Citix para -por exemplo- marcar o local de uma comemoração com os amigos. E descobrir o que anda rolando no lugar nos últimos tempos. E tomar suas providências pra chegar e sair de lá de bem com a vida."



Dei uma olhada no serviço e posso dizer que ele é bem interessante, principalmente o seu objetivo que é permitir que usuários facilmente insiram informações e conteúdo referente a eventos e situações dentro da sua cidade. Além de usar a API do Google Maps, oferece recursos como comentários e até uma nuvem de tags para buscar eventos de acordo com sua relevância.
Acho que o serviço tem muito ainda que crescer, no sentido de mais usuários usarem, até porque essa ferramenta necessita de alimentação de dados e quanto mais usuários adicionando conteúdo mais o site vai se tornando uma referência para obtenção de informações de onde ele reside.
Ah, uma idéia interessante seria portar esse sistema em celulares, já que usuários poderiam também localizar e adicionar conteúdo a qualquer momento e de forma rápida.
ps: O google maps tem uma API para integrar a celulares!)

Bluetooth Hack

Não acreditei quando vi que era possível Hackear um celular Bluetooth! Com um aplicativo que você baixa na internet é possível hackear celulares com Bluetooth, isso inclui acessar listas telefônicas, ver caixa de mensagens e até desligar o aparelho remotamente! Fico pensando como esse aplicativo pode pirar a cabeça dos donos sem saber o porquê do aparelho abrir aplicativos sozinho... hehehe! Agora vale salientar que esse aplicativo exige na primeira vez que o celular hackeado libere o total acesso do usuário que está hackeando. Isso ele faz de forma sutil perguntando se você deseja liberar o acesso a internet (Não sabe ele que está liberando a porta de ataque via Bluetooth!), portanto não pense que você vai acessar qualquer celular sem o usuário atacado não permita!

Aqui vai o site onde você pode baixar o aplicativo.

Aqui vai um vídeo demonstração mostrando o aplicativo em funcionamento:

Aos interessados em desenvolvimento em widgets para o orkut, o Google lançou um tutorial bem interessante de como desenvolver alguns aplicativos para o orkut através da sua API OpenSocial.
Para saberem mais, cliquem aqui.
Recentemente a Nokia fez um estudo para saber como a comunicação móvel é usada para o entretenimento. Os resultados são bastante interessantes e podem ter até implicações sobre quais tipos de aplicativos e serviços devem ser focados ao serem criados. O relatóro é baseado numa pesquisa em 17 países entre os meses Julho e Setembro de 2007, onde inclusive o Brasil fez parte da pesquisa.

countries.gif

"9000 consumidores que são usuários ativos de tecnologia e que possuem um celular (não restrito a aparelhos Nokia) com idades entre 16 e 35 anos foram entrevistados. As perguntas foram relacionadas a comportamentos particulares dos usuários em questão ao uso de serviços de entretenimento em função de criar, compartilhar e consumir tais serviços disponíveis. A partir desse questionário, pode-se montar um mapa goblal de como o etretenimento irá se comportarn os próximos 5 anos."

mobileuse.gif

O gráfico acima mostra o que os usuários fazem mais com os celulares em questão de etretenimento. Fica claro que o uso de celulares para lerem seus e-mails , buscar informações e tirar fotos ainda são serviços não tão explorados e que precisam ter mais um pouco de atenção dos desenvolvedores criando aplicativos que permitam o compartilhamento e criação de conteúdo pelos usuários com facilidade, rapidez e baixo custo.


Fonte: Mobile Phone development
Lendo meus feeds diários do meu leitor de RSS, descobri que t em um grupo desenvolvendo um interpretador de Perl para os aparelhos Symbian C++. Ou seja, mais uma nova linguagem de programação via script permitindo construir aplicativos com rapidez e facilidade. Isso significa usuários extendendo e adaptando seus aplicativos de acordo com suas necessidades.

Para saber mais sobre o projeto CPerlBase, clique aqui.

Fonte: Mobile Phone Development

Acelerômetros : N95

Mais uma demonstração do poder do N95 e seu sistema de acelerômetros que permite a partir de movimentos do celular controlar aplicativos. Nesse vídeo, foi criado um aplicativo que permite você controlar menus, jogos, visualização de fotos tudo somente movendo e rotacionando o aparelho. Mas no fim do vídeo, quando achei que ia finalizar com mais um aplicativo dentro do celular, me surpreendi ao ver um usuário jogando um jogo na TV usando o N95 como controle!
Sensacional!
Deixo aqui o link do vídeo e o próprio vídeo:

Meu próximo tutorial será desenvolvimento de aplicativos JavaME para Plataformas Symbian Series 60. Aguardem!

Como configurar o Python for S60?

Tutorial 2 : Como configurar o Python for S60 em emulador?

1. Python for S60

Python para S60 é o port da linguagem Python para celulares Series 60, ou seja, smartphones que rodam o sistema operacional Symbian com diversas outras funcionalidades. Grande parte dos celulares S60 hoje é produzida pela Nokia, mas outros fabricantes também usam essa plataforma. O desenvolvimento para plataformas embarcadas, como celulares por exemplo, é um trabalho extremamente difícil, já que existem diversas limitações como complexidade da linguagem, fragmentação da plataforma, limitações da API, etc. Embora a plataforma S60 ofereça uma API bem ampla e aberta e também dispõe de ferramentas gratuitas de desenvolvimento (ex: Carbide.c++ da Nokia), ainda assim é muito difícil desenvolver em C++ para Symbian, por ser uma linguagem de sintaxe mais complexa e em JavaME que envolve algumas limitações na API de acesso aos recursos do celular. Ainda assim, o desenvolvimento para dispositivos móveis está ficando mais importante, principalmmente com a chegada da rede de Terceira Geração (3G) a demanda por smartphones irá aumentar substancialmente.
Os aparelhos S60 são um dos modelos mais conhecidos nessa linha de smartphones por agregarem diversas funcionalidades em um único aparelho. Uma alternativa para desenvolvimento de aplicativos para esses dispositivos é o Python para o S60 que facilita o desenvolvimento de inúmeras formas, por ser uma linguagem aberta, fácil de aprender, poderosa e extensível. Esse tutorial irá demonstrar como configurar o Python em um emulador do S60 em pcs com a finalidade de testar seus aplicativos desenvolvidos em Python e vê-los em execução.
Para saber mais sobre a linguagem Python, o site oficial encontra-se aqui.

2. Configurando o emulador do Python para Series 60

O primeiro passo é instalar o Symbian/C++ SDK (Pré-requisitos: Ter o ActivePerl instalado na sua máquina e a máquina virtual Java JRE 1.4 ou posterior) apropriado de acordo com qual aparelho você deseja desenvolver. Por exemplo, se você quer desenvolver para o N73, o mesmo tem o Symbian S60 3rd Edition, então você tem que baixar o SDK de acordo com a versão implementada no Aparelho. A Nokia dispõe de uma lista de especificação de aparelhos S60 que permite identificar quais as versões do Symbian instaladas para os desenvolvedores poderem consultar.
Depois de instalado o C++ SDK, você deve baixar o kit de desenvolvimento para o Python (Python SDK) apropriado de acordo com a versão do Symbian instalado no aparelho. Para aqueles que tem o Symbian 3rd Edition não há diferença no SDK, ou seja mesmo que você queira desenvolver para 3rd Edition, Feature Pack 1 (FP1) ou Feature Pack 2 (FP2) o SDK a ser usado é o mesmo.
Atualmente a versão mais nova do SDK é a versão 1.4.1, o qual está bem redonda e funcionando no emulador sem problemas. O arquivo a ser baixado é o com terminação .zip (Ex: PythonForS60_1_4_1_SDK_3rdEd.zip ) já quando quiser realmente executar o seu aplicativo no aparelho, você necessita do interpretador do Python instalado no seu celular, o qual tem a finalização (.sis) (Ex: PythonForS60_1_4_1_3rdEd.SIS). Também recomendo baixar a documentação ( PythonForS60_1_4_1_doc.pdf) e API do Python for S60 contendo toda estrutura e métodos disponíveis para você desenvolver aplicativos interessantes.
O próximo passo é extrair os arquivos do SDK em uma pasta. Dentro dessa pasta você irá encontrar outro arquivo compactado .zip (sdk_files.zip) e um script para desinstalação do emulador. O sdk_files.zip contém toda a estrutura necessária para que o emulador possa ser executado e deve ser extraída na pasta onde está instalado o seu SDK Symbian C++. Eu sugiro que antes de mover extraia todos os arquivos em uma pasta temporária e depois mova todos os diretórios que estão dentro da pasta epoc32 (descompactada) para o diretório correspondente dentro do S60 C++ SDK. Por exemplo para 2nd Fp2 você deve extrair o sdk_files.zip para o diretório "c:\symbian\8.0a\s60_2nd_fp2\epoc32", para o 3rd Ed Fp2 o diretório padrão seria :
"c:\Symbian\9.3\S60_3rd_FP2_Beta\epoc32".


3. Executando o emulador do Python para Series 60

Agora, inicie o Emulador S60 ("Programs -> S60 Developer Tools -> nrdEdition SDK -> C++,Beta -> Emulator. Você deve aguardar até que o emulador apareça na sua tela. O processo é um pouco demorado, então aguarde até que o emulador exiba todos os ícones conforme a figura 1 abaixo:

Open installations folder first ...
Figura 1: Emulador em Execução

Agora, navegue até a pasta Installations (conforme a Figura 1) através dos botões direcionais que aparecem no emulador. Clique no botão central do telefone e navegue até o aplicativo Python (conforme a figura 2) e clique em Options -> Open.


Python runs from here
Figura 2: Aplicativo Python


O interpretador do Python entrará em execução (mostrando na console algumas informações de versão e configuração) até chegar no console >> , que significa que aguarda os comandos do usuário.

Figura 3: Emulador Python em Execução

Agora clique em Options -> Run Script c:ball.py e o programa demonstração irá ser executado! Os scripts desenvolvidos em Python tem a teminação .py e eles se encontram na pasta"C:\Symbian\9.3\S60_3rd_FP2_Beta\epoc32\winscw\c\python" (Caminho dependendo da versão do seu SDK C++ Symbian) . É aí onde você deve colocar os scripts desenvolvidos por você e consequentemente irão ser exibidos no emulador. Existem diversos outros scripts demonstração que você pode ver seguindo o mesmo roteiro acima. O script também desenvolvido por você depois de colocado na pasta correta será exibido entre as opções para ser executado. Caso ele não apareça, recomendo você reiniciar o aplicativo Python para garantir que o menu de opções seja atualizado e que seu aplicativo apareça como opção para ser executado.


Dica: Existem também vários exemplos inclusive com interface gráficaque podem ser encontrados na pasta src/extras/examples no local onde você extraiu o SDK do Python.



4.Como desenvolver seu primeiro script ?

Agora iremos desenvolver nosso primeiro aplicativo exemplo para rodar no emulador Python. Como exemplo, faremos nosso Hello World para ser exibido na tela do aparelho.
Para desenvolver você pode usar qualquer editor de texto do seu pc (Até o velho bloco de notas). Abra um novo arquivo e digite os seguintes comandos (Sem os números):

1. import appuifw
2. appuifw.app.title = u"Hello World"
3. appuifw.note(u"Hello World!", 'info')


Salve o arquivo no diretório "C:\Symbian\9.3\S60_3rd_FP2_Beta\epoc32\winscw\c\python", onde se encontra os outros scriptys Python do emulador. Lembre-se que o formato salvo deve ser .py! (Ex: helloworld.py). Agora abra o emulador do Symbian, abra o aplicativo Python , procure o helloworld.py no menu de opções e bote-o em execução!
Se você ver uma tela semelhante ao da figura 3 abaixo, meus parabéns! Você acabou de desenvolver seu primeiro Hello World em Python for S60. Se não exibiu a tela, talvez você tenha digitado algo errado no código, então verifique a sintaxe do código escrito procurando erros de digitação ou até o próprio formato do arquivo (lembre-se que o formato é o .py!).

Figura 3: Hello World em Execução!





5.Entendendo o código

Agora vamos entender o código! O que escrevemos finalmente? Na linha 1, o comando import permite que você importe os módulos e APIS existentes de Python para serem utilizadas no seu aplicativo. O módulo appuifw é uma das principais do Python for S60 e ela permite que você possa escrever e exibir dados na interface gráfica do seu celular. Então é necessário que você importe esse módulo para iniciar seu desenvolvimento em aplicativos Python para S60. Na linha 2 você define o título do seu aplicativo, ou seja, o nome principal do seu programa que será exibido na parte de cima de tela, nesse caso HelloWorld! . O campo title do módulo appuifw define o título do seu aplicativo. O nome Hello World deve ser escrito entre "" para que ele possa ser reconhecido como um conjunto de caracteres a ser exibido na tela.
Na linha 3 você chama o método note do módulo appuifw que fica responsável por exibir a informação Hello World na tela assim que você inicia o aplicativo. Se você notou, apareceu uma pequeno alerta com um I do lado direito e Hello World! escrito do lado esquerdo, o responsável por isso é a chamada desse método note que recebe 2 parâmetros : O conjunto de caracteres a ser exibido na tela e o tipo de alerta que você quer que apareça (nesse exemplo: 'info' que significa que é um alerta com alguma informação.).

1. import appuifw
2. appuifw.app.title = u"Hello World"
3. appuifw.note(u"Hello World!", 'info')


Para mais informações de outros métodos e funcionalidades do Python for S60, existe a documentação completa com todos métodos para manipulação de interface gráfica, SMS, Bluetooth, acesso a arquivos do celular, etc.


6.Conclusão

Nesse pequeno tutorial vimos como configurar o emulador do Python para aparelhos Symbian S60 e desenvolvemos o nosso primeiro aplicativo para ele para mostrar a facilidade de desenvolver aplicativos para esse tipo de aparelho. Como podemos ver, a sintaxe ajuda bastante, já que com apenas 3 linhas de código você pode colocar um simples aplicativo em execução. Em comparação a outras plataformas de desenvolvimento, Python tem a vantagem por ser um linguagem de fácil aprendizagem e com possibilidade de desenvolver aplicativos que utilizam diversos recursos do celular em função de um baixo custo de tempo para desenvolvê-lo.

7.Referências

http://wiki.opensource.nokia.com/projects/Installing_PyS60 (Instalando o Python for S60)
http://www.python.org/ (Site oficial do Python)
http://opensource.nokia.com/projects/pythonfors60/ (Site oficial do Projeto Python para S60)

Parece que mais e mais empresas estão investindo em sites Wap com conteúdo para dispositivos móveis. Já vi essa semana a entrada do Jc Mobile, portal do Jornal do Comércio para celulares e agora a entrada também da Sky com seu guia de programação da operadora de TV para os celulares. Estou prevendo que esse ano de 2008 só vai dar Mobile e telecomunicações! Empresas correndo atrás de sua vaguinha no mundo Mobile e usuários trafegando dados em seus celulares.
Eu não poderia deixar de citar um dos eventos que mais abalaram o mundo de telecomunicações essa semana, que foi o leilão de frequências para operar na rede 3G. Para aqueles que não sabem, a rede 3G é a evolução da rede 2G ( a que utilizamos hoje para trafégo de dados e voz) e com essa nova rede é possível atingir a velocidades de download e upload de 1 MBps a 5 Mbps. Então, como vocês podem ver a rede 3G é uma rede que permitirá e impulsionará o acesso a internet pelos celulares. (Vocês podem saber mais sobre o 3G aqui).
A Anatel, orgão responsável por fiscalizar e gerenciar as operações relacionadas a telecomunicações lançou essa semana um leilão das frequências disponíveis em forma de lotes de regiões do Brasil de tal forma que as operadoras móveis (Claro, TIM, Vivo, etc.) possam dar lances e obter as licenças para operar nessas regiões. O fato é que nem tudo é maravilhas, então, regiões altamente consumidoras de serviços de dados (onde o mercado consumidor é mais intenso) como SP e RJ são as mais cobiçadas pelas operadoras, pórem ao levar essas regiões as operadoras devem também oferecer o 3G em regiões consideradas mais "fracas" como Amazonia, Rondônia, etc. Resumindo, A Anatel lançou o leilão no espírito : "Você leva o filé mignon mas com uns ossinhos" para evitar que regiões não consideradas estratégicas pelas operadoras possam também ter serviços de 3G. Talvez, pelo fato de o intuito da Anatel seja de divulgar e levar o Brasil a um novo patamar no mundo de telecomunicações com a entrada do 3G através da possibilidade de pessoas do Brasil inteiro possam ter acesso a internet e banda larga.

Vamos aos fatos:

A Claro que já tinha lançado sua rede 3G a 850 MHZ vai oferecer a 2100 MHZ também. Não entendi muito qual a estratégia da Claro, já que muita gente pode ter já comprado aparelhos com frequência de 850 MHZ.Mas quem não economizou foram as teles...
A Claro foi a que pagou mais por um único lote. Ela pagou 612 milhões pela área 2. A TIM foi a que arrecadou uma região com maior ágil 370,13%, ou seja, na compra que era de 212.7 mil foi para 1 milhão pago pela tele.


Agora uma tabela do Resultado do Leilão :

Lotes Área(s) de Prestação Subfaixas de RF Preço Mínimo(R$) Vencedor Valor da Proposta Vencedora(R$) Ágio (R$)
1 I J I J 163.669.720,21 VIVO 310.356.000,00 89,62%
2 I F I F 245.504.580,31 OI 467.900.000,00 90,59%
3 I G I G 163.669.720,21 TIM 528.000.000,00 222,60%
4 I I I I 163.669.720,21 CLARO 612.000.000,00 273,92%
5 II J II J 227.472.225,60 VIVO 528.200.000,00 132,20%
6 II F II F 341.208.338,40 Brasil Telecom 483.000.000,00 41,56%
7 II G II G 227.472.225,60 CLARO 369.500.000,00 62,44%
8 II I II I 227.472.225,60 TIM 382.284.000,00 68,06%
9 III/IV J III e IV J 111.835.775,74 VIVO 168.700.000,00 50,85%
10 III/IV F III e IV F 167.753.663,62 TIM 225.000.000,00 34,13%
11 III/IV G III e IV G 111.835.775,74 CLARO 178.100.000,00 59,25%
12 III/IV I III e IV I 111.835.775,74 OI 187.500.000,00 67,66%
13 V/VI J V e VI J 85.980.150,34 VIVO 130.426.000,00 51,69%
14 V/VI F V e VI F 128.970.225,51 CLARO 174.550.000,00 35,34%
15 V/VI G V e VI G 85.980.150,34 TIM 137.450.000,00 59,86%
16 V/VI I V e VI I 85.980.150,34 OI 144.410.000,00 67,96%
17 VII J VII J 11.196.565,92 TELEMIG 15.230.000,00 36,02%
18 VII F VII F 16.794.848,87 CLARO 28.738.000,00 71,11%
19 VII G VII G 11.196.565,92 CTBC 22.505.097,49 101,00%
20 VII I VII I 11.196.565,92 OI 24.392.000,00 117,85%
21 VIII J VIII J 212.704,91 VIVO 292.000,00 37,28%
22 VIII F VIII F 319.057,36 CLARO 603.100,00 89,03%
23 VIII G VIII G 212.704,91 TIM 1.000.000,00 370,13%
24 VIII I VIII I 212.704,91 CTBC 431.790,96 103,00%
25 IX J IX J 4.220.990,61 VIVO 5.766.000,00 36,60%
26 IX F IX F 6.331.485,91 CLARO 7.615.000,00 20,27%
27 IX G IX G 4.220.990,61 CTBC 8.484.191,13 101,00%
28 IX I IX I 4.220.990,61 TIM 6.200.460,00 46,90%
29 X J X J 28.053.745,16 TELEMIG 38.305.000,00 36,54%
30 X F X F 42.080.617,74 CLARO 50.647.000,00 20,36%
31 X G X G 28.053.745,16 TIM 40.559.848,00 44,58%
32 X I X I 28.053.745,16 OI 42.815.600,00 52,62%
33 XI J XI J 2.894.507,53 VIVO 3.953.000,00 36,58%
34 XI F XI F 4.341.761,30 Brasil Telecom 5.235.040,00 20,57%
35 XI G XI G 2.894.507,53 TIM 4.177.347,00 44,32%
36 XI I XI I 2.894.507,53 CLARO 4.402.000,00 52,08%

Região, Estados e Municípios
Área de Prestação
I Região I do Plano Geral de Autorizações do Serviço Móvel Pessoal (PGA - SMP), aprovado pela Resolução n.º 321, de 27 de setembro de 2002, menos as Áreas de Prestação IV, VI, VII e X deste Anexo
II Região II do PGA - SMP menos a Área de Prestação VIII e XI deste Anexo
III Região III do PGA - SMP que envolve os municípios de Alumínio, Araçariguama, Arujá, Atibaia, Barueri, Biritiba-Mirim, Bom Jesus dos Perdões, Bragança Paulista, Cabreúva, Caieiras, Cajamar, Campo Limpo Paulista, Carapicuíba, Cotia, Diadema, Embu, Embu-Guaçú, Ferraz de Vasconcelos, Francisco Morato, Franco da Rocha, Guararema, Guarulhos, Igaratá, Itapecerica da Serra, Itapeví, Itaquaquecetuba, Itatiba, Itú, Itupeva, Jandira, Jarinu, Joanópolis, Jundiaí, Juquitiba, Mairinque, Mairiporã, Mauá, Mogi das Cruzes, Morungaba, Nazaré Paulista, Osasco, Pedra Bela, Pinhalzinho, Piracaia, Pirapora do Bom Jesus, Poá, Ribeirão Pires, Rio Grande da Serra, Salesópolis, Salto, Santa Izabel, Santana de Parnaíba, Santo André, São Bernardo do Campo, São Caetano do Sul, São Lourenço da Serra, São Paulo, São Roque, Suzano, Taboão da Serra, Tuiuti, Vargem, Vargem Grande Paulista e Várzea Paulista.
IV Estados do Amazonas, Amapá, Pará, Maranhão e Roraima
V Estado de São Paulo, excluída a Área de Prestação III e IX deste Anexo.
VI Estados de Alagoas, Ceará, Paraíba, Pernambuco, Piauí e Rio Grande do Norte.
VII Setor 3 do Plano Geral de Outorgas (PGO), aprovado pelo Dec. N.º 2.534, de 02/04/98, no Estado de Minas Gerais
VIII Setor 22 e 25 do PGO, nos Estados do Mato Grosso do Sul e Goiás
IX Setor 33 do PGO, no Estado de São Paulo
X Estado de Minas Gerais, excluída a Área de Prestação VII deste Anexo
XI Municípios de Londrina e Tamarana, no Estado do Paraná

Gostaria de destacar a região VI em negrito na tabela, onde está a região de Pernambuco. 4 operadoras estão prontas para operar em Pernambuco: Vivo, Claro, Tim e Oi. Pelo jeito a concorrência vai ser acirrada pelos usuários potenciais das regiões metropolitanas. E viva à concorrência! Afinal de contas, isso significa serviços mais baratos e com qualidade.


Fonte: Livre Pensamento

BluePad: Seu celular como controle remoto via Bluetooth

Hoje, sabemos que a quantidade de aparelhos celulares com tecnologia Bluetooth tem crescido de forma exponencial e que ainda há uma falta de aplicativos explorando essa tecnologia. Um dos aplicativos bem interessantes para celulares com Bluetooth seria a possibilidade de controlar remotamente aplicativos do seu PC. Isso inclui aplicativos como Apresentações de SLides, Jogos, Reprodutores de música, etc. O mais legal é que através do seu celular vocë pode controlar tudo isso hoje usando Bluetooth e distribuições Linux.

O BluePad permite que controle remotamente a execução de aplicações do seu micro/laptop através de Bluetooth do seu celular (Desde que a interface esteja disponível para ambos os dispositivos). A solução consiste de de um aplicativo no celular, desde que o mesmo tenha suporte a aplicações em Java (JavaME) e de um aplicativo que rodará no seu desktop que fará a comunicação com seu celular. A partir daí, você pode controlar diversos aplicativos através do Bluepad desde controle de apresentações a jogos.
Há vários aparelhos conhecidos no mercado que suporta esse aplicativo:

Motorola V360
Motorola Razr V3x
Motorola Razr V3xx
Nokia 6230
Nokia 6230i
Nokia 6234
Nokia 6280
Nokia 6300
Samsung E390
Sony Ericsson k750
Sony Ericsson k510


Já para Desktop, o mesmo foi homologado para distribuições Linux (nada de Windows, man!) de preferência Debian.Para saber mais sobre o processo de instalação e configuração da ferramenta, baixe o manual de instalação.

Segue o vídeo com o Bluepad em execução:



PyS60: Próximo Tutorial!

Aproveitando o tutorial criado anteriormente, essa semana também devo postar como configurar o emulador do Python for S60 dentro do emulador S60 da Nokia para os desenvolvedores brincarem com python (inclusive com um exemplo Hello World!).
Fiquem antenados!

Tutorial 1: Iniciando com o Symbian (Preview)

1. O que é o Symbian?

Primeiramente, temos que conceituar e definir o Symbian. A plataforma Symbian é composta de um sistema operacional, um hardware e um ambiente de desenvolvimento. A vantagem de se ter uma plataforma é que as aplicações não precisam ser reescritas em diversos tipos de aparelho no mercado, já que só necessitam apenas de leves adaptações para satisfazer as necessidades de um aparelho específico. O sistema operacional da plataforma Symbian é denominado Symbiam OS e foi desenvolvido para aparelhos celulares do tipo smartphones e tablets inteligentes, que são aparelhos mais sofisticados, pois agregam mais recursos que aparelhos celulares comuns. O Symbian OS é um sistema operacional multi-tarefa com uma interface gráfica amigável e possui uma máquina virtual (KVM) compátivel com JavaME/MIDP. Por possuir tal máquina virtual, pode-se também utilizar JavaME para desenvolvimento de aplicativos para aparelhos Symbian.

1.1 Symbian C++

Uma forma de se desenvolver para o Symbian OS é utilizar a linguagem C++. O Symbiam C++ é uma linguagem nativa para programação desse tipo de aparelhos. Vale destacar que a forma de desenvolver para deskop usando C++ é diferente de desenvolver em celulares em C++. Pois as linguagem foi otimizada para aparelhos celulares, o que provê aplicações muito mais rápidas e acesso a recursos do celular. O Symbian OS permite o desenvolvimento para seu sistema através de uma variada quantidade de SDKS como JavaME, FlashLite, Python e Widgets. Pórem, o Symbian C++ permite a geração de aplicativos que acessam grande parte dos recursos e funcionalidades do celular sem perder desempenho.




1.2 Series 60

A maioria dos aparelhos Symbian são agrupados em plataformas que compartilham características, tais como tamanho da tela, processadores, resolução e versão do sistema operacional. Isso ajuda o desenvolvedor pois generaliza a plataforma alvo, aumentando o número de dispositivos alcançados por uma determinada aplicação. As plataformas mais populares são as Série 60, Série 80, Série 90 e UIQ. Dentre estas, a plataforma Série 60 é que tem mais fabricantes licenciados e possuimais aparelhos lançados, além de ser a mais popular no Brasil. A escolha de desenvolver em aparelhos Série 60 foi uma decisão lógica já que além de ser popular, o desenvolvimento para as outras plataformas Symbian não seria muito diferente.


2.0 Roteiro para iniciar desenvolvimento

Para começar a desenvolver, é necessário que se tenha um certo conhecimento da linguagem de programação C++. Existe um tutorial bem interessante disponível por Elton Oliveira (um dos integrantes do nosso grupo de estudo de Symbian) onde o link para o mesmo se encontra aqui. Grande parte desse roteiro foi retirado ou baseado nos roteiros propostos pelo Forum Nokia, logo para maiores informações e explicações detalhadas ver os tutoriais fornecidos pelo fórum que tem explicações detalhadas sobre a plataforma Symbian.



2.1 Ferramentas para Desenvolvimento

Para iniciar o desenvolvimento de aplicativos C++, é necessário de um kit de desenvolvimento de software (SDK). O SDK geralmente contém códigos-fonte e bibliotecas, documentação, ferramentas para compilar e linkar os projetos e um emulador do celular para que possa testar os aplicativos no PC. Bom lembrar que para cada plataforma Symbian OS (Séries 60,80,etc.) tem sua própria SDK.
Então o primeiro passo é fazer o download do SDK de acordo com a plataforma que vocë queira desenvolver. A última versão é o S60 SDK for Symbian OS for C++ ( S60 3rd Edition, FP1 SDK). Existem diversas versões a se escolher, dependendo da Edição que escolher (1,2, 3) Do Symbiam, a Nokia disponibiliza esses SDKS para baixar no seu site. É bom que o desenvolvedor tenha em mente para quais aparelhos ele deseja implementar e verificar qual a versão disponível para que ele possa baixar o SDK e o emulador correto. O site que contém todas as especificações dos aparelhos juntamente com as versões do Symbian instaladas encontra-se aqui.

Além do SDK, recomenda-se ter um ambiente de desenvolvimento (IDE) para que possa integrar o compilador junto ao emulador do celular de forma que possa automatizar o processo de desenvolvimento para Symbiam C++. Há um compilador WINSCW, que é necessário para desenvolver aplicativos para o emulador do S60 para PCS. Esse compilador já está integrado em uma IDE, como por exemplo o Carbide.C++ IDE. Felizmente, o Carbide.C++ é uma ferramenta gratuita e disponível pela Nokia. A IDE atualmente está desenvolvida em 2 versões de modo a se integrar com as principais IDEs de desenvolvimento conhecidas hoje : Visual Studio e Eclipse.

Para baixar o Carbide C++, aqui estão os links:
Para esse tutorial, iremos utilizar o Carbide.c++ Express integrado ao Eclipse. Bom lembrar que existem diversas versões do Carbide.c++, então bom procurar a versão EXPRESS, já que a mesma é gratuita para aqueles que estão iniciando o desenvolvimento para esse tipo de plataforma. Após instalar o Carbide C++ Express é necessário também instalar o ambiente Perl (Perl enviroment) para que se possa iniciar a execução da IDE.
Para aqueles que terão dificuldade em instalar o Carbide (como eu tive quando fiz pela primeira vez sozinho sem saber da existência desse vídeo), a Nokia disponibilizou um vídeo para download que explica passo a passo a instalação do carbide no seu Eclipse e como instalar o Perl e ambientes que forem necessários. Logo, recomendo a todos que baixem esse vídeo !

Para baixar o aplicativo desenvolvido no seu aparelho, tem que baixar também o Nokia PC Suite que faz a conexão do seu aparelho com o PC permitindo a transferência de arquivos.



2.2 Vamos ao nosso Hello World !

Primeiramente, irei explicar passo a passo como colocar em funcionamento o nosso primeiro Hello World no emulador do celular com Symbian OS. Usaremos o Carbide.C++ Express integrado ao Eclipse como base desse tutorial. As explicações mais a fundo do que significa esses arquivos e estruturas ficarão para o nosso próximo tutorial.


2.2.1 Introdução ao Carbide.c++

O Carbide.c++ tem a vantagem de usar o framework da IDE do Eclipse através de módulos de Pluggin. Nokia e o Symbian criaram plug-ins com o suporte de desenvolvimento para o Symbian OS. Esses pug-ins modificam a tela da IDE que já vem como padrão o ambiente de desenvolvimento Java, adicionando novas ferramentas e funcionalidades à IDE. A figura 1 abaixo mostra a tela principal do Carbide.c++. Notem que o ambiente para C/C++ é bem semelhante ao ambiente Java no Eclipse.

Figura 1: Ambiente do Carbide.c++ no Eclipse


Entretanto, o Carbide.c++ também mudou alguns aspectos da interface do Eclipse. Embora o visual seja o mesmo, a IDE é totalmente voltada para C++. Para os menus, configurações o Carbide.c++ foi totalmente adaptado para o Symbian OS C++. Isso permitiu que a IDE se tornasse uma ferramenta bem completa que dá suporte a diversos SDK - desde o S60 ao UIQ tanto na parte de compilação quanto Debugging.


2.2.2 Iniciando o desenvolvimento com o Carbide.c++

O carbide.c++ provê vários menus que ajudam a iniciar um projeto Symbian C++. Para iniciar, selecione File -> New do menu, e os itens de projeto mostrados na figura 2 abaixo, serão exibidos.


Figura 2 : Menu Inicial do Carbide.c++ Express

Para construir um projeto usando um dos utilitários de ajuda providos pelo Carbide.c++, selecione o item Symbian OS C++ Project. Uma nova tela de ajuda de projeto New Symbian OS C++ Project irá ser exibida, conforme a figura 3. Um número de opções são dispostas para geração de Aplicativos genéricos para o SYmbiam OS, inclusive com interface gráfica. Como pode-se ver na figura 3, os vários tipos de projetos que podem ser criados dependem dos SDKS instalados no PC. Iremos escolher o S60 3rd Edtion Gui Application (Lembrando que essa opção só estará disponível se você instalou o SDK com a versão 3rd, se for outra versão aparecerá S60 nrd Edition, etc). Com essa opção, o sistema cria um simples Hello World GUI, o qual através desse código pode-se mostrar como usar a interface gráfica e funcionalidades do S60.

Figura 3: Novo Projeto do Carbide.c++ Express


A janela de tutorial de ajuda de Novo Aplicativo 3rd Ed. GUi é exibido. Esse é o primeiro passo, onde deve ser definido o nome do projeto e o local onde os arquivos serão armazenados no PC, como mostra a figura 4.

Figura 4: Tela de Ajuda de Definição do Projeto


Na próxima etapa, a tela de ajuda pergunta ao desenvolvedor qual SDK vai ser utilizada para compilar o aplicativos. Como mostrado na figura 5, ele exibe todos os SDKS instalados no PC, embora para esse caso o emulador seleciona o SDK mais recente (S60_3rd_FP1_4) como configuração a ser utilizada. Com isso, as opções de emulador de debug e aparelho também são selecionadas automaticamente permitindo que o aplicativo possa ser compilado e testado em emuladores S60 3rd Edition e conseqüentemente rodar em tais dispositivos.

Figura 5 : Configurando o SDK do Projeto


Chegando nesse ponto, é possível clicar em FINISH e criar o projeto. Para criar projetos mais avançados, a tela de ajuda tem mais 2 passos. Esses passos permite que possam ser escolhidos o UID da aplicação (Explicado em um próximo tutorial) e a localização de vários componentes do projeto e outras opções específicas a serem selecionadas. Para esse projeto em especial, esses passos foram pulados. Quando o botão de Finish é clicado, o Carbide.c++ constrói o projeto, criando todos os componentes do mesmo. Uma vez criado, os arquivos são exibidos em 2 views, A View C/C++ Projects e a View Symbian Project Naviagator. A View C/C++ Projects, mostrada na figura 6, contém toda a estrutura de pastas que armazena toda a estrutura do MyFirstProject, como os códigos-fonte do aplicativo e a pasta de configuração do sistema Symbian (SIS) contendo suas definições.

Figura 6: Estrutura de Arquivos do Projeto


A View Symbian Project Navigator, exibido na Figura 7, provê acesso à definição do projeto como os arquivos de configuração do Symbian como os MakeFiles (makmake files e o ícone da aplicação Icons_scalable_dc.mk.

Figura 7: View de Arquivos de Configuração do Projeto



2.2.3 Codificando seu Projeto

Nessa etapa, uma aplicação funcional foi construída a partir da tela de ajuda do Carbide.c++. Esse aplicativo pode agora ser modificado para gerar um aplicativo conforme o desejo do desenvolvedor. Para isso, há diversas tarefas que devem realizadas, os quais incluem:

  • Editar os códigos-fonte (.cpp) e os arquivos- cabeçalho (.h)
  • Compilar o projeto e criar um código executável
  • Testar o código executável em um emulador.
  • Empacotar a aplicação em um instalador para ser colocado no celular.
2.2.3.1 Editando o código- fonte e arquivos-cabeçalho

Para implementar uma determinada funcionalidade do seu aplicativo, é necessário editar o código fonte e os arquivos cabeçalho. Os arquivos-fonte encontram-se armazenados na pasta /src e os arquivos cabeçalho - incluindo os *.h e *.hrh - estão na pasta /inc, como mostrados na figura 6. Selecionando um arquivo da View C/C++ Project, abre-se uma tela de edição de código como mostrado na figura 8.


Figura 8: Editando o Código - Fonte


O editor Carbide.C++ permite que possa escrever códigos Symbian C++ de forma eficiente e rápida. Ele dispõe de um utilitário assistente que permite facilitar o acesso à variável criada e a chamada de métodos da API do sistema. Essa estrutura de todo o código fonte é exibido no Outline View mostrado na figura 9. Ele é importante para revisar a estrutura do código de forma rápida e pular para partes específicas do código de forma eficiente.

Figura 9 : Estrutura do Código- Fonte da Aplicação



2.2.3.2 Compilando seu projeto

O projeto criado usando um dos utilitários de ajuda do Carbide.c++ contém todas as informações necessárias para compilar o projeto. Uma vez editado seu código-fonte, o desenvolvedor precisa definir quais plataformas - alvo ele deseja compilar. Selecionando Project -> Build All Targets do Menu, permite compilar para todas as plataformas disponíveis. Inicialmente, é mais fácil compilar apenas para o emulador. Isso pode ser facilmente feito através do toolbar, mostrado na figura 12, no menu de contexto do projeto.

Figura 10: Menu de Compilação do Target - Alvo


Quando a plataforma-alvo é o emulador, a View Console provê todos os detalhes do processo de compilação. Quaisquer problemas identificados são exibidos na View de Problems, como mostrado na figura 11. Essas 2 Views são os primeiros lugares de indicam se teve alguma falha durante a compilação do projeto. Clicando em uma das mensagens da View Problems, abre-se o editor na linha de código referente ao problema encontrado.

Figura 11: Console de Problemas durante a Compilação do Aplicativo


O processo de compilação é gerenciado por um arquivo de projeto: o makmake file. Esse arquivo pode ser acessado da View SYmbian Project Navigator (ver Figura 7). O editor de informações de compilação e o editor MMP permitem que o desenvolvedor possa alterar quaisquer aspectos do processo de compilação do projeto, incluindo funcionalidades como o linkador do C++ (gera o executável) e o compilador como mostrado na figura 12. Já que o Carbide.c++ usa a estrutura padrão para criação de arquivos de configuração (makmake files) para controlar o processo de compilação, é possível criar tais arquivos tanto usando o editor do Carbide.c++ ou via linha de comando. O uso do Carbide.c++ é interessante quando deseja automatizar a criação de tais arquivos durante o desenvolvimento.


Figura 12: Editando os arquivos de configuração do Projeto

2.2.3.3 Testando seu projeto

Uma vez que o aplicativo foi compilado com sucesso, o próximo passo é testá-lo no emulador S60. Aplicativos podem rodar diretamente a partir do botão RUN encontrado no toolbar, conforme mostrado na figura 13 ou a partir do menu de contexto do projeto.

Figura 13: Testando seu Aplicativo no Emulador


Usando esse simples método de inicialização de execução, uma tela do emulador será exibida e o aplicativo precisa ser localizado na pasta Installed folder antes de ser executado. O modo como os projetos são executados é através da configuração de execução, um conjunto de parâmetros - como o nome do projeto a ser utilizado, a localização do emulador, as variáveis de ambiente - que definem como projeto deve ser executado no emulador. A figura 14 exibe a configuração padrão quando o botão RUN é clicado a partir do toolbar.

Figura 14: Tela de Configuração para Execução do Projeto no Emulador


Enquanto a configuração padrão criada é adequada para maior parte das circunstâncias, configurações customizadas podem ser úteis. Uma configuração customizada é criada a partir do menu de contexto do projeto a partir da seleção Run As - Run.

Assim que clicado o botão RUN da tela de configuração de execução, o emulador do aparelho é exibido na tela e o aplicativo é posto em execução. O Hello World é exibido e você tem sua primeira aplicação desenvolvida em Symbian C++.



Figura 15: Emulador em Execução



3. Conclusão

Como pode-se ver o processo de desenvolvimento de um aplicativo usando a ferramenta Carbide.C++ é bem fácil e facilita bastante o teste em emuladores. Graças a uma interface amigável e a sua integração ao SDK e aos emuladores da Nokia, o processo de desenvolvimento é bastante simplificado. A maior dificuldade encontra-se no entendimento da sintaxe do Symbian C++ e dos arquivos de configuração para geração dos arquivos executáveis. Nos próximos tutoriais iremos explorar mais a sintaxe do Symbian C++ e a estrutura de um aplicativo SYmbian C++, a depuração de um código C++ usando o Carbide.C++ e a geração de um arquivo executável para um dispositivo real.

4. Referências

  • The Eclipse Foundation — www.eclipse.org.
  • The Eclipse CDT (C/C++ Development Tools) Project — www.eclipse.org/cdt/.
  • The Forum Nokia Carbide Development Tools for Symbian OS C++ Web page —www.forum.nokia.com/carbide_cpp.
  • The Carbide section of the Forum Nokia Wiki - http://wiki.forum.nokia.com/index.php/Category:Carbide

  • Plug-ins:
    • The Eclipse project’s repository — www.eclipse.org/downloads/index_topic.php.
    • Eclipse Plugin Central (EPIC) — www.eclipseplugincentral.com.
    • Eclipse Plugins — www.eclipse-plugins.info/eclipse/plugins.jsp.

Vamos dar início ao processo de Tutoriais para Instalação e configuração do Emulador do Symbian em um Pc Desktop. A saga iniciará com a instalação do SDk para desenvolvimento em C/C++ e posteriormente colocarei aqui também um post para como configurar o emulador do Python for S60. JavaME também seguirá nessa linha e alguns tutoriais também interessantes serão postados.

1- Desenvolvimento para mobile : JavaME x C/C++ x Python!

JavaME : Linguagem baseada em Java e plataforma disponível em maior parte de celulares e extemamente portável. Problemas são as APIs algumas limitadas, Implementações da KVM ainda fragmentadas e dificuldade em desenvolvimento de interfaces de baixo nível.

C/C++ : Linguagem utilizada para desenvolvimento de celulares com S.O Symbian. Sistema operacional bem conhecido em smartphones. Com a chegada desses smartphones no mercado, especialmente devido à chegada do 3G/Tv Digital no Brasil, a tendência são preços mais baratos para esse tipo de celular. Linguagem com uma sintaxe de baixo nível, logo mais complicada e exige um maior conhecimento de ponteiros e alocação de memória. Em compensação tem uma API bem definida e bem completa e usa muitas funcionalidades do Sistema operacional Symbian.

Python: Linguagem extremamente fácil de programar. Além de ser uma linguagem de script, permite rapidamente codificações rápidas e com poucas linhas de código-fonte para colocar um aplicativo em produção. Atualmente só está disponível sua máquina virtual para os Sistemas Operacionais Symbian implementados nos celulares Nokia Series 60. Facilidades como codificação e uma API fácil de se utilizar contam como pontos interessantes na escolha dessa linguagem. Não é tão completa como JavaME ou C/C++, mas pode ser considerada como uma ótima ferramenta para desenvolvimento de aplicativos de grande urgência e com pouco tempo de codificação.


Descrevo acima apenas algumas características que vieram por experiência própria e conhecimento adquirido durante esses anos de pesquisa sobre essas linguagens/ ferramentas.

Escolham a sua e boa programação!

Automóveis e Sensores e Outras idéias

Eu estava lendo uma coluna no Jc Online, falando sobre métodos e sites na internet que permitem controlar os gastos do carro via internet. Esses gastos incluem controle de gastos de combustível, o qual permite que a cada resbatecimento do veículo, o dono possa enviar essas informações via celular através de um aplicativo onde serão armazenadas em um servidor. Assim, posteriormene o usuário poderá consultar o histórico do seu carro como quantidade de combustível abastecido e preço por litro. Com todas essas informações, o aplicativo pode também gerar projeções. Essa idéia descrita acima foi alterada para uso de aplicativos no celular, já que a idéia original usa um site de internet ou o Twitter para a entrada dessas informações.

Outra idéia que tive, foi a criação de um aplicativo que seria distribuído pelas concessionárias ou por lojas especializadas em mecânica de automóveis com o objetivo de informar ao dono do carro as epócas de revisão para troca de peças ou check-up. Agora de fato, teria que ter um meio de q a concessionária tivesse a Km rodada do veicúlo para que ela pudesse identificar e assim informar ao dono ou lembrá-lo de que a revisão e tais peças precisam ser trocadas.
Mas uma idéia a se melhorar e consequentemente deixá-la mais aprimorada.

Outra idéia que veio na minha cabeça foi a construção de um aplicativo celular que permita controlar os periféricos e sensores da casa. Começando com uma simples abertura de portão, ligando uma tv chegando a tarefas mais complexas como ligar as luzes automaticamente ou gerenciar o arcondicionado da sua residência.

Tópicos interessantes a se destacar também que não saem da minha mente é : Sistemas de controle de acesso (Projeto de tais sistemas embarcados em uma placa universal de controle biométrico, Rfid, Impresao digital, etc.) e Gerenciamento inteligente de sensores Ad-hoc (como sensores inteligentes podem se tornar autônomos e gerenciar determinados eventos e tomar decisões baseadas nesses eventos).

Como diz um amigo meu, isso vai pra nosso "Toró de Pitacos"...

=D

Symbian C++

Ontem pela manhã teve a nossa primeira reunião para darmos início aos estudos da plataforma Symbian e desenvolvimento C/C++ .
Senti que a galera está engajada e pronta para botar a mão no batente. Alguns tópicos interessantes foram discutidos, especialmente sobre a diferença entre as diversas plataformas de desenvolvimente JavaMe e C/C++ para Symbian.
Algumas questões foram levantadas especialmente sobre configuração do ambiente de desenvolvimento para Symbian e revisão dos conceitos da linguagem C/C++.
Estamos entusiasmados já que conseguimos um integrante do grupo que domina C++ para dar algumas revisadas da linguagem para a gente.
E fiquei responsável de montar o tutorial de Ambiente de desenvolvimento c++ para Symbian. A gente acabou escolhendo usar as ferramentas da Nokia, já que são bem divulgadas e também é a fabricante que é uma das maiores clientes do Symbian.

Para aqueles que não sabem o que é o Symbian, ele é uma plataforma composta de um sistema operaconal, um hardware e um ambiente de desenvolvimento. O Symbian Os é o sistema operacional da plataforma Symbian e foi desenvolvido para aparelhos celulares do tipo smartphones, que são aparelhos que agregam mais recursos que aparelhos comuns.
Além de ser um sistema operacional multitarefa, específico para ambiente móvel, com uma interface gráfica intuitiva, possui um JVM para desenvolvimento de aplicativos JavaME.


Um comentário importante e pertinente a se colocar é que com a chegada das redes 3G, estamos presenciando a chegada de aparelhos do tipo smartphones no mercado. Isso significa que , mais gente usando esse tipo de aparelho e consequentemente maior demanda de aplicativos . Como Symbian é uma das plataformas dominantes nesse nicho, não há dúvidas que estudar a plataforma Symbian e seu ambiente de desenvolvimento é um tiro certo para a especialização de desenvolvedores no mercado.


Acho que não há outro motivo melhor pela escolha do Symbian como tema do nosso grupo de estudos, não concordam ?


Por sinal, estou eu pensando em minha monografia de utilizar C/C++ x JavaME como plataforma de desenvolvimento. Irei pesquisar afinco para sanar tal dúvida.
Olá a todos,

Primeiramente gostaria de agradecer a alguns leitores do meu blogs, dos quais tenho recebido um feedback crítico e construtivo para evolução desse blog de idéias. Com certeza, críticas e sugestões são bem vindas a fim de manter esse blog com um espiríto inovador de idéias e notícias.

Hoje, enquanto estava pesquisando no Google sobre materiais relacionados a Python para Nokia Series 60, descobri em um post do blog Bit Zen falando a respeito de um mini-curso que ocorreu em Brasília com parceria da Nokia para desenvolvimento Python para celulares Nokia Series 60. (Por sinal tal evento também ocorreu aqui em Recife, e eu participei!)
Lendo o conteúdo, vi algumas maneiras de como testar os scripts desenvolvidos. Uma dessas maneiras é através do console do Pc transferindo os comandos via Bluetooth.
Existe até um vídeo no youtube relacionado a esse tópico:




Há, claro, outras maneiras de testar os scripts .py desenvolvidos em Python para execução em celulares. Mas, fiquei intrigado com essa acima!
Estou agora em busca de como configurar um ambiente Python dentro de um emulador da Nokia. Ou seja, desenvolvedores que querem testar seus aplicativos em um emulador do próprio telefone para checarem como eles ficarão na versão final.
Em breve, conseguido esse feito, colocarei em um post o tutorial passo-a-passo de como configurar o ambiente de desenvolvimento Python em emuladores da Nokia.

Motivação: Nec desenvolve primeiro tradutor em tempo real para Celulares

Aí vai uma razão pelo qual decido fazer projetos na área de mobile + áudio:

*** Empresa Japonesa NEC desenvolve primeiro tradutor em tempo real para celulares


TOKYO (AFP) - Japanese electronics giant NEC Corp. said Friday it has created a world-first real-time translator on a cellphone, which can instantly turn Japanese travellers' words into English.



One second after the phone hears speech in Japanese, the cellphone with the new technology shows the text on the screen. One second later, an English version appears.

NEC said it was the first time in the world that automatic translation is available on a cellphone without external help.

The company made it possible by making the software, which includes a voice-recognition system and translation functions, compact enough to operate on a small microchip mounted in a cellphone, it said.

The software, which can recognise some 50,000 Japanese words, is especially designed for smooth translation of travel phrases such as "Can I have a subway route map?".

It is technically possible to make the English translation vocal but NEC is not considering the idea at the moment, according to NEC spokesman Mitsumasa Fukumoto.

"We would need to study how to recognise voices on the phone precisely. Another problem would be how the person on the other side of the line could know if his or her words are being translated correctly," he said.

It was not decided when the technology would be put into practical use, he said, adding NEC would keep pushing with the study to "realise a society in which anybody can communicate with anyone else anywhere anytime."


Fonte : Yahoo news


O meu supervisor lá de onde trabalho, me passou um post bem legal falando de acesso da memória interna dos aparelhos nokia dentro do linux e sem precisar instalar o Nokia Suite!

Vejam como fazer nesse blog.

Vídeo Comico

Um vídeo sarcástico, mas cômico:


Não existe comentários ... só sei que o futuro não tem limites!!
Vejam com seus próprios olhos:

i was reading about location based services.. and some stuff came up at the web...
Here they are:

But, how can you use the cell to know latitude and longitude?


You can use the cell information of the phone to georeference the user!

a) In Java ME there isn't any standard solution. You can query the CellID (Identification Number) using System.Properties("phone.cid") on some devices only. For example, this doesn't work in Series 40 devices. It only works in some Motorola or Sony Ericsson's phones.

b) In Symbian (Signed), you can get the Cell, Area and the Carrier (see this sample). With this combination you have a unique cell number in the world. You "only" need to convert this information in geographical information. How to do this? Here comes the difficult part. There isn't any direct way to make this conversion. You can use a Carrier API (if they have one), you can use some Open Source collection (like CellSpotting.com) or you can make your own one.

c) In dev cert Python, you can get this information. Just see this sample.

That's what Google is doing with its recently updated Google Maps My Location feature. If you don't have a GPS, you can still find your location using the Cell information. Google can compare your cell number with querys from other users having the same Cell and GPS, for example. So, Google is making its own cell-coordinates database (or buying it).


d) The mobile carriers should bring developers an API to know the coodinates of some user.

e) Use the IP address to find the location of the user. If the user is connected through WiFi (or 3G in some cases) you can try analize the IP address connected to the Internet. With the IP Address you can query some open database (like MaxMind or GeoIP) and then try to calculate where the user is with some error.


There are other solutions...

To see more stuff related to those topics, click here.
O ínicio da saga...
O objetivo: Início do meu projeto de final de curso, vulgo TCC...
Alguns Objetivos primários a serem estabelecidos:

1 - Comprar um aparelho celular mais moderno. Estou atrás de um novo aparelho Symbian modelo Série N. (preferencial seria o N95... mas estão nos páreos: N80 e N73).

2 - Cursos de férias... Estou pensando em fazer um curso de 30 horas para desenferrujar meu conceitos de JavaME;

3 - Comprar alguns livros... Em especial o Mobile Python... quero brincar com o python no celular!

4- ótima notícia: Uma galera da minha faculdade vai iniciar um grupo de estudos para a plataforma Symbian... e é óbvio que irei participar!!

5 - Pesquisar fontes e bibliografia para o meu projeto de Monografia.. Detalhes virão em breve nesse blog do que se trata... Mas posso afirmar que é com mobile!

6 - No fim do semestre (2008.1) incluirá também a tentativa da certificação Mobile SCMAD ... Isso eu vo tirar de todo jeito!


Stand By for more news!
Putz!
It's amazing how can you do with your cellphone!!!
Some guys of Nokia Developers Team developed an awesome application using the Nokia 95 acceleration sensor. A lot of applications appeared using this technology like the light sabre or Accelerinvaders.
But they wanted to take the acceleration sensor into his limit. So they wanted to control something bigger than a simple application running on the cellphone itself.

The result ?? It's called called “ShakerRacer” !! They bought a remote controlled car and tuned it. They replaced the standard remote control component with a own microcontroller and a bluetooth sensor.
Using a Python( Python again!!) module aXYZ , it was possible to write a small application which translates the movements of the N95 acceleration sensor to commands that the car's sensor can understand. So, you can controll the remote controlled car only tilting your cellphone!

That remembers me the same method that the Videogame Wii does to control its games!

See here yourself the video that they posted at youtube:






More news and information here.
I've found this interesting article about SVG embebed in Mobile Devices..
For people who don't know what SVG is ... it can be a good start .
Não sei vocês mas quando lerem essa idéia aqui lançada por uma empresa italiana vão achar interessantíssima.

O serviço lançado é permitir que os fiéis possam baixar imagens dos santos protetores pelo celular e enviá-las para amigos ou trocá-las.

Na europa esse serviço está fazendo sucesso... e já está ultrupassando fronteiras..

E faz sentido... Se você quer a companhia do seu santo.. porque não colocá-lo em um aparelho que está sempre com você 24 horaS? o Seu celular!

As pessoas querem ter sempre perto a imagem do seu santo protetor ... e o celular acompanha todo mundo o dia inteiro!

O serviço é legal mas também tem muitos bispos da igreja católica contra.. Dizendo que é uma blasfémia e um show da fé!

Não sei quem está certo... mas encontrar uma nova forma de ter a imagem do seu santo no aparelho foi uma idéia bem sacada e especialmente poder atrair fiéis a conhecer a Deus e poder conhecer mais a história dos santos.
A questão ideológica está por trás de vender essas imagens (via download)... Mas cabe aí a interpretação de alguém.

O fato é que santinhos eletrônicos podem realmente tentar substituir os santinhos de papel!

=)

OS: No Brasil, a quantidade de fiéis é imensa... um nicho importante a se explorar! bom ficar de olho!

Fonte: Mobile NEws

Acho que eu ainda não falei do site JMobi. Posso dizer que é uma galera investindo bem na área de desenvolvimento de aplicativos para celular. OS aplicativos desenvolvidos em sua parte em JavaME (óbvia escolha já que maior parte dos celulares no Brasil tem disponível tal plataforma) estão disponíveis para serem baixados diretamente do seu celular ou do pc e depois enviados para o seu aparelho.
Fiquei impressionado com a quantidade de aplicativos até alguns bem úteis.. como mKUt( Orkut no seu celular), eMSN (MSn no seu celular), Mfut (resultados dos campeonatos de futebol no seu celular) e outros...
O portfólio eh bem grande e posso dizer que testei um deles. A curiosidade de ver meu orkut no celular foi assim impossível de se negar. Acho que talvez seja um dos aplicativos mais baixados!
A experiência foi bem legal.. Primeiramente, pensava eu que eles iam abrir a interface do orkut toda no celular (Já fiz essa experiência usando o wap .. e é péssimo devido ao tamanho da tela que não é proporcional a interface do orkut.. o que causa navegação lenta e diversas páginas para se chegar ao conteúdo desejado)... A interface clara e limpa com acesso às principais funcionalidades como ler scraps, ver aniversariantes, ver profile dos amigos (recados), favoritos, etc... Mostrou-se bem funcional e até rápido!! E eu pensei ... quando eu entrasse na próxima vez no aplicativo teria eu que digitar meu login e senha novamente... Pois tive a feliz alegria que o aplicativo salva seu login e senha para um acesso rápido sem necessidade de digitações repetitivas e desnecessárias.
Posso dar meus parabéns à equipe do JMobi.. e recomendo à todos baixarem...
O que mais me chamou a atenção é que a equipe está investindo mesmo nos aplicativos inclusive ajudando aos usuários a baixar aplicativos (existe um blog e comunidade do orkut). O feedback está sendo impressionante e fora que já existem mais de 20.000 usuários já usando aplicativos deles!!
Já disse... aplicativos mobile está vindo pra chegar... por sinal veremos um forte avanço de tais serviços graças à chegada da evolução da tecnologia 2G para 3G....
Trafégo de dados até 1 MBPS...

Instruções, aplicativos para baixar, preços .... tudo aqui !


Muito tempo sem postar... isso devido ao grande número de atividades na minha faculdade... término de período é uma avalanche e hajaa provas e projetos...

Mas vamos ao que interessa!

Encontrei esse post bem legal falando sobre um novo framework OOo... Resumidamente, consiste de um framework para desenvolver aplicativos que se comuniquem o conjunto de ferramentas da OpenOffice.org. Por sinal, um dos desenvolvedores já desenvolveu algo bem legal como o MyImpress Controller que permite que os usuários possam navegar nas pastas dos diretórios do seu pc e busque apresentações (semelhante aos ppts do powerpoint) para iniciar remotamente a apresentação e controla-las tudo via bluetooth através do seu celular.
Muito massa. =)
Dêem uma olhada a fundo nesse projeto de Bruno Ghisi (No blog) dele.

JavaME Technology Overview

Um novo update referente ao novo cenário de celulares JavaME no mundo...
Essa pesquisa e mais detalhes você encontra aqui.

Google mais uma vez na frente...

Eu estou sem palagmm1.gifvras para citar o que a equipe do Google aprontou dessa vez.
Simplesmente pegou o seu aplicativo Google Maps Mobile (aplicativo que permite você digitar o endereço e ele exibe a rua para você em um mapa) e adicionou mais um serviço. O My location!
O que serviço faz?? Simplesmente ele pega a posição de onde você acessa do seu celular (através de uma série de cálculos baseado nos sinais transmitidos entre seu celular e a torre de celular mais próxima) e envia aos servidores do Google... o Google trata exibe a sua posição geográfica em um mapa.. Não com tamanha precisão (pelo que li erros de até 500m a 5000m) mas que exibe o mais próximo de onde você está.
Ah detalhes.. não precisa de GPS ...
Ah e outro detalhe é de grátis e está disponível para baixar rapidamente no seu celular. (Google Maps)
Pena que só funciona com os aparelhos mais novos como Nokia S60/Symbian, Windows Mobile e alguns mais recentes da Motorolla e Sony Ericsson.

Agora vamos pro lado prático... O que retorna pros usuários?!

Adicione ao serviço um sistema que permite adicionar serviços integrados no mapa como lojas, restaurantes, fármacias. E aí o usuário digita "pizza" Voilá! Aparece o usuário no mapa com sua posição e ao mesmo tempo marcado as pizzarias mais próximas de você.
E só não falo isso não... pense que agora localizar e saber se amigos estão proximos de vocÊ será mais fácil ainda. Só ligar o aplicativo e o sistema já localiza para você seus amigos em questão.
Quer saber qual eh a balada de hoje... Vai no aplicativo e ele exibe o que tem de bom por perto..
As idéia são várias e as oportunidades são múltiplas...
Aguardar para ver ser a Google vai lançar uma API para desenvolvedores para acessar tais serviços do mylocation (Aí onde eu entro poder brincar com esse serviço) e quem sabe traduzir para Português (Brasil ter sua chance!)
Comentários lá de onde eu trabalho eh que realmente funciona o aplicativo e foi testado em um aparelho N73 onde ele exibiu com um erro médio de 100 m a posição do usuário.
Putz sensacional... Parabéns a Equipe da Google que sempre está com um passo a frente.
E sim FUNCIONA EM RECIFE!

Deixa eu comprar meu nokia n73 (rts of Asia, for instance. fim do ano do papai noel) pra poder brincar com tal serviço!
Isso é so o início ....
Ah e se seu celular tem GPS ele usa o sistema de GPS para poder te localizar!

Jogos multiplayer com seu celular

Vejam a sacada...

Você está com seus amigos e estão afim de jogar um jogo multiplayer.... Aí tem que arrumar um videogame e fora que geralmente só dá pra 2 controles...

A idéia... Colocar todos na frente de uma tela gigantesca com a tela do jogo e depois usar os celulares como controles para controlar seus personagens....

E não é delírio não.. oa aí a prova dos nove abaixo:


News Features of Netbeans Mobility Pack 6.0

News and interesting stuff from the new version of Netbeans IDE Plataform..

See it here.

Jarpa: Java packaging for Flash lite Developers

Interessante esse projeto..

A possibilidade de empacotar aplicativos desenvolvidos em FlashLite em .jars (java) para serem executados em celulares com JavaME.
Parabéns à idéia e principalmente por ser de iniciativa brasileira. =D
Expandindo realmente o mundo do Flash Lite e mais opções ao desenvolvimento móvel.

Do site I2 Tecnologia:

Jarpa

Recently, a new generation of mobile phones with support for Java ME and Flash Lite has been taking widespread acceptance by the market opening the door for hybrid applications. Looking for this business potential Jarpa was created allowing Flash Lite Developers deliver their content as Java ME applications.

Created by me (Felipe Andrade) and my friend Alessandro Pace, Jarpa is a free of charge software solution under terms of Apache Software License.

Read more about Jarpa.

http://code.google.com/p/zxing/

Reconhecimento de Barra de Códigos (QrCodes) é agora um Projeto open-source vinculada ao Google!!! (Com uso em celulares)

From the Google website:

ZXing (pronounced “zebra crossing”) is an open-source, multi-format 1D/2D barcode reader library implemented in Java. Our goal is to support decoding of QR Codes, Data Matrix, and the UPC family of 1D barcodes. It will provide clients for J2ME, J2SE, and Android.

Why? There are several great readers out there, and there are bits of open-source code already for decoding, but not both at the same time. We want everyone to have access to some great source code to play with, so we decided we’d try an experiment, and open up our in-progress effort. Maybe some of it will be useful to you — maybe you can help improve it.

“Version 0.1.” Everything that’s there, works, even if it could be improved. But not everything that we want to include is there, not by a long shot. We figured it best to release ZXing early while still in development.

Currently working:

1. UPC support
2. QR Code support

Some key features are still to-be-implemented:

1. Data Matrix decoding
2. Support for advanced JSRs

Achei muito legal as recomendações desses slides retirados do blog do André Furtado referente ao Imagine CUP com dicas de como melhorar suas apresentações (Slides)... Isso não só vale ao Imagine Cup como também em projetos profissionais que necessitem apresentar resultados ou introduzir seus projetos em slides. Vale a pena dar uma olhada!



top