[Telepathy] Abiword's Collab plugin with Telepathy
martines at unimelb.edu.au
Thu Apr 10 17:37:19 PDT 2008
On Thu, 2008-04-10 at 15:47 +0100, Alban Crequy wrote:
> The Abiword 2.6.x stable releases have a new experimental collaboration
> plugin ("Collab"):
> > * A new experimental collaboration plugin, allowing users to
> > collaboratively work on the same document in real-time. There are
> > currently 3 communication backends supported: an XMPP based one (only
> > available on Unix systems, and it could use some love), a pure TCP/IP
> > based one and one that integrates with the One Laptop Per Child Sugar
> > interface. (...)
> The Telepathy project is interested to have Collab well integrated with
> Telepathy. The advantage for users would be to avoid to register their
> IM details in each applications that have collaboration features.
> Collab would reuse the Telepathy connection to the server through the
> Telepathy D-Bus interface.
> I have some use cases to discuss. Please let me know which ones you
> think are pertinent or if I miss some point.
> 1. Alice writes an Abiword document and wants to share it with Bob. She
> clicks on the "Share document" checkbox and selects Bob in her contact
> list. Bob is online and receives the proposition from Alice in his IM
> software. If he accepts, Abiword is started automatically with the
> Alice's document.
> 2. Bob was editing a document with 10 other persons yesterday. He want
> to continue now but he does not remember who was hosting the document.
> He browses the available documents from his contacts and selects the
> right one. Alice receives the request from Bob and accepts it. Abiword
> opens the Alice's document.
> 3. Bob requests the Alice's document but Alice does not have to accept
> since she already accepted yesterday that Bob can edit this document.
> Telepathy tubes can handle the use case 1.
> IFAIK the use case 2 is not possible with the current spec. We
> obviously don't want to establish a tube with every contacts just in
> case they have a Abiword document to share. We need to publish some
> kind of capabilities to mean "this contact supports the Collab protocol"
> and some presence information to mean "this contact can share this set
> of Abiword documents with you".
> There is capabilities in the spec (I don't know how it is implemented)
> but there is no way to publish presence information to mean "I can
> share this specific document with you".
> In XMPP, Telepathy's tubes use this spec:
> The XMPP Collab backend connects itself to the Jabber server and sends
> Collab data in <message> stanza encoded in base64 (visible if the other
> end uses an jabber client instead of Abiword). So if one contact uses
> tubes and the other contact uses the XMPP backend, it will not work.
> The Sugar Collab backend (used by OLPC) already uses Telepathy
> D-Bus tubes. Abiword connects to the tube D-Bus address given by the
> OLPC Write activity in Python:
> The tube D-Bus address are given to Abiword with invoke_cmd "joinTube",
> "offerTube" or "buddyJoined" from the Write activity. The Sugar Collab
> backend itself does not use the Telepathy D-Bus spec.
> If needed, Abiword can use Empathy's widgets to display the contact list
> with libempathy-gtk. Abiword and the Collab plugins are available under
> GPLv2+. Empathy depends on libmissioncontrol which is v2 only.
> Correct me if I am wrong, but the Abiword team does not want to depend
> on something (L)GPL v2only. But in the future, libmissioncontrol will
> not be needed and Empathy will use the new telepathy-glib and
> libmcclient that are LGPLv2.1-or-later. Xavier is actively working on
I think you have a number of very good ideas. We would like to
offer our users the ease of use provided by the sugar framework for
document sharing and collaboration.
Some of us are working on a web service to provide a cross platform
means of providing this because as you've observed, no current desktop
offers anything like the level of integrated collaborative environment
Certainly I'd like to see gnome at least adopt telepathy as a step in
the right direction and integration with IM would be a natural plus for
Our plugin's code structure is such that we can rather easily re-use
existing widgets as optional build dependencies. This being the case
different distros could offer a better level of integration by shipping
both our projects.
So in a nutshell we both gain from integration with telepathy. Marc
Maurer (uwog) is the expert in the abicollab network transport layer and
has designed things to support a number of different transforts. I don;t
see why a specialized telepathy layer would be difficult but we might
have to work hard to come up with UI that easily exposes this to users.
More information about the Telepathy