Diva: Garota sem Fio

Para quem se cansou de visitar este espaço, heheh, gostaria de dar uma dica de um espaço bem legal, com um conteúdo bem variado e extremamente interessante. O blog da garota sem fio tem várias informações, porém, o que achei mais interessante foi o fato da Beatriz Kunze (Garota sem fio) não ter formação em alguma área da informática, ela tem uma clínica odontológica que trabalha bastante com computação móvel.

Bem, era isso..

Att.
Ping

Imagens SVG e Java ME



Olá indiada.. vocês já ouviram falar de imagens SVG?

Bem, para quem ouviu tá tranquilo, para quem não conheçe sugiro que estude sobre este novo formato de imagem vetorial 2D. Isso porque foi criada uma API para Java ME que trata destas imagens, permitindo a você criar interfaces mais amigáveis e com uma qualidade gráfica bem maior. Para conferir isto rode os exemplos SVGContactList e SVGDemo que vem junto com o Sun Java Wireless Toolkit 2.5 for CLDC. É impressionante. As imagens ao lado são do SVGDemo, porém, é mais indicado vâ-los no emulador, eles são animados.

Bem, eu pretendia criar um artigo explicando a Scalable 2D Vector Graphics API (JSR 226), porém, por falta de tempo e capacidade, hehe, não consegui. Vou mostrar apenas alguns detalhes que captei no uso desta API no pouco tempo que estou trabalhando com a API, sempre lembrando que novas informações são bem vindas aqui. Como meu conhecimento sobre imagens gráficas, edição de cenários e todas estas questões estéticas são apenas razoáveis, transcrevo a descrição do Wikipédia sobre o formato SVG:

SVG é a abreviatura de Scalable Vectorial Graphics que pode ser traduzido do inglês como gráficos vectoriais escaláveis. Trata-se de uma linguagem XML para descrever de forma vectorial desenhos e gráficos bidimensionais, quer de forma estática, quer dinâmica ou animada.

Lendo textos sobre SVG posso citar algumas características como:


* Este tipo de imagem é mais compacto que outros conhecidos.
* Elas são escaláveis, além de suportar ações de rotação, translação e flip sem perda de qualidade.
* Permitem que o usuário interaja com a imagem.
* Podemos procurar textos dentro do XML que forma o arquivo SVG.
* O SVG é um formato aberto

A apresentação “Building Portable and Scalable Mobile Applications Using JSR 226” de Suresh Chitturi e Michael Ingrassia do Nokia Rresearch Center traz um pequeno exemple de um arquivo SVG:

Como dito anteriormente, para o leitor ter uma percepção maior da capacidade das imagens SVG em aplicativos móveis e consequentemente, da utlidade da JSR 226, peço mais uma vez que olhem os exemplos que vem junto com a última versão do Sun Wireless Toolkit. Bem, para criar um programa que faça uso de todo este poderio ofensivo, hehe, eu fui apresentado a um ótimo artigo que mostra como fazer isso no NetBeans 5.5 com o Mobility Pack, seu título é “Adding and Editing Scalable Vector Graphic (SVG) Files in the Mobility Pack” e pode ser encontrado aqui. Aliás, o NetBeans me surpreendeu por ter suporte a leitura das imagens SVG, ou seja, eu posso simular sua animação de forma nativa na IDE, além de buscar pontos específicos da animação, mas para saber de tudo isso peço que visite o link do artigo citado anteriormente.

Bem, até aqui tá tudo bonitinho, mas depois de ler este artigo recebi uma animação SVG e teria que fazer a imagem executar certos movimentos gráficos através de ações do usuário. Na apresentação de Suresh e Michael (citada anteriormente) apresentava o seguinte exemplo de código para animação de imagens SVG:

SVGAnimationElement brickDrop;
brickDrop = (SVGAnimationElement)(doc.getElementById(“b01”));
brickDrop.beginElementAt(0);

Olhando o SVG que tinha em mãos reparei o seguinte trecho de código:

< animateTransform attributeName="transform" type="translate" id=”entra_mapas”  begin=”menuItem_esc.activate” from=”-163,199″ to=”-1,-1″dur=”0.25s” fill=”freeze”/ >

Então adaptei o código para isto:

Document doc = get_svgImage3().getDocument();
SVGAnimationElement anim = (SVGAnimationElement)(doc.getElementById(”entra_mapas”));
anim.beginElementAt(0);

E não é que funcionou \o/. Porém me deparei com um problema, as animações acontecerias com o acionamento das teclas direcionais do dispositivo, como LEFT e RIGHT. Reparei que a classe SVGMenu, disponível na IDE NetBeans 5.5, herda da classe Canvas. Depois de quebrar a cabeça por alguns minutos descobri a nossa classe deve herdar de SVGElementListener, como segue:

public class VisualMidlet extends MIDlet implements CommandListener, SVGEventListener{

Para que a nossa MIDlet (ou a classe que esteja usando a JSR 226) registre este listener, use o trecho de código abaixo. A primeira linha é o template do método, a última linha é como eu redigi em minha aplicação, levando em conta que o método get_svgMenu1() retorna o SVGMenu que foi criado pelo NetBeans.

.setSVGEventListener(SVGEventListener);
get_svgMenu1().setSVGEventListener(this);

Depois disso é só usar o método keyPressed como se estivéssemos tratando de uma classe Canvas:

public void keyPressed(int i) {
switch (get_svgMenu1().getSvgCanvas().getGameAction(i))
{
case Canvas.UP:

case Canvas.LEFT:

Bem, era isso pessoal, para um maior entendimento da API sugiro que analisem os códigos criados pelo NetBeans, é útil e dá uma visão maior da JSR 226.

Página oficial do SVG. Clique aqui.

Att.
Ricardo S. Ogliari
Ping

Domótica e Casa Digital

Olá pessoal, como prometi no último post de ontem, eu fui para casa e procurei o trabalho que fiz na graduação sobre isso, na verdade percebi que não foi exatamente sobre domótica e casa digital, foi sobre computação invisível, que não deixa de estar intrinsicamente ligada com os dois conceitos que dão nome ao título deste post.

Vamos em partes, primeiramente gostaria que os interessados nestes assuntos visitassem a página do trabalho que foi desenvolvido por mim e por Jonas Augusto Prediger, basta clicar aqui. Neste link o leitor encontrará os textos que encontramos no decorrer do trabalho, também alguns textos produzidos nas aulas de Informática na Sociedade, e a apresentação que ministramos no final da disciplina, sendo esta última a leitura praticamente obrigatória para o entendimento do conceito de computação invisível, ou ubíqua. Bem, mas o tema deste post não é especificamente sobre isso, porém, uma casa digital ou que empregue os conceitos de domótica, obrigatoriamente, terá que ter computadores invisível em um ambiente inteligente que cercará os habitantes destes modernos espaços de convivência.

O segundo passo é entender o conceito domótica. Para não falar besteira e passar por mentiroso vou trancrever um texto criado pelo Grupo de Sistemas Inteligentes do Departamento de Informática da Universidade Estadual do Maringá. Aliás, queria deixar um abraço pros meus amigos de Londrina, o Aislan, popular paquera, e também pra um amigo dele que infelizmente não lembro o nome. Bem, voltando a parte tecnológica:


A domótica, que também pode ser referenciada por expressões como “smart building”, “intelligent building”, “edifícios inteligentes”, é um novo domínio de aplicação tecnológica, tendo como objetivo básico melhorar a qualidade de vida, reduzindo o trabalho doméstico, aumentando o bem estar e a segurança de seus habitantes e visa também uma utilização racional e planejada dos diversos meios de consumo. A domótica procura uma melhor integração através da automatização nas áreas de segurança, de comunicação e de controle, e gestão de fluídos. Os elementos que constituem a cadeia funcional da domótica são: Sensores, Transdutores, Detectores e Redes Domóticas. A questão habitacional se traduz em uma exigência de qualidade e aproveitamento dos espaços, formulada em termos de edificação como: superfície mínima habitável, condições de salubridade e higiene, condições de iluminação e ventilação dos locais, etc. A integração das novas tecnologias existentes busca dar resposta a essa crescente exigência de qualidade. Para tanto, pôde-se observar um desenvolvimento de produtos e serviços para criar um habitat inteligente, tanto para o setor terciário como para o residencial.

Ou seja, de forma sucinta, a domótica utiliza a eletrônia e a informática pra prover sistemas inteligentes que são aplicados em edifícios, casas, enfim, qualquer tipo de moradia. Claro que o leitor vai me dizer que isso é uma utopia para a realidade atual, porém, essas casas cheias de brinquedinhos, já são realidades e estão a venda em países de primeiro mundo, sendo assim, alguma hora nós, pobres mortais brasileiros, cedo ou tarde vamos poder desfrutar destas tecnologias, só espero ainda estar vivo pra isso, hehee.

Além disso, é importante saber que empresas de ponta estão de olho nisso também. Se estiver interessado leia a notícia entitulada como “Apple e Microsoft duelam pela ‘casa digital’ do futuro” na íntegra. É, o leitor leu bem, simplesmente a Apple e a Microsoft estão entrando na guerra pelo domínio desta tecnologia.

Além disso, no Salão de Eletrônica para o Consumidor (CES, na sigla em inglês) foi mostrado um conceito de uma casa com TV, telefone e mídia digital espalhada pela casa. Há também esta outra matéria do Terra sobre esta mesma apresentação no CES, o título da matéria é “”Casa digital” vira realidade no Salão da Eletrônica para o Consumidor”.

Bem, confesso que não sou um expert neste assunto, apenas acho uma tecnologia inovadora, muito interessante, que pode ajudar de muitas formas os seres humanos, é óbvio que o seu uso de forma inadequada pode acarretar alguns acontecimentos nada agradáveis, mas isso é uma discussão que não quero me prolongar. Além disso, como o assunto deste blog sempre foi mobilidade com enfoque em Java ME, é importante dizer que os especialistas atribuem a linguagem Java a precurssora destas mudanças, devido a seu alto nível de granularidade, ou seja, existem API’s e plataformas para diversos fins. E levando pro lado da mobilidade, nem preciso explicar que todos estes conceitos estão ligados a computação móvel como café e computação.

Bem, é isso.. opiniões contrárias e interessantes são bem vindas.. contanto que não ofendam minha família, hehe..

Att.
Ping

Casa do futuro e … celular :)

Bem, ainda no IDG NOW, tem algumas fotos e um pouquinho de texto sobre uma casa do futuro chamada Ihouse, a partir desta matéria parti para o google, e encontrei um texto um pouco mais pomposo sobre o assunto no Terra, em uma matéria entitulada “Casa do futuro já é realidade no Brasil”. O interessante deste projeto de casa digital está no fato de o controle total da casa ser na sua maioria feito pelo nosso querido, idolatrado, indescritível, vitaminado e inoxidável telefone celular, na legenda da imagem que aparece na matéria é encontrado o seguinte texto: “O celular é transformado em controle remoto na casa”. Legal né?

Esta matéria me fez lembrar de um trabalho que fiz na graduação, sobre as casas digitais, os conceitos da domótica e conceitos relacionados, vou procurar nos meus arquivos, tomara que eu ainda tenha os arquivos da apresentação que fiz sobre este assunto, se eu não achar vou tentar escrever algo, porém, se alguém tiver links interessantes, tiver conhecimento sobre este assunto, convido a escreverem nos comentários deste post, pois é um assunto bem interessante.

Att.
Ping

Olha as biocélulas aí!!!

Bem, para quem leu o pequeno texto que coloquei no Penso Móvel, ou para quem não leu mas é ligado neste assunto de biotecnologia e afins, saiu uma notícia no IDGNOW, entitulada “Pesquisadores desenvolvem biocomputadores que monitoram células humanas”.

Ou seja… aquela história toda de chip implantados no braço ou no cérebro parece que tá tomando forma.

Att.
Ping

Resumo sobre Java ME

Olá pessoas..

Para quem está começando com Java ME ou quem já conheçe e está querendo fazer a prova de certificação da Sun para Java ME, descobri um link bem legal que tem um resumo de tudo que cai na prova.. consequentemente dá uma visão geral e bem compreensiva da tecnologia. Para acessar, clique aqui.

Att.
Ping

Biochip.. o novo circuito do mal?

Convido todos a lerem o texto chamado “Biochip.. o novo circuito do mal?” que coloquei no Penso Móvel agora a pouco. Clique aqui.

Att.
Ping

JavaFX

Olá..

Galerinha do bem, hehe.. parece que o JavaOne 2007 trouxe bastante novidades legais, não foi só o novo sistema operacional para telefones celulares, a Sun anunciou o JavaFX, para a criação de conteúdo e aplicações ricas — Rich Internet Applications (RIA). Bem, essa descrição assim como a notícia de seu anúncio eu consegui no blog do meu amigo Márcio d´Ávila. Para ver o texto completo clique aqui.

No texto citado tem mais informações sobre a tecnologia e também vários links de apoio.

Só um comentário, eu achava realmente que o Java na WEB, com seus JSP, Struts, JSF e toda aquelas siglas estava perdendo espaço para AJAX, Ruby on Rails etc. Achei uma excelente idéia e mostra que a Sun também está ligada nessa história, e criou o JavaFX para não ficar pra trás no desenvolvimento de aplicações RIA.

Att.
Ping

Sun anuncia Java Mobile FX

Olá amigos..

Saiu uma notícia no Terra informando que a Sun anunciou o desenvolvimento de um sistema operacional semelhante ao presente no iPhone, que deverá rodar em telefones celulares. Este SO foi baseado no SavaJE, aquele que eu comentei a um tempo atrás aqui neste espaço.. para quem não lembra clique aqui. Os celulares que tiverem este SO rodando estão sendo apelidados de Jphone.. legal né.

Pessoalmente gostei da notícia.. porque este SO vai rodar em conjunto com um kernel Linux, provavelmente seu custo será menor, mas mais que isso, é bom ver que a Sun está se mexendo e que parece que todos os olhos do mercado tecnológico estão se voltando para pequenos dispositivos. Um bom exemplo é o Iphone da Apple, o interesse cada vez maior da Microsoft com seu Windows Mobile, que é aponta várias melhorias em sua última versão, segundo os críticos especializados. Enfim, gostei da notícia. Gostaria de ver um relógio com o Java, hehe.. o Jclock.

Nnotícia do Terra: Sun anuncia sistema para celular jPhone

Att.
Ping

Sobre a palm

Pra finalizar o dia de post, o IDG Now divulgou um texto de André Caramuru sobre a Palm, empresa do ramo de PDA´s. O título é “Dilemas para a Palm”, para ler clique aqui. Ótimo texto.

Att.
Ping