Banda onde os instrumentos são celulares!

Já pensou alguma vez tocar em uma banda onde os instrumentos são aparelhos celulares? Sim é possível! Coisa de japa mesmo!! Muito irado esses celulares protótipos feitos pela Yamaha.
Vejam o vídeo abaixo e prestem atenção na música Stairway to Heaven de Led Zepellin orquestrado pelos aparelhos móveis.
Isso que eu chamo de uma idéia com mobilidade e convergência!


Segue o décimo terceiro capítulo dos tutoriais para a obtenção do certificado SCMAD (Sun Mobile Application Developer). Todo o material está em inglês e formato .PPT (powerpoint).

Nesse capítulo abordo:

  • MMAPI. (Mobile Multimedia API).
Recomendo a leitura em conjunto com o capítulo anterior de MIDP Sound para maior entendimento.


Para fazer o download dos slides, clicar aqui.

Para acesso ao primeiro tutorial do certificado SCMAD aqui.

Para acesso ao segundo tutorial do certificado SCMAD aqui.

Para o aceso ao terceiro tutorial do certificado SCMAD aqui.

Para o acesso ao quarto tutorial do certificado SCMAD aqui.

Para o acesso ao quinto tutorial do certificado SCMAD aqui.

Para o acesso ao sexto tutorial do certificado SCMAD aqui.

Para o acesso ao sétimo tutorial do certificado SCMAD aqui.

Para o acesso ao oitavo tutorial do certificado SCMAD aqui.

Para o acesso ao nono tutorial do certificado SCMAD aqui.

Para o acesso ao décimo tutorial do certificado SCMAD aqui.

Para o acesso ao décimo primeiro tutorial do certificado SCMAD aqui.

Para o acesso ao décimo segundo tutorial do certificado SCMAD aqui.

Scmad Chapter13
View SlideShare presentation or Upload your own.
Achei no blog do Diego Santos, um material bem interessante em português em que o mesmo está traduzindo os guias de desenvolvimento para o Iphone do site da Apple. Nesses tutoriais em português, vários conceitos sobre a plataforma do Iphone e sobre o ambiente de desenvolvimento são apresentados.

Seguem os links abaixo:

Um overview sobre o desenvolvimento para Iphone

Ferramenta para Desenvolvimento para Iphone OS


Tudo isso pode ser encontrado no site oficial de desenvolvedores da Apple:

Apple Developer

Nokia trabalha em sistemas de localização indoor

Localização indoor com sistemas semelhantes ao GPS ? Seria possível ?

Vejam essa notícia retirada do site Geek:

"Durante a conferência The Way We Live, realizada em Espoo, Finlândia, a fabricante de celulares Nokia anunciou estar trabalhando em um projeto audacioso, que quando concluído poderá levar um sistema de localização semelhante ao GPS para dentro de prédios.

Atualmente, o GPS se limita a espaços abertos, então a idéia da Nokia é permitir que um sistema funcione de maneira semelhante mapeando salas e itens dentro de prédios e outras construções, noticiou o site Register Hardware.

O novo sistema utilizará redes sem fio (WLAN) que poderão se comunicar com aparelhos de celular provendo a localização exata inclusive de pessoas, útil para encontrar crianças em ambientes cheios, por exemplo.

De acordo com o site T3, a novidade já está sendo testada em mais de 40 prédios da companhia e novos cenários como universidades, aeroportos e shopping centers de Helsinki estão sendo mapeados.

Nos próximos meses o primeiro teste comercial deve acontecer em um shopping e depois disso o site da Nokia Beta Labs (nokia.com/A4384041) deve apresentar a solução. "


Pense na quantidade de aplicações possíveis a partir de uma solução como essa. Localização de mercadorias em galpões? Localização de pessoas em prédios ? Localização de produtos em supermercados? Isso é só o início.

E pensar que em 2005/2006 na epóca da faculdade, eu tive uma idéia baseada nisso usando sistemas Wi-Fi para localização indoor. Como usar antenas wi-fi para triangular sua posição em ambientes fechados.. WPS...Wireless Positioning Sytem!

User Interfaces: As 10 últimas em inovação

Achei um artigo bem legal do site Smashing Magazine, mostrando as 10 últimas inovações em relação a interface com usuário que estão em pesquisa recentemente. Muito interessante os vídeos e imagens, especialmente o Aurora.

Vejo que a usabilidade sem dúvidas é um ponto-chave na conquista de mais clientes e consumidores na escolha da compra de um produto.
Pessoal, encontrei um artigo muito bom sobre a tecnologia ZigBee no site VivaSemFio.com. Para aqueles que não sabem, o ZigBee (IEEE 802.15.4) é uma tecnologia de transmissão e recepção de dados sem fio de curto alcance assim como o infravermelho, bluetooth, etc. Suas aplicações são das mais variadas, onde pode ser utilizada em projetos de sensoriamento e monitoramento , automação predial, controle industrial, etc.

Bastante interessante saber mais sobre esses novos padrões e tecnologias sem-fio! Celulares com chips ZigBee seriam muito bem vindos!

Análise de Plataforma: Python para S60 (PyS60)

Dando continuidade à minha análise das linguagens de programação existentes hoje para desenvolvimento mobile, hoje falarei da plataforma de desenvolvimento chamada Python. Para quem não sabe o que é a linguagem de programação Python, ela é uma linguagem que veio para mudar/ajudar o mundo da programação. Além de ser fácil aprendizado e uso, tem ganhado bastante atenção das comunidades de desenvolvedores e pode ser usada para diferentes propósitos como a construção de aplicativos desktop, desenvolvimento web, computação científica, utilitários, games, criação de efeitos especiais e por fim, claro desenvolvimento móvel.

Para a área de dispositivos móveis, Python é oferecida através da plataforma Symbian S60, que varia desde a segunda edição até a 'terceira edição com todos as features opcionais. Isso faz a plataforma ser bastante abrangente, visto que temos milhares de aparelhos no mercado prontos para ser usados como repositórios pelos seus aplicativos Python.


Podemos ver que no cenário de desenvolvimento mobile, existem hoje diversas plataformas disponíveis para os desenvolvedores, especialmente para os desenvolvedores da plataforma Symbian. Há o Symbian C++ que é o núcleo do S.O. Symbian disponível com uma imensa quantidade de APIs e funcionalidades prontas para o uso. Claro, que há um custo para isso: C++ não é uma linguagem tão fácil de se aprender e o framework exige um grau de aprendizado um pouco mais extenso e elevado. Java é bem mais fácil de usar e está presente, óbvio, em milhões de aparelhos móveis. As funcionalidades disponíveis por ele são suficientes, mão são restritas e disponibilizadas de acordo com o processo JCP. Isso significa que para criar uma nova API para o JavaME ? Só se for de acordo com todos os participantes de cada especificação JSR. Indisponível para meros mortais como nós : desenvolvedores.

Aí entra Python, como uma ponte, e pelo que vejo, isso é uma grande vantagem. Tem a facilidade de aprendizado de Java e é ao mesmo tempo tão poderosa como C++. Diferente de java que é limitado pelo processo de padrões, em Python se você quer criar uma API que use recursos avançados dos seu aparelho e a mesma não está disponível, é muito simples! Apenas crie uma extensão (módulo) e pronto! Está pronto para ser usado. Para os interessados em desenvolver em python, especialmente com tutoriais, aplicativos exemplos, etc: o site
http://croozeus.googlepages.com/py60extensions pode ajudar os iniciados!

Também, se você é um desenvolvedor que gosta de fuçar o aparelho móvel e mexer no hard code da máquina virtual, fique feliz! Porque o runtime do Python para S60 é open source, e você pode passar dias contribuindo com a comunidade caçando bugs, adicionando novas funcionalides e criando até a sua própria versão modificada.

Tecnologia: Python para S60

Prós:

  • Aplicativos integrados com web - Você pode facilmente usar a API de localização com o Google Maps e criar poderosos aplicativos mobile/web que usam o melhor de ambas plataformas. Posso citar exemplos como: MobyMaps, um aplicativo de geolocalização escrita apenas em 104 linhas de código, pyAmazon, Mobile Google Maps e tantos outros.
  • Aplicativos comerciais - Aplicativos que precisem acessar o sistema de arquivos, lista de contatos, conectividade bluetooth, câmera, galeria de imagens , etc. Com as APIS disponíveis em Python, elas permitem que o desenvolvedor escreva rapidmente aplicativos que possam interagir com seu aparelho e com outras pessoas. Exemplos claros como MobileGTD, PyS60RemoteControl e PySpy.
  • Rápida prototipação - Este sem dúvidas é uma das principais motivações de se usar Python para S60. Explicarei o porquê. O cenário comum é o desenvolvedor escolher uma linguagem de programação e começa logo de imediato a desenvolver seu aplicativo com ela. Se algo der errado ou não funcionar, ele só irar descobrir no fim do projeto, quando é tarde demais. Vários casos já foram reportados de projetos com desenvolvimento em JavaME onde o desenvolvedor trava em uma parte da codificação do seu aplicativo e descobre que aquela funcionalidade não pode ser feita com Java! Principalmente quando o sistema está quase pronto! Pois, Python vem ajudar aos desenvolvedores nesse desafio de uma forma elegante e bem eficiente: Se você tem uma idéia, e quer checar se aquela sua idéia funciona ou não, basta escrever algumas linhas de script de código Python para testá-la. Se você estiver satisfeito com a idéia/resultado, apenas incremente um pouco mais seu código para torná-lo seu produto final. Caso o contrário, você pode implementar a sua idéia agora (provada que funciona) em uma versão final com C++ ou Java se você necessita de mais performance ou portabilidade. Uma coisa bem legal com desenvolvimento em Python,
    é que com a rápida prototipação, você pode mostrar coisas já funcionando desde o primeiro dia de projeto em vez de utilizar documentações, diagramas ou slides.
  • Utilitários - Se você tem que dar alguma palestra ou participar de algum evento especial e precisa de soluções rápidas para problemas simples, porque não usar PyS60 ? Um exemplo prático foi uma pequena palestra que tive que dar sobre aplicações móveis tempos atrás, e pra a mesma desenvolvi pequenos aplicativos utilitários (câmeras fotográficas, gravador de vídeos, reprodutores de vídeos, jogos simples) em poucos dias. Qual linguagem usei ? Python! Prototipação rápida associada com altos recursos do aparelho me permitiram criar aplicações-demo bem interessantes para minha palestra.
  • Jogos - Python é uma linguagem com uma grande quantidade de biblitotecas APIs que podem ser utilizadas para jogos, como: Sensor API, Open GL, gráficos, manipulação de imagem, etc. Ela é também uma boa ferramenta para desenvolvimento de jogos casuais de curta duração. Embora, isso possa ser feito com o Flash Lite com uma API para gráficos mais poderosa e de fácil uso, as APIS do PyS60 irão ajudá-lo a desenvolver seus jogos com aquela sensação de "Uau! Pode fazer isso em Python é?? Que maneiro!"

Porque?

  • Vasta quantidade de APIs/funcionalidades - A plataforma Python para S60 oferece uma quantidade razoável de APIS para desenvolvimento, mas o mais legal é que em qualquer momento, você pode criar novos módulos /extensões usando Python/C se você sentir falta de alguma funcionalidade não coberta pelas APIs padrões. Esses módulos podem ser adicionados de uma plataforma para outra sem grnades modificações a depender da plataforma alvo.
  • Facilidade de uso - A linguagem Python é uma das linguagens mais fáceis de se aprender e de trabalhar. Em apenas algumas semanas, você pode está produzindo variados códigos de acordo com sua necessidade (Alta produtividade).
  • Suporte da comunidade- Como Python é open-source, logo há uma grande quantidade de scripts e códigos escritos pela comunidades open-source espalhados por aí, prontos para serem usados na sua aplicação.

Contras:

  • Desempenho/Performance - A performance de Python é razoável, embora seja mais lenta que C++, Java e Flash. Se você precisa desenvolver aplicativos que exijam computação científica, cálculos numéricos complexos, streaming de vídeo/áudio, python realmente não é a melhor opção.
  • Certificação/Assinatura dos aplicativos - Pode-se considerar que não é muito diferente dos aplicativos Symbian em C++, os aplicativos comerciais (e.g. os que são vendidos pelas operadoras) precisam ser assinados e passar pelo processo de certificação Symbian (Symbian Signed Proccess). Um pouco burocrático!
  • Portabilidade - Acho que é um dos principais contras da plataforma Python. Afinal de contas, ele só funciona em plataformas Symbian-S60. Mas é claro que é possível fazer o porte dela para outras plataformas visto que o núcleo de Python é o mesmo. Mas nem todas as bibliotecas do S60 pode ser portadas diretamente sem modificações críticas.

Porque?

  • Assinatura Symbian (Symbian Signed) - O processo era até para funcionar com aplicativos Python, mas ele foi desenhado para aplicativos em C++. Por isso fica aí uma incogníta na hora de certificar seus aplicativos Python. As poucas vezes que tentei fazer isso, acabei não conseguindo fazer (Acho que por falta de informação ou inexperiência).
  • Segurança - Como o processo de segurança é algo sempre levado em questão, especialmente na fase de desenvolvimento, logo é bem complicado lidar com essas questões de segurança da plataforma (e.g.evitar que usuários construam aplicativos malwares para os dispositivos). Sempre há restrições de API que pode desacelerar o andamento do projeto e aí começa o ciclo de teste, assinatura, re-teste, etc. Python para S60 também sofre desse male quando você decidir montar o package instalável dele para o Symbian (.sis).
  • Desempenho - O baixo desempenho de Python se deve pelo simples fato de ela ser uma linguagem interpretada. Logo, há umas desvantagens de performance em comparação com aplicativos desenvolvidos em linguagens nativas do aparelho.
  • Ferramentas- Em questão de ferramentas, PyS60 ainda deve muito. Embora tenha um plugin para testar seus scripts no emulador do C++ SDK do Symbian, scripts para testar no seu aparelho e até programas como py2sis ou Ensymble para tornar os scripts em instaláveis (.sis), ainda assim é fraco quando se fala de integração com ferramentas como Carbide C++, Eclipse, Netbeans, etc. Diferente dessas plataformas (JavaME, FlashLite, SymbianC++) que cada uma tem uma IDE forte associada, Python ainda não tem uma ferramenta ou plugin específico para desenvolvimento para mobile S60. Ah, e fãs do linux e mac irão ficar tristes: o Emulador de testes só roda no Windows! =/

Enfim, posso concluir que python permite você desenvolver coisas bem legais para seu aparelho, especialmente se ele for um Symbian Series 60. Com apenas poucas linhas de código você estará desenvolvendo aplicativos e utilitários de baixa/média e alta complexidade. Ideal para prototipação rápida, a linha de aprendizado é suave e a quantidade de APIs existentes é enorme abrigada por uma comunidade opensource que está sempre contribuindo com novas bibliotecas e APIs para sua aplicação. Como ainda está em fase de crescimento, a plataforma mobile de python está sempre inovando-se com novas releases, e você desenvolvedor pode ajudar e contribuir com a evolução da mesma, afim de tornar uma plataforma inovadora e divertida de programar para Symbians S60.

Se você estiver interessado em aprender mais sobre o Python para S60 , há diversos recursos nesse site wiki.


Acho que é isso!

Em breve postarei alguma análise sobre o Symbian C++!


TV Digital em aparelhos móveis como notebook, celulares ? Realidade ou mito?

Vejam o vídeo, e olhe que não precisa nem ir muito longe... É aqui no Brasil mesmo. =D
Fiquei fascinado com um vídeo que eu encontrei no Olhar Digital sobre automação residencial. Existe uma solução sem fio chamada Z-Wave (brasileira) que permite o controle remoto através de pequenos controles ou celulares dos objetos encontrados da sua casa.

A idéia é que com alguns simples toques de botão, você possa controlar seu arcondicionado, acender as luzes da casa, ligar a tv, abrir o portão, etc.

Acho que é essa a idéia da convergência, você ter o poder da mobilidade para fazer que o ambiente seja inteligente e haja sobre contexto. Não seria legal que você ao chegar depois de um dia cansativo do trabalho, o ambiente reconhecesse seu humor e ajustasse o ambiente de melhor agrado ? Luzes sem muito brilho, música ambiente relaxante, a tv com imagens de vitrais e paisagens, o chuveiro quente com uma temperatura agradável, seu arcondicionado ligado na temperatura relativamente propícia, seu café pronto na cafeteira, etc. TUdo isso automático baseado no comportamento e reação do usuário. Esse tipo de tecnologia deve estar em estudo e em breve veremos coisas desse nível.

Vejam o vídeo, é bem maneiro!
Para os interessados em desenvolvimento de jogos para celulares, achei um vídeo bem legal no Olhar Digital falando sobre o mercado de games para aparelhos móveis que está em plena ascensão. E é mesmo, hoje os aparelhos estão ficando cada vez mais robustos com um relativo alto poder de processamento. Para os desenvolvedores é bastante animador também, especialmente pela quantidade de recursos (APIS e funcionalidades) que as fabricantes estão liberando para o uso dos desenvolvedores : sensores, Câmera, localização GPS, etc.

Vejam o vídeo neste link.
Esse teve um pouco atraso, mas enfim: Segue o décimo segundo capítulo dos tutoriais para a obtenção do certificado SCMAD (Sun Mobile Application Developer). Todo o material está em inglês e formato .PPT (powerpoint).

Nesse capítulo abordo:

  • MIDP Sound API

Para fazer o download dos slides, clicar aqui.

Para acesso ao primeiro tutorial do certificado SCMAD aqui.

Para acesso ao segundo tutorial do certificado SCMAD aqui.

Para o aceso ao terceiro tutorial do certificado SCMAD aqui.

Para o acesso ao quarto tutorial do certificado SCMAD aqui.

Para o acesso ao quinto tutorial do certificado SCMAD aqui.

Para o acesso ao sexto tutorial do certificado SCMAD aqui.

Para o acesso ao sétimo tutorial do certificado SCMAD aqui.

Para o acesso ao oitavo tutorial do certificado SCMAD aqui.

Para o acesso ao nono tutorial do certificado SCMAD aqui.

Para o acesso ao décimo tutorial do certificado SCMAD aqui.

Para o acesso ao décimo primeiro tutorial do certificado SCMAD aqui.

Scmad Chapter12
View SlideShare presentation or Upload your own.

Resenha do Evento: PBJUG - Encontro dos usuários Java em Campina Grande

Olá Pessoal,

Acabei de chegar do evento do PBJUG: Mês de usuários Java em Campina Grande - PB. Posso logo iniciar que o evento, embora com duração de apenas um dia, foi repleto de ótimas palestras bem interessantes. Umas por sinal, me chamaram demais a atenção.
Em nível de organização, tomei um susto devido à quantidade de pessoas no evento. Era muita gente, nem eu imaginava que o evento teria um público tão imenso. Isso me revela uma coisa bem interessante: O estado da Paraíba tem muita gente boa trabalhando em informática, mesmo o estado não tendo tanto destaque (não merecido) no cenário de informática brasileiro.

Enfim, o evento muito bem organizado foi composto por palestras de duração de 1 hora em média. O mais engraçado é que durante as palestras, os organizadores jogavam brindes no ar ao público presente no auditório. E o pessoal ia ao delírio para pegar os brindes. Era muita agitação! O calor humano foi forte. Eu de Pernambuco, junto com uma pequena caravana de 15 pessoas foi a minoria do evento em comparação a maciça presença dos paraibanos (Isso não é novidade!)

Vamos às palestras:


A primeira palestra do evento foi a de Jacques Philippe Sauvé , Professor da UFCG. Ele apresentou uma bela palestra principalmente ao público que na grande maioria formada por estudantes de quais carreiras a seguir na área de informática. Achei bem legal, especialmente por tirar dúvidas "clássicas" sobre diferenças entre os cursos de Sistemas de Informação x Ciência da Computação x Engenharia da Computação x Processamento de dados. Outro ponto a destacar também foi um aspecto relevante referente ao dilema contínuo de um estudante de computação recém- calouro ao perguntar a si mesmo: "Se eu nao gostar de programação, o que é que eu vou fazer ? " Pois, de acordo com o prof. Jacques há outras carreiras que não necessariamente exigem que você tenha que programar. Mas, deixa claro que é fundamental ter o conhecimento téorico e técnicos do funcionamento de um software.

A segunda palestra foi sobre o Glasfish. Ela foi apresentada por Kohsuke Kawaguchi , engenheiro da SUN. Posso considerar que essa palestra foi a mais técnica de todo o evento. Talvez muitos presentes não tenham compreendido toda a essência da palestra, mas foi bem interessante. Um servidor de aplicações opens-source que ele vem desenvolvendo que com diversos experimentos tem provado ser bastante eficiente e com uma grande performance. Não entrarei muito à fundo sobre essa palestra, visto que, como não é muito da minha área de conhecimento, não tenho muita experiência pra falar os conceitos apresentados na demonstração do GlasFish.

A terceira palestra foi considerada por mim uma surpresa. Primeiro porque não conhecia de perto o tal do SunSpot. Já tinha lido à respeito, mas nunca ter tocado. Posso dizer que fiquei admirado pelo poder desse pequeno aparelho. A palestra "Sun Spot - Simplificando o desenvolvimento para dispositivos wireless" apresentada por Alisson Brito (CEFET-JP) foi de altíssimo nível. Além de explicar o funcionamento desse pequeno aparelho, mostrou na prática o que é possível fazer com ele. E te digo, são coisas incríveis. O Sun Spot é um dispositivo que tem diversos sensores e pode se comunicar com outros dispositivos através de redes sem fio ou cabo, com um notebok por exemplo. Coisas legais como você está num ambiente com diversos arcodicionados. Você pode programar esse aparelho para que ele auto-regule a temperatura de acordo com a temperatura ambiente. Isso é possível através de um sensor que vem embutido no Sun Spot. Melhor ainda! Que tal você poder fazer com que esses aparelhos se auto-comuniquem (uma rede sem fio mesh) e desliguem os arcondicionados da sua sala de trabalho quando você não estiver mais presente ou indo embora. Coisas assim que fazem esse Sun Spot ser um aparelho bem legal para catucar. Para finalizar irei colocar um vídeo aqui postado no blog do Ricardo Ogliari (Mobilidade é tudo) que mostra o uso do SunSpot na prática. Bem legal o vídeo!
Por fim, o Alisson apresentou diversos trabalhos que ele anda desenvolvendo. Deixo o link do seu website com mais informações sobre seus projetos.



Pausa para o almoço! O pessoal e eu fomos almoçar no Shopping da cidade. Cidade bem acolhedora e bastante organizada. Campina Grande sem dúvidas é um bom lugar para criar sua famíla!

De volta para as palestras da tarde, inicio com a entrega da camisa e certificado para o público presente. Camisa bem legal que eu ganhei e bastante criativa. Pretendo colocar uma foto dela em breve por aqui.
A primeira palestra da tarde foi sobre Processos e Pessoas por Maurício Linhares. Não posso comentar muito sobre essa palestra, pois não pude ficar presente no decorrer da mesma. Estava um pouco cansado e decidi cochilar no carro por alguns minutos devido à viagem que fiz de carro durante toda a madrugada de Recife à Campina Grande. Porém, nos minutos que presenciei, o Maurício explicou sobre como os processos podem afetar no desenvolvimento de software. A idéia principal é: Não são os processos que guiam como deve ser o desenvolvimento de software e sim o inverso. Os processos precisam ser adaptados de acordo com a necessidade e complexidade do sistema a ser desenvolvido. Bem interessante!

Por fim, chegou nas palestras que eu realmente estava querendo assistir. A primeira foi a "Java na Ponta dos dedos: A revolução Invísivel". Ministrada pelo engenheiro Maurício Leal. A palestra foi bem legal sobre o futuro da convergência e como a tecnologia pode evoluir a ponto de coisas simples do dia-a-dia serem integrados com a tecnologia intrisicamente. É a ubiquidade chegando. E Java tem demonstrado força nessa área com diversos projetos open-source para reforçar o estímulo da convergência, mobilidade e ubiquidade. Ele apresentou alguns vídeos bem legais durante a apresentação, dos quais um deixarei no fim para fechar a conclusão desse post.

A "TOP" palestra do dia foi a do grande Roger Brinkley da SUN MicroSystems. Esse cara é "O" cara! Ele é o líder-técnico e gerenciador da maior comunidade mobile embeded open-source ligada ao JavaME no mundo. Além de um vasto conhecimento técnico na área, apresentou um pouco sobre as comunidades open-source e o que fazer se você quiser criar ou até participar de um projeto ligado à comunidade open-source. Palestra muito boa com direito à tacadas de golfe (Pois é, o Roger é um cara muito animado e bem brincalhão) ao público com bolinhas premiadas com direito a voucher de certificados da SUN.

Enfim, posso resumir que o evento foi um sucesso. Parabéns ao comitê de organização do evento e espero participar desse tipo de evento mais vezes. Por sinal, gostaria muito se Pernambuco também sediasse um evento desse porte.

Para finalizar deixarei um vídeo que achei fascinante demonstrada em uma das palestras: o CoolTown. Vejam o que o futuro nos reserva quando a mobilidade se torna parte da nossa vida de forma implícita.


Evento em São Paulo: IV eBussiness & Mobile Strategies Forum

Pessoal,

Através de alguns contatos, fui informado de um grande fórum que irá ocorrer agora no mês de outubro (dias 14 e 15 especificamente). O eBusiness & Mobile Strategies Fórum será realizado em São Paulo e irá focar na apresentação de cases de sucesso de diversas empresas que usaram a mobilidade para incrementar a produtividade e lucro dos seus negócios. Grandes empresas como Mellita, CopaGaz, Assolan, TIM, etc. já garantiram presença para apresentações de cases.
Para mais informações ou inscrições, entrar no site no link abaixo.

Uma boa notícia para os leitores deste blog, é que tem um desconto de 10% na inscrição do IV eBussiness & Mobile Strategies Forum, bastando apenas fornecer o código de desconto - blog0508 - no momento de inscrição pelo site- www.ebusinessbrasil.com.br/mobile.

eBusiness & Mobile Strategies Fórum

Nos dias 14 e 15 de outubro será realizado o IV eBusiness & Mobile Strategies Forum, no WTC Hotel, em São Paulo. O evento (que já está em sua 4ª edição) irá apresentar os principais cases de mobilidade que revolucionaram os negócios das organizações brasileiras, demonstrando como é possível aumentar a produtividade, elevar as vendas e reduzir custos.
Este ano, um dos grandes destaques do evento ficará por conta do Expo Mobile. Paralelamente ao congresso e com entrada gratuita, o espaço contará com a presença das principais empresas focadas em soluções de mobilidade, que apresentarão as últimas inovações direcionadas ao mercado corporativo.

Capítulo 11: Guia de certificação SCMAD

Segue o décimo primeiro capítulo dos tutoriais para a obtenção do certificado SCMAD (Sun Mobile Application Developer). Todo o material está em inglês e formato .PPT (powerpoint).

Nesse capítulo abordo:

  • MIDP Deployment
  • Push Registry

Para fazer o download dos slides, clicar aqui.

Para acesso ao primeiro tutorial do certificado SCMAD aqui.

Para acesso ao segundo tutorial do certificado SCMAD aqui.

Para o aceso ao terceiro tutorial do certificado SCMAD aqui.

Para o acesso ao quarto tutorial do certificado SCMAD aqui.

Para o acesso ao quinto tutorial do certificado SCMAD aqui.

Para o acesso ao sexto tutorial do certificado SCMAD aqui.

Para o acesso ao sétimo tutorial do certificado SCMAD aqui.

Para o acesso ao oitavo tutorial do certificado SCMAD aqui.

Para o acesso ao nono tutorial do certificado SCMAD aqui.

Para o acess ao décimo tutorial do certificado SCMAD aqui.

Scmad Chapter11
View SlideShare presentation or Upload your own.

Aplicativos Python S60


Achei um post muito interessante em um fórum que encontrei mostrando diversos aplicativos desenvolvidos em Python para celulares Symbian S60.
É incrível a quantidade de aplicativos interessantes de bastante qualidade desenvolvidos em apenas em algumas horas! Linguagens de programação de script são fantásticas para prototipação de aplicativos, e agora mostrando serviço em aplicativos comerciais prontos para serem distribuídos!

Recomendo fortemente vocês darem uma olhada, especialmente porque os aplicativos são open-source e os códigos-fonte estão disponíveis para download e estudo.
Acabei de ver isso no blog do Felipe Andrade, putz!!!! Sensacional =D
O que um celular com câmera e com saída para Tv (um N95 da vida) somado com um algoritmo de reconhecimento de imagens pode fazer por você ?
Assista este vídeo e veja que aplicativos esperam para ser desenvolvidos semelhantes a esse:


Análise de plataformas móveis: JavaME (Prós e contras)

Uma das questões bem intrigantes hoje para os desenvolvedores da área mobile é a dificuldade da escolha de que linguagem de programação ou tecnologia a escolher para desenvolver nossa aplicação. Existe hoje uma variada e crescente lista de linguagens como Java, Symbian C++, Flash Lite, Widgets, Python, etc.
O mais interessante é que como existem diversas tecnologias, não há a necessidade para os desenvolvedores de ter conhecimento técnico em todas as tecnologias, visto que nem todos também desenvolvem os mesmos tipos de aplicativos. Ou seja, de acordo com o tipo de tecnologia que melhor se encaixa com a experiência do desenvolvedor e com o propósito do aplicativo, podemos decidir qual melhor tecnologia a ser usada para o desenvolvimento.
Mas isso pode ser uma faca de dois gumes. Há a possibilidade também de confudir os novos desenvolvedores que estão começando a desenvolver nesse amplo mundo de software mobile, porém fragmentado.

Em muitos fórums, geralmente ocorre esse tipo de discussão:

Questão: "Eu quero desenvolver um aplicativo que abra um arquivo e possa enviá-lo para um servidor web. O que eu posso usar para desenvolver esse aplicativo ?"

Resposta1: "JavaME, FileConnection API! Ele pode resolver seu problema."
Resposta2: "Ah, não se preocupe. Use C++ em vez de JavaME, porque senão você vai receber milhões de caixas de dialógo de permissões e segurança."
Resposta3: "Porque usar C++ quando você pode fazer a mesma coisa com Python? C++ é muito complexo ! "
Resposta4: "Mas Python não roda em aparelhos sem o sistema operacional Symbian, use Java."
Resposta5: "Para que tanto trabalho? Porque não usa logo o Flash Lite e usa a persistência já nativa baseada em servidor ("server-based persistence") ? Seu aplicativo vai sair rapidinho!"
Resposta6: "Flash Lite é muito fragmentado e de novo cai na necessidade de aparelhos Symbian. Use JavaME, mas não se esqueça de assinar (certificar) sua MIDlet ou a usabilidade do aplicativo será um lixo!"

Vejam os diversos fórums na área de desenvolvimento móvel. Está cheio dessas discussões como o exemplo acima. Baseada na minha opinião/experiência e também compilando opiniões de diversas fontes, pude juntar uma análise com pós e contras das principais plataformas de desenvolvimento da atualidade. Irei começar com JavaME, que é a mais popular dentre as existentes.

Tecnologia: JavaME

Prós:
Aplicativos para gerenciamento pessoal e produtividade - Exemplos: Gerenciadores de atividades físicas (sport trackers), aplicativos de controle de gastos, gerenciamento de informações pessoais (calendário, agenda de contatos, etc.).
Jogos - Tanto jogos casuais (advergames) como jogos complexos.
Aplicativos comerciais "enterprise" - Esses não necessitam de interfaces muito requintadas. Geralmente usam bibliotecas padrões da API (Ex: LCDUI) para atingir o maior número de aparelhos possíveis aliado com menor tempo de desenvolvimento (A preocupação fica na regra de negócio).
Prototipação Rápida - Provas de conceito e aplicativos para testes podem ser rapidamente implementados com JavaME.
Aplicativos de Rede - Leitores RSS, serviços de previsão de tempo, aplicativos de blogging, versões mobile de aplicativos web, etc.
Criação de aplicativos realmente portáveis.
Grande quantidade de aparelhos disponíveis com o a máquina virtual JavaME.

Porque?

Facilidade e simplicidade de uso e aprendizado - Um programador experiente, mesmo vindo de outras linguagens como C/C++, pode obter um bom conhecimento prático de como toda a plataforma funciona em algumas semanas e produzir aplicativos rapidamente. Isto eleva a JavaME como uma plataforma rápida pra desenvolvimento de aplicativos. Baseada na linguagem Java e orientada a objetos facilitam esse aprendizado. O framework também não é muito complexo.
Portabilidade - A idéia do Java é "Programe uma vez e rode em qualquer lugar". Embora isso seja o ideal, na prática há diferenças entre implementações, o suporte diferenciado a certos pacotes e APIS, formatos de Audio/video, etc. Mas isso não significa que você deve reescrever totalmente seu aplicativo. Com algumas linhas e algumas checagens em tempo de execução será suficiente.

GAME API - Para mim um dos frameworks matadores do JavaME. Ele combinado com algumas APIS opcionais tornam o desenvolvimento de jogos para celular bastante eficiente com ótimos resultados.
API de Networking e a facilidade de comunicação Web - O framework GCF (Generic Connection Framework) tem como essência ser o máximo possível extensível e genérico para variados tipos de conexão. Uma vez que você tenha aprendido a fazer um tipo de conexão, você está apto rapidamente a fazer qualquer tipo de conexão.


Contras:

Acesso a recursos específicos do aparelho - Exemplos: Acesso a caixa de mensagens SMS, sistema de arquivos, galerias de foto, hardware, etc.
Aplicações Multimídia - Examplos: Reprodutores (players) de video streaming, audio e gravadores de vídeo e som, aplicações de reconhecimento de vídeo/som.
Aplicativos que exigem bastante performance - Computação científica, processamento de imagens, decodificadores de vídeo, processamento de som.


Porque?

A API de Java ainda é limitada para acesso a recursos específicos no hardware do telefone. Isso existe porque qualquer funcionalidade nova em Java depende da aprovação do processo da comunidade Java (Java Community Process), logo se não existir uma API padrão disponível para que o desenvolvedor queira fazer, ele está com má sorte. Um exemplo clássico seria acessar a caixa de mensagens SMS do aparelho.

A implementação MMAPI ainda é bastante bugada. Muitas checagens em tempo de execução são necessárias ainda pelo fato de que as funcionalidades nativas do aparelho (desenvolvidas em outras linguagens) são disponíveis para máquina virtual Java e esse acesso indireto pode ter um impacto profundo em performance de aplicativos de tempo-real.

Fazer controles específicos sobre áudio, vídeo ou câmera geralmente não está disponível. Embora o JSR 234 (Advanced Multimedia Supplements) ainda consiga resolver algumas dessas dependências, ainda nem se compara com o que outras plataformas podem oferecer para os desenvolvedores. E a disponibilidade dessa API em aparelhos móveis, já que é uma API opcional, é bastante baixa.

O acesso ao sistema de arquivos é provido pela API FileConnection (JSR-75), mas ainda é restrito para certos tipos de acesso e requer que o MIDlet seja assinado, senão diversas caixas de diálogo de segurança pedindo a permissão do usuário aparecerão na tela. Usabilidade zero! Ah, e o processo de assinatura de um MIDlet custa $$ e tem uma burocracia envolvida, esteja preparado.


Enfim, essa é apenas uma pequena análise que eu faço hoje com JavaME, inclusive opinião de alguns desenvolvedores e fóruns que eu vejo na área. Não acho que JavaME é ruim ou melhor. Ela tem muitos prós e contras que devem ser levados quando iniciar a escolha de qual plataforma para o desenvolvimento do seu aplicativo móvel. De acordo com as suas necessidades e requisitos do seu aplicativo, a pergunta "O que eu devo escolher ou usar" será respondida através da experiência. No início realmente é complicado, mas com o tempo a escolha de qual plataforma adotar acaba sendo bastante natural. Gerenciamento de requisitos é uma ciência e não uma arte, então a escolha da plataforma de desenvolvimento irá aparecer naturalmente com a experiência.

A próxima linguagem de programação que irei citar mais detalhes é o Python! Considero essa a minha plataforma de desenvolvimento favorita. =D



Cap. 10 - SCMAD : Guia de Certificação

Estamos já no Décimo capítulo dos tutoriais para a obtenção do certificado SCMAD (Sun Mobile Application Developer). Todo o material está em inglês, visto que a prova também é em inglês!

Nesse capítulo abordo:

  • WMA- Wireless Messaging API
    • Message Connection
    • Message Types
    • Classes
    • Permissions

Para fazer o download dos slides, clicar aqui.

Para acesso ao primeiro tutorial do certificado SCMAD aqui.

Para acesso ao segundo tutorial do certificado SCMAD aqui.

Para o aceso ao terceiro tutorial do certificado SCMAD aqui.

Para o acesso ao quarto tutorial do certificado SCMAD aqui.

Para o acesso ao quinto tutorial do certificado SCMAD aqui.

Para o acesso ao sexto tutorial do certificado SCMAD aqui.

Para o acesso ao sétimo tutorial do certificado SCMAD aqui.

Para o acesso ao oitavo tutorial do certificado SCMAD aqui.

Para o acesso ao nono tutorial do certificado SCMAD aqui.


Scmad Chapter10
View SlideShare presentation or Upload your own.

Mês Java - Encontro de usuários Java em Campina Grande (PBJUG)

Pessoal,

Para fins de divulgação, vai ocorrer um evento muito interessante em Campina Grande: o Encontro dos usuários Java da Paraiba (PBJug). O evento será no dia 13 de setembro e terá uma programação repleta de palestras bem interessantes sobre a tecnologia Java.


Obs. 1: As palestras em inglês terão tradução
Obs. 2: As palestras serão todas presenciais.

Horário Título
08h00 - 08h20 Credenciamento e entrega de camisas
08h20 - 08h40 Abertura do Evento
Rodrigo Rebouças (UFCG / PBJUG)
08h40 - 09h30 Palestra: As Profissões em Ciência da Computação
Jacques Philippe Sauvé (UFCG)
09h30 - 10h00 Coffee Break
10h00 - 11h00 Palestra: Glassfish v3: a nova geração de servidores de aplicação modular
Kohsuke Kawaguchi (Sun Microsystems)
11h00 - 12h00 Palestra: Sun SPOT - Simplificando o Desenvolvimento para Dispositivos Wireless
Alisson Brito (CEFET-JP)
12h00 - 13h30 Horário de Almoço
13h30 - 14h00 Distribuição de Brindes
14h00 - 15h00 Palestra: Processos ou Pessoas?
Maurício Linhares (PBJUG)
15h00 - 16h00 Palestra: Java na Ponta dos Dedos: a revolução invisível
Mauricio Leal (Sun Microsystems)
16h00 - 16h30 Coffee Break
16h30 - 17h30 Palestra: Estendendo, expandindo e portando projetos da Comunidade ME
Roger Brinkley (Sun Microsystems)
17h30 Encerramento e distribuição de brindes


Realmente, o evento está de altíssimo nível com palestras internacionais, inclusive. Vale destacar as duas últimas palestras com Mauricio Leal (grande arquiteto e desenvolvedor de tecnologias JavaME e mobile da SUN) e Roger Brinkley (Da comunidade Open source com projetos relacionados a Mobile e JavaME e até o PhoneME).

Um evento imperdível para os que moram próximos na região Nordeste!

Mais informações ver o site de organização do evento. Inscrições com o valor R$ 12,00 (até 07/09 com brinde uma camisa!) .

Quem for, manda um email ou comentário no blog, quem sabe a gente não pode trocar umas idéias por lá!

Está dado o recado!
Olá pessoal,

Gostaria de retificar um erro que passou despercebido por mim. A postagem dos slides do primeiro capítulo do guia de estudos da certificação SUN SCMAD. Por algum motivo (talvez algum deslize meu) , o slideshares modificou os meus slides, substitutindo os slides do capítulo 1 pelo o capítulo 5.
Graças ao leitor do blog Fernando, consegui consertar esse pequeno erro.

Para os interessados, em fazer o download do arquivo, o link ainda é o mesmo e pode ser baixado aqui.

Em breve, já saindo do forno o próximo capítulo do guia.
Fiquem antenados!
top