Entendendo a idéia do Google Wave


Perceber o que o Google Wave tem de especial não é fácil. Tenho visto muitas definições e comparações na internet dizendo que este novo serviço é:

Nenhuma das idéias acima conseguem definir o Google Wave, apesar de todas elas se encaixarem em suas possibilidades. O Google Wave é uma plataforma para colaboração online em tempo real.

Historia

Há milhares de anos, nossa civilização utiliza cartas, mensagens e bilhetes para solucionar o problema da comunicação à distância. Essa abordagem está tão enraizada em nossa cultura, que não é de espantar que uma das primeiras coisas que fizemos quando nos deparamos com a nova mídia da internet, foi mimetizar os correios.

De repente tornou-se possível trocar cartas com o mundo inteiro com poucos cliques. Foi ótimo! Mas rapidamente nos pegamos precisando de algo mais. Precisávamos tornar a comunicação mais fluida, reduzindo o tempo de resposta. Algo mais próximo de uma conversa. Assim, reduzimos o tamanho das mensagens e aprimoramos os mecanismos de envio. Em pouco tempo, chat, mensagens instantâneas e similares tornaram-se ferramentas fundamentais.

Com a popularização da web, serviços online como blogs e wikis se espalharam. Neste momento deixamos de apenas nos comunicar à distância para cooperarmos via internet. Vejam o sucesso cooperativo do Wikipedia, por exemplo.

O funcionamento é engenhoso. Cada vez que um documento é salvo, cria-se uma nova versão. Desta forma é possível compararmos as diferenças entre os documentos, e verificar seus históricos à qualquer momento. Sensacional! Mas ainda assim, alguma coisa parecia faltar nestas ferramentas. A interação entre os usuários não é boa o bastante.

Acontece que nosso foco histórico em mensagens, fez dos documentos o objeto da internet. E quando permitimos que várias pessoas manipulem um mesmo documento, nos deparamos com problemas de concorrência.

Epistemologia

Como podemos ver, super-valorizamos as mensagens, os conteúdos. Acabamos assumindo a idéia de que o conhecimento está completamente codificado nestes objetos. Mas não é bem assim.

A epistemologia é o estudo do conhecimento. Nesta área, Jean Piaget é considerado a grande referência pela concepção da sua Teoria Cognitiva, que é base para o Construtivismo.

Basicamente, a teoria piagetiana diz que:

“O conhecimento ocorre pela interação entre sujeito e objeto.”

Isto quer dizer que o conhecimento não existe previamente. Ele não está escondido na cabeça do sujeito, nem tão pouco puramente codificado no objeto. Apenas quando ambos interagem, surge o conhecimento. A forma simples de compreender esta frase é lembrando que as crianças só aprendem que tomada dá choque (e o que é choque), depois de interagirem com ela.

E como isso se relaciona com a web? Bem, até então, as ferramentas online nos permitiram cooperar. Possibilitaram que compartilhássemos objetos construídos individualmente (cartas, mensagens, patches, etc) para alcançarmos fins comuns.

Já a idéia por trás do Google Wave almeja um passo além. Quer possibilitar que sujeitos colaborem, compartilhando interações para a criação de objetos comuns. Ou seja, bem mais próximo do que acontece com Pair Programming onde pela colaboração dois programadores interagem criando um código comum. Neste processo, ambos compartilham a criação do conhecimento e aprendem juntos.

Como é possível?

Agora você pode dizer: Sério? Mas o Google Wave parece um cliente de email turbinado!

É verdade que o cliente web do Google Wave tem chamado bastante atenção. Mas o grande diferencial do sistema está no funcionamento interno da sua plataforma.

O Google Wave não foca em armazenar os textos, mensagens e conteúdos. Foca nas interações! Ao invés de armazenar as diferenças entre as versões das waves, ele armazena cada operação que a transforma.

Quando um usuário edita uma wave e digita “Ok“, o sistema não armazena o novo texto. Armazena algo como:

  • Agora, na insira o caracter “O” na posição X da wave.
  • Agora, na insira o caracter “k” na posição Y da wave.

Isso torna o funcionamento do sistema bastante diferente. Desta forma, é possível tratar com maior granularidade as diferenças entre os estados de um documento, e a técnica Operation Transformation que é a base para este sistema, prevê uma série de algoritmos para reajustar inconsistências.

Mas o resultado final é que esta estratégia lock free eleva a experiência do usuário e a interação entre usuários à novos patamares, abrindo uma gama de novas possibilidades. Um exemplo simples é o “playback”. Como a wave é uma série de operações executadas no tempo, é possível navegar nela como se fosse um filme e assistir o resultado de cada operação.

Massificação

O Google Wave é composto por Cliente, Servidor e Protocolo. Desde o primeiro momento, o Google havia anunciado que a plataforma do projeto será disponibilizada como open source.

Essa estratégia faz muito sentido. Primeiro por que parte do projeto foi implementado como uma extensão do protocolo XMPP. Sendo assim, o projeto e seus complementos poderão ser desenvolvidos pela comunidade já existente.

Além disso, o negócio do Google é busca. Ter a Plataforma Wave difundida como ocorreu com o XMPP, possibilitará que qualquer um instale seus próprios Wave Servers. Neles poderão existir waves privadas e outras públicas, que poderão ser compartilhadas com Wave Servers espalhados na internet através do Google Wave Federation Protocol. E é claro, estas waves públicas poderão ser devidamente indexadas.

Conclusão

No mínimo, este é um “começo interessante”. Aplicações que visam atender a demanda por uma web mais colaborativa ao invés de puramente cooperativa estão ganhando espaço. O Google Wave é um bom exemplo, mas ele não está sozinho nessa onda. Projetos como o Etherpad e Gobby, são exemplos de aplicações que focam na interação entre usuários para construção de objetos comuns.

Ao longo do tempo, utilizamos a computação para diversas finalidades. Calculamos mais rápido, executamos tarefas repetitivas com maior eficiência, cooperamos remotamente. Agora, está na hora de colaborarmos. Abrir a mente para as novas formas de pensarmos sistemas e soluções é sempre um grande desafio. Um bom começo é estudar os conceitos por trás da web semântica, Web em Tempo Real, além de compreender tecnologias como XMPP, Webhooks, SUP e PubSubHubbub.

[]’s!

, , , , , , , , ,

  1. #1 por Rui Andrada - 14 de outubro de 2009 em 12:17

    Ótima postagem, muito esclarecedor.

    Vlw!

  2. #2 por Marcus Vinicius - 14 de outubro de 2009 em 13:21

    Excelente texto sobre o Google Wave. Parabéns!

  3. #3 por Mariana Bedran - 18 de outubro de 2009 em 02:11

    Então.. Num dá pra ler “Epistemologia” e não me meter…
    Tem um camarada chamado Vigotsky que falou que esse tal do Piaget é muito foda e tudo mais, mas que o que ele não entendeu é que o sujeito do conhecimento não é um indivíduo isolado que se relaciona sozinho com um objeto. Se o Piaget diz que o conhecimento dá-se na interação sujeito-objeto, o Vigotsky, um camarada que tava lá por perto na Revolução Russa, diz que o conhecimento dá-se na interação de sujeitos através de objetos.
    Eu falo isso tudo meio de orelhada, ainda mais quando se trata de internet, mas acho que o Vigosky é bem mais interessante pra pensar essas coisas que você coloca no texto.
    Enfim, é isso…
    Gostei do texto.
    Quem diria que eu discutiria epistemologia a partir do google wave? Só o Flávio pra me arrumar essas coisas…

  4. #4 por Henrique Bastos - 20 de outubro de 2009 em 04:59

    Mariana,

    Acredito que essa divergência seja consequência do foco diferente nas análises do Vigotsky e do Piaget.

    Piaget foca no indivíduo e faz uma análise mais psicológica, já o Vigotsky tem uma visão mais sociológica onde o foco são as relações entre indivíduos.

    Na minha opinião, se aplicarmos a definição de que “o conhecimento surge da interação entre sujeito e objeto”, na interação entre dois sujeitos, da perspectiva de um, o outro estará no papel de objeto.

    Um objeto de interação não precisa necessariamente ser inanimado. De fato a interação entre sujeito e sujeito é ainda mais dinâmica.

  5. #5 por Fernando Kosh - 30 de outubro de 2009 em 17:50

    Parece mesmo interessante. Só me falta conseguir um convite.
    Se alguém ai puder me enviar, serei muito grato.

  6. #6 por Leonardo Antonioli - 9 de novembro de 2009 em 18:36

    Esta é a melhor análise que li do Google Wave.

(não será publicado)