Cola: Real-Time Shared Editing

Eu ainda não conhecia a Eclipse Communication Framework e muito menos o plugin Cola (com origem de colaboração).
Em suma, passa-se a poder editar código colaborativamente no Eclipse. E quando digo colaborativamente significa dois ou mais utilizadores remotos a editarem o mesmo ficheiro simultâneamente e a verem o resultado em tempo-real.
As possibilidades que

oferece para realidades actuais como pair-programming são excelentes, ainda mais com cada vez mais equipas globais e distribuídas.

Esta área apresenta alguns obstáculos, principalmente a nível dos algoritmos necessários para sincronizar as vistas, mas também a nível do UI pois as pessoas necessitam de habituar a informação visual adicional: múltiplos cursores, código a mudar simultâneamente e, quando editam a mesma linha, o código que estamos

a editar a mover-se enquanto escrevemos (podem ver isso no screencast).

O melhor é mesmo ver os vídeos. O primeiro é um screencast a demonstrar o uso e consigo imaginar-me a fazer aquilo: ligar com o colega pelo skype para voz, convidar os intervenientes a partir do código no eclipse (utiliza um servidor de XMPP) e começar a editar. Aconselho a abrirem o video em HD no site e colocarem em fullscreen para verem bem o código.

O segundo é vídeo é uma Google Tech Talk apresentada pelo Mustafa Isik, criador do Cola, membro do ECF e ele próprio um googler.

O screencast:


A talk no Google:

3 thoughts on “Cola: Real-Time Shared Editing”

  1. Eu experimentei.
    E alem de não ser consistente na inicialização da partilha (apenas consegui partilhar uma vez) é muito limitado e muito longe de puder ser utilizado em pair programing.
    O utilizador remoto tem uma perspectiva muito reduzida da partilha. Na realidade é apenas uma partilha de um editor sem java sintax ou todos os outros recursos que abusamos dos nossos ide’s.

  2. Eu também ainda quero experimentar este fim-de-semana para ter uma opinião mais concreta.
    Isso da inicialização da partilha posso apenas calcular que venha a ser resolvido com o tempo e não seja um problema de desenho.

    Em relação ao utilizador remoto, isso vou ter de averiguar. Há imensos obstáculos neste tipo de edicções como, por exemplo, fazer refactorings à classe enquanto estão ambos a escrever. Na demo ao que parece mesmo a ajuda contextual não estava ainda a funcionar e não tenho a mínima ideia da evolução.
    De qualquer forma é uma framework genérica e penso que deverá funcionar com qualquer linguagem. Como tal, penso que teriam de estender cada editor diferente do eclipse para o dotar das capacidades (ou vice-versa). Mas isto sou eu a falar que nada sei de desenvolvimento de plugins eclipse.

    Este fim-de-semana experimento e dou também o meu feedback.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>