Introdução ao Google Wave - Tutorial e Primeiras Impressões

quarta-feira, 22 de julho de 2009

Como muitos devem saber, a Google está lançando um novo produto chamado Google Wave, que a alguns meses está disponível para beta-testers em um sandbox para desenvolvimento. Se a Google revolucionou a forma como utilizamos a web, agora com Wave eles querem reinventar o email. Tenho testado a ferramenta, e com o uso fui compilando o material que encontrei sobre o wave que irei disponibilizar neste artigo.
Para este post, adaptei grande parte do conteúdo do artigo Google Wave: A Complete Guide do Site Mashable.com com as minhas impressões. O site ainda possui diversos artigos interessantes sobre o Wave.

Para iniciar veja na Figura 1, a aparência do Google Wave.

Figura 1: Aparência do Google Wave.

O Google Wave possui uma interface rica e intuitiva, onde começando da esquerda para a direita, temos a caixa de navegação com a Caixa de Entrada (Inbox), a opção Active apresenta as ondas que estão ativas, a opção All apresenta todas as ondas disponíveis, e assim por diante. Na caixa Contacts, temos a nossa lista de contatos. A coluna do meio (Inbox) apresenta a nossa caixa de entrada, ou a visão que estamos enxergando no momento, similar ao Gmail, que demonstra as mensagens de acordo com o filtro (se houver) estabelecido.
Na terceira coluna, vemos uma onda aberta similar a uma seção de chat.

Mas o que é o Google Wave?

Para resumir, o Google Wave é uma plataforma de comunicação em real-time, que combina diversos aspectos da Web 2.0 que utilizamos atualmente como mensagens instantâneas, blogs, wikis, redes social, sem falar de email =) tudo isso em seu browser.
Pode ser utilizado em diversas finalidades, para gerenciamento de projetos (ferramenta de colaboração), para compartilhar arquivos ou simplesmente iniciar uma conversa, ops , onda. As pessoas podem se comunicar e trabalhar em conjunto formatação de texto rich-text, fotos, vídeos, mapas, e muito mais.

Entre as diversas funcionalidades inovadoras, segue o resumo de algumas disponíveis:

  • Colaboração em Tempo Real: Tecnologia concorrente que permite que as pessoas em uma onda editem conteúdo de mídia ao mesmo tempo. (É possível ver o que a pessoa está escrevendo em tempo real.)
  • Ferramentas de Linguagem Nativa: Google Wave automaticamente corrige palavras escritas erroneamente, e o que achei mais impressionante, ele corrige erros de concordância.
  • Embutível: É possível embutir ondas em qualquer blog ou site. No GDD foi apresentado como publicar uma onda no blogspot, bem legal.
  • Aplicações e Extensões: Assim como o Facebook ou o iGoogle é possível criar aplicações para o wave, desde de robôs até complexas aplicações, gadgets. (Tanto em Java como em Python).
  • Suporte a Drag and Drop: É possível fazer drag and drop de documentos, fotos para a onda, no more attachments ;-)
  • Playback: Uma funcionalidade interessante, uma vez que a onde fica muito grande, se alguém entrar no meio da onda, pode ficar sem entender o histórico, para isso foi disponibilizado um botão (Playback), que é possível ver o que foi dito em qualquer parte da onda. E o melhor, o projeto é open source \o/
Terminologia

Para entrar na onda, é preciso entender o linguajar do Google Wave, que ajuda a definir e contextualizar essa nova plataforma de comunicação. Entender estes termos irá ajudar a compreender mais este novo projeto. Veja a Figura 2, que apresenta estes conceitos de maneira visual.

Figura 2: Entendendo os termos de uma Wave

  • Wave: A onda refere-se a uma thread especifica de uma conversação. Pode serincluída apenas uma pessoa, um grupo de usuários ou mesmo robôs. Que seria todo o histórico de conversação de um email.
  • Wavelet: Um wavelet é também uma thread de conversação, mas somente um subconjunto de uma grande conversação (ou uma onda).
  • Blip: Ainda menor que uma Wavelet, um Blip é uma única, mensagem individual. Blips podem conter outros blips anexados a ele. Para saber mais sobre Blips, acesse http://www.blippr.com/apps/337306-BLIP.
  • Documento: Refere-se ao conteúdo dentro de um blip. Podemos ser simples caracteres ou arquivos associados ao blip.
  • Extensões: Um extensão é uma mini-aplicação que opera dentro de uma onda. Existem dois tipos de extensão, os Gadgets e os Robots
  • Gadgets: Um gadget é uma aplicação onde os usuários podem utilizar em conjunto, a maioria é construída sobre a plataforma OpenSocial (da Google), podemos fazer uma comparação com os gadgets do iGoogle ou as aplicações do Facebook. Veja a Figura 3, para alguns exemplos de gadgets (Google Maps, Polls de pesquisa, um jogo de xadrez, entre outros).

Figura 3: Gadgets para o Google Wave.

  • Robots: Robots são aplicações (robots) que participam de uma onda. Eles podem interagir com os usuários de uma onda, podem fornecer informações de fontes externas como o Twitter, ou podem tomar ações baseadas no conteúdo digitado pelos participantes de uma onda, um exemplo muito interessante é o robô Rosy Etta, que em tempo real traduz o conteúdo de uma onda para participantes de linguagens diferentes (ex: Japonês x Inglês) =) ,, na apresentação do GDD este ano, este foi um dos pontos altos da apresentação \o/. Veja na Figura 4 alguns robôs em ação.

Figura 4: Robôs em ação em uma onda.
  • Ondas Embutidas: Uma onda embutida é uma maneira de levar uma conversação de uma Wave para dentro de seu site ou blog. Sendo possível utilizar a mesma como chat ou uma maneira de se comunicar com você.

Figura 5: Exemplo de Ondas embutidas

É isso aí, esse é apenas um aperitivo que vem por aí, lembrando que o Google Wave não está disponível ainda para o grande público, se a ansiedade for grande demais =) , solicite acesso ao acesso Dev Preview, e torça para ganhar um convite.

No próximo vou demonstrar como criar um robô passo a passo para o Wave.

Diversão Garantida!!!