Open messaging for the Open Web: Installing and configuring Mozilla Raindrop on Ubuntu 9.10
Autor original: Gary Richmond
Publicado originalmente no: freesoftwaremagazine.com
Tradução: Roberto Bechtlufft
A chegada de um tweet no meu laptop com um link para o Raindrop me manteve ocupado o dia inteiro. Fiquei intrigado com o programa, e como já usei outros produtos experimentais do laboratório da Mozilla, decidi ver porque estão falando tanto do Raindrop. Se a ideia de combinar uma ferramenta para agregar conteúdo do Twitter, de seus emails, RSS e de outras fontes da Web 2.0 usando padrões livres lhe agrada, então continue lendo.
Do que se trata
Tá, eu sei. A internet está entupida de clientes desktop independentes para tweetar, ver vídeos no YouTube e conferir o email. Muitos estão cheios de recursos, mas é preciso iniciar todos os clientes, e eles consomem memória e ciclos do processador. Se você visitar site por site para acessar o Twitter, o Identica e o Gmail, vai ter que abrir várias abas no navegador. Eu acho isso meio cansativo, e a turma esperta da Mozilla também acha. Eu estou sempre de olho em coisas que possam facilitar a minha vida, e parece que o Raindrop, a mais recente cria da Mozilla, pode me ajudar nesse sentido. Fiquei empolgado e decidi me esforçar um pouco para instalar o programa. Mas o que é, mais exatamente, esse Raindrop?
O Raindrop é um software que roda como um aplicativo web dentro de qualquer navegador compatível com HTML5; ele agrega o lado social da web em seu interior. Isso significa que o Raindrop roda no Firefox, no Chrome/Chromium e no Safari. Só por curiosidade, experimentei o Raindrop no Konqueror (4.3.2), no Flock, no Opera e no Kazehakase, obtendo diferentes resultados no layout final. Um recurso legal ao rodar o Raindrop no Chromium é a possibilidade de criar um aplicativo de desktop para ele, que roda como um aplicativo web separado em uma janela mais limpa, só dele (semelhante ao Mozilla Prism). Você pode baixar e instalar o Prism como um complemento do Firefox ou como um aplicativo independente. Fico feliz em relatar que o Raindrop não funciona no Internet Explorer, já que o IE não é compatível com HTML5 (mas o Google tem o Explorer Canvas, que habilita a tag “canvas” no navegador).
O Raindrop é tão novo que a tinta ainda está secando, e por isso a instalação vai bem além do download de um pacote binário do Debian de um repositório, de um PPA ou de outro site como o GetDeb, mas não chega a ser terrivelmente difícil. O Raindrop também não é um complemento do Firefox (ainda). Para fazer o Raindrop funcionar, vamos ter que arregaçar as mangas e sujar as mãos com algumas dependências, ter um contato mais profundo com a linha de comando e criar um arquivo em um editor de texto. Espero que os companheiros da Mozilla façam um instalador baixável que possa dispensar toda essa magia negra, mas por enquanto não temos outra opção.
Um dos componentes principais do Raindrop é o CouchDB, “um banco de dados orientado a documentos que pode ser consultado e indexado à moda do MapReduce, usando JavaScript. O CouchDB também oferece replicação incremental com detecção e resolução de conflitos bidirecionais.” Não, eu também não sei o que isso significa, mas o Raindrop não vai muito longe sem o CouchDB. A boa notícia é que o Karmic Koala já vem com o CouchDB instalado por padrão, poupando boa parte do trabalho que os usuários do Jaunty Jackalope vão ter. Entretanto, é uma boa ideia abrir um terminal e dar um sudo apt-get update para garantir que sua versão do banco de dados seja a mais recente. Na verdade, o Synaptic apontou uma atualização aqui, e eu a instalei.
Então, vamos à instalação
O Raindrop gosta do Python. E gosta muito. Logo, vai ser preciso instalar algumas dependências. Talvez algumas já estejam instaladas, caso você tenha instalado alguns aplicativos baseados em Python. A lista que eu fiz é específica da máquina que eu usei. Abra um terminal e digite:
Uma breve explicação. Talvez você queira excluir algumas dessas “dependências” se só quiser que o Raindrop agregue o Gmail e o Twitter. Se você não usa o Skype, por exemplo, ou se não quer acessar feeds RSS, então os pacotes python-skype e python-feedparser são supérfluos. E aqui temos um bom motivo para que a Mozilla use o Python para fazer o trabalho pesado no Raindrop.
O Python tem muitos pontos fortes, mas é particularmente bom e adequado no uso e na manipulação de texto, que são boa parte do que forma o Raindrop. No entanto, antes de seguirmos em frente, temos que confirmar se estamos usando a versão exigida do Python. Volte ao terminal e digite python -V
. Aqui no meu computador, a saída foi: Python 2.6.4rc2
. A versão 2.5 também funciona, mas a versão 3.0 ainda não é suportada, e versões anteriores à 2.5 são um prato cheio para a dor e a decepção.
Bom, já temos o Python, mas ainda temos muito o que fazer. A seguir, o Mercurial, uma ferramenta de gerenciamento de controle de código fonte distribuído, cuja necessidade se explica pelo CouchDB (vamos falar nele mais tarde). A boa notícia é que o Mercurial (que é escrito em Python, obviamente) está nos repositórios do Karmic, e um simples sudo apt-get install mercurial
resolve tudo (se preferir, use a interface gráfica do Synaptic). Isso é mais rápido e fácil do que baixar o Mercurial pelo site oficial, que só oferece o código fonte num pacote tar compactado, embora haja links no wiki do Mercurial para PPAs do Debian, do Ubuntu (só até o Jaunty) e do Launchpad.
Se seu lado masoquista precisar se libertar e você quiser sua carteirinha de geek, é possível instalar o Mercurial via EasyInstall, um aplicativo inteligente que instala módulos do Python como o Mercurial diretamente a partir do Python. Mas você não vai querer fazer isso só para aparecer, vai? Confie no apt-get
, instale do jeito fácil e seguro e resista à armadilha da vaidade. Depois de instalado, volte ao terminal e digite o comando hg version
para verificar se a instalação correu bem. O número de versão também será exibido.
A última peça de que precisamos é o Paisley, um cliente do CouchDB escrito em Python para ser usado no aplicativo Twisted, então vamos voltar ao terminal e usar o wget
para baixá-lo: wget http://launchpad.net/paisley/0.1/0.1/+download/paisley-0.1.tar.gz
, para depois descompactá-lo com um tar -zxvf paisley-0.1.tar.gz
e concluir definindo o caminho do Python com um PYTHONPATH=paisley-0.1
. Que rufem os tambores! Finalmente estamos prontos para instalar o núcleo do Raindrop, o CouchDB. O comando do Mercurial hg clone vai baixar uma cópia do Raindrop (versão 0.10). De volta ao terminal, digite hg clone -r 0.1 http://hg.mozilla.org/labs/raindrop
. O comando vai exibir um monte de coisas no terminal. Dependendo da sua conexão, essa etapa pode demorar um pouco. Seja paciente e o terminal vai acabar voltando ao prompt de usuário habitual.
Só falta uma etapa para rodarmos o Raindrop. Ufa! Essa última etapa me confundiu um pouco, e outras pessoas também se confundiram. Dizem para você editar o arquivo ~/.raindrop
. Naturalmente, eu abri o gerenciador de arquivos e procurei por ele, mas ele não estava lá. Hmmm. Uma busca no Google, e problema resolvido. O arquivo não pode ser editado por que nada do que você instalou até agora criou esse arquivo. Você tem que criar o arquivo. Hora de dar um merecido descanso ao terminal e iniciar seu editor de texto favorito. Eu uso o Gedit.
Configurando o Raindrop
O que você vai colocar nesse arquivo vai depender de quais serviços de rede social você deseja agregar ao Raindrop. Felizmente o wiki do Mozilla Raindrop oferece uma lista de modelos que você pode usar para criar o seu arquivo. Por exemplo, é quase certo que você queira incluir o Gmail e o Twitter, e as entradas deles no arquivo ~/.raindrop
seriam assim:
kind=gmail
username=nomedeusuário@gmail.com
password=suasenha
ssl=True
E:
[account-twitter-username] proto=twitter
kind=twitter
username=nomedeusuário
password=suasenha
No caso, você só vai ter que mudar o nome de usuário e a senha. O wiki da Mozilla oferece mais exemplos. Cabe a você decidir o que vai incluir, e obviamente você sempre pode reeditar o arquivo e adicionar, excluir ou modificar as entradas (e você vai ter que fazer isso se mudar a senha de um dos aplicativo e quiser manter o arquivo ~/.raindrop
atualizado). Depois de criar as entradas que quiser, salve o arquivo em seu diretório home (como esse não é um arquivo do sistema, dá para fazer isso tudo sem privilégios de root).
Quem tiver olho vivo vai notar uma falha terrível aqui. Não é preciso ser um expert em segurança para saber que, assim como no Telnet, as senhas são armazenadas em texto puro. A Mozilla está ciente, e diz que isso é “muito, muito ruim”. Ainda bem que eles sabem.
Sejam quais forem as entradas que você vai incluir no seu arquivo ~/.raindrop
, há uma entrada que você precisa ter:
port=5984
presumindo que o Raindrop esteja em sua máquina local. Só mais uma coisa. Use o cd
para ir para raindrop/server/python
em um terminal e digite ./run-raindrop.py sync-messages --max-age=5days
. Você pode alterar o número de dias em --max-age
, de acordo com suas preferências pessoais.
O comando vai exibir um monte de coisas no terminal. Se você cometeu algum erro ao editar o ~/.raindrop, o Raindrop vai exibir mensagens de erro que você vai ter que ler e resolver. Presumindo que esteja tudo certo, inicie um navegador compatível com HTML 5 como o Firefox e digite este endereço:
Bem-vindo à “homepage” do Raindrop. Finalmente:
Figura 1: a tela padrão do Raindrop
Agora, vamos dar um passeio
O Raindrop não é exatamente bonito, mas é um protótipo voltado principalmente aos desenvolvedores, em estágio bem inicial. A ideia era ver se conseguíamos instalar e rodar essa coisa. E conseguimos. Como você pode ver, o Raindrop puxou dados do Gmail e do Twitter. Não tive que abrir dois sites diferentes em duas guias ou abrir um aplicativo desktop para ver meus tweets. Há uma interface alternativa, mas é só uma montagem, cortesia da Mozilla:
Figura 2: interface alternativa do Raindrop
No topo estão meus tweets e emails dos últimos cinco dias, e se você navegar até a parte inferior da tela, verá os três últimos tweets. No lado direito do Raindrop, há uma lista que inclui pastas do Gmail, contatos, mensagens diretas e conversas em grupo. Cada tweet tem as opções abrir, excluir e arquivar. Só que quando eu escolhia responder, uma caixa de diálogo normal aparecia, mas depois que eu escrevia minha resposta e clicava em enviar, ou não acontecia nada ou uma pequena mensagem era exibida, dizendo que o protocolo da mensagem não era suportado! Como? Eu sei que o Raindrop acabou de zarpar, e que os pintores e eletricistas ainda estão a bordo, mas a não ser que minha configuração ou minha instalação esteja com algum problema, achei isso meio decepcionante.
Felizmente, não há problemas com o Gmail. Abrir emails: confere. Responder emails: confere. Só que o Raindrop precisa ser um pouco mais intuitivo nesse ponto. Supondo que você queira enviar um email ou tweetar alguma coisa, por onde você começaria? Viu o convite no topo da tela, “type something?” (“Digitar algo?”) Acredite se quiser, é aí mesmo. Clique nessa parte e as coisas vão começar a fazer sentido:
Figura 3: é só clicar na caixa de diálogo e mandar brasa
E ao clicar na caixa suspensa à direita, o Raindrop puxa todos os seus contatos de email e do Twitter.
Figura 4: o Raindrop puxa a lista de pessoas que você segue
Pelo menu suspenso, tenho a opção de mandar emails ou tweets. Depois que uma opção é selecionada, o Raindrop exibe outro menu suspenso que permite escolher um destinatário de email, já que ele leu e importou seu catálogo de endereços do Gmail. Legal. Escolhi um destinatário e mandei minha obra-prima. Ou ao menos foi o que eu pensei. O Raindrop marcou a mensagem como enviada, mas nada da mensagem aparecer na pasta de mensagens enviadas do Gmail. Você pode excluir emails e tweets também, mas aparentemente não há sincronização com os respectivos servidores. Isso tem que ser consertado. O Raindrop oferece o recurso de undo para o caso de você se arrepender de apagar uma mensagem, mas o recurso ainda não foi implementado e o resultado é este:
Figura 5: dá para apagar, mas não dá para desfazer a operação
Mas eu consegui ver meus emails e tweets enviados (espero que o Identi.ca seja adicionado também), minhas mensagens diretas e contatos. Os contatos são exibidos em um visual bonito, com miniaturas e tudo, mas parece essa parte de contatos é totalmente estática e não oferece funcionalidade alguma. Como eu já disse, o Raindrop ainda está engatinhando. Mal posso esperar para que a Mozilla transforme o Raindrop em um aplicativo fácil de instalar e plenamente funcional. Os desenvolvedores (que também são responsáveis pelo Thunderbird) esperam implantar um software de instalação através da interface do navegador. Podem mandar, rapaziada! Enquanto espera (ou se não aguentar esperar), você pode experimentar o Snow, um plugin do Firefox que faz coisas parecidas. Mas ele parece mais um quebra-galho diante do Raindrop, porque só cuida de feeds RSS e do Twitter. Ele está disponível como um complemento.
Como a Mozilla lançou este protótipo com foco nos desenvolvedores, ele tem mais alguns truques na manga. Se você tiver alguma habilidade em programação, vai poder acrescentar recursos ao programa diretamente pelo navegador. Role a tela do Raindrop para baixo; você vai ver um botão “Extend” (expandir) no canto inferior esquerdo. Clique nele e uma nova interface será aberta:
Figura 6: A tela padrão para expansão de recursos
Role a tela para baixo e o Bespin vai aparecer:
Figura 7: role a tela para exibir o Bespin
Assim como fez com o Ubiquity, a Mozilla fez o Raindrop pensando na capacidade de expansão, e oferece esse recurso a partir do próprio navegador. O que você na foto é o Bespin. O que o Bespin faz é descrito como “uso de código em nuvem”, porque geralmente você se registra gratuitamente, faz login e usa o comando checkout para começar a criar código para um projeto armazenado em um repositório Subversion ou Mercurial. O Raindrop instala um servidor web no localhost, e o código fica lá, como a foto mostra. Se quiser ver o CouchDB pelo seu navegador favorito, acesse este endereço: http://localhost:5984/_utils/.
Surpresa: olha ali o Raindrop. É um link. É só clicar para navegar nele.
Pela descrição da Mozilla, o Bespin é “uma experiência na construção de um editor de código Web expansível usando tecnologia HTML 5“. Ou, colocando de outra maneira, é uma IDE baseada no navegador, e se quiser você pode ler o guia de usuário do Mozilla Bespin e aplicar seus conhecimentos de programação obtidos com muito esforço ao Bespin do localhost. Se estiver procurando por uma maneira mais fácil de começar no Bespin, há um comando do Ubiquity feito para você caso tenha esse complemento instalado, mas que só funciona se o Bespin estiver na guia ativa do navegador. Se você invocar um comando do Bespin em outras guias, uma mensagem do Ubiquity aparece te dando uma bronca.
A melhor parte do Bespin é que ele traz uma API aberta, o que significa que com as habilidades necessárias dá para levá-lo para onde você quiser. Por exemplo, já fizeram o Bespin rodar na IDE do Eclipse. Os usuários do Emacs vão se sentir em casa com o Bespin do Raindrop, já que a emissão de comandos se dá de forma semelhante. Só tenha em mente que o Bespin é estritamente para programadores e desenvolvedores. Ou seja, eu estou fora, mas se você tiver as habilidades necessárias, pode experimentar.
Indo além do Raindrop
Mesmo que tenha problemas para instalar o Raindrop, ou se instalar mas achar o programa meio cru, não desista do projeto. Não, ele não é o Google Wave, porque não lida com colaboração ao vivo (embora a Mozilla venha conversando com o Google a respeito dos dois produtos e talvez haja alguma sinergia entre eles no futuro, especialmente quando o Raindrop evoluir e se tornar mais fácil de instalar). Mas sim, o núcleo do software é o CouchDB, e isso faz com que seu potencial de expansão seja bem grande. Se você não se sente à vontade usando os servidores do Ubuntu One por motivos de segurança e propriedade, o uso do CouchDB no desktop acaba com esse perigo em potencial e com a necessidade de acesso à Internet, permitindo que você conecte duas máquinas e compartilhe aplicativos que tenham suas preferências armazenadas no CouchDB.
O mais importante é que o projeto Desktopcouch se uniu ao CouchDB. O projeto visa colocar o CouchDB no desktop, usando-o para compartilhar dados entre máquinas e aplicativos. O compartilhamento de dados entre aplicativos pode ser um ótimo foco para o Desktopcouch (que está nos repositórios do Karmic), acabando com a necessidade de importar dados entre aplicativos, puxando os dados de fontes diferentes. Em efeito, ele cria um repositório central de dados de aplicativos que podem ser acessado e alterados sem a necessidade de se abrir vários aplicativos. Se você navegar pelos repositórios padrão do Karmic, vai ver uma entrada evolution-couchdb, que permite que os recursos de email e calendário do Evolution acessem o CouchDB.
Ah, sim, você diz, tipo o NEPOMUK, o desktop semântico social do KDE4 que tem uma implementação em Java. Há até um projeto chamado Nepomuk-Mozilla, que cria anotações em páginas da web e em arquivos locais, mas apenas no Firefox e no Thunderbird, e armazena os metadados no meta-armazenamento do KDE 4 do Mandriva. Também há um complemento do Firefox para isso chamado Foxtrot hospedado no Google, mas não consegui instalar porque não é compatível com o Firefox 3.5.3. Achei estranho, já que no site dizem que é preciso ter o Firefox 3.0. Mas o Desktop Couch/CouchDB é uma solução neutra em termos de desktops, e há um complemento chamado Bindwood (parte do Ubuntu One) no repositório do Karmic desenvolvido para sincronizar os favoritos do Firefox com o CouchDB – e esse eu consegui instalar.
Conclusão
O que todas essas soluções têm em comum é o objetivo de criar uma web semântica pessoal. Quando a Mozilla desenvolver o Raindrop e facilitar a instalação e o projeto aparecer nos repositórios do Debian e do Ubuntu, ele pode ganhar impulso e popularidade, o que por tabela vai tornar o desktop mais semântico. Enquanto isso, vamos nos virando com os clientes independentes para o Twitter, o Identi.ca e para a leitura de feeds, além de alguns complementos para preencher algumas lacunas.
Leia mais sobre o Mozilla Raindrop em:
https://www.hardware.com.br/artigos/mozilla-raindrop/
Créditos a Gary Richmond – freesoftwaremagazine.com
Tradução por Roberto Bechtlufft <info at bechtranslations.com.br>
Deixe seu comentário