[Telepathy] D-tubes howto

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Tue Feb 10 09:52:29 PST 2009


Le samedi 07 février 2009 à 00:12 +1100, Jiri Baum a écrit :
> Hello,
> 
> I was looking for some sort of D-tubes tutorial or howto, but it appears that 
> there is none - all the existing documentation seems to be (a) oriented more 
> toward the back-end, (b) OLPC-flavoured and/or (c) skeletal. 
> 
> I would like to use Telepathy Tubes basically as a black-box library, but 
> there doesn't seem to be any howto covering that.
> 
> I've therefore tried to put one together:
> 
> http://www.baum.com.au/~jiri/tubes/tubes-howto.html
> 
> Obviously, since I needed to read one, writing one is likely to lead to 
> numerous errors, omissions and other infelicities; the whole document is 
> intended at this stage more as a question than as an answer.
> 
> Comments, corrections, other feedback?

Hi Jiri,


Thank you very much for your work. Telepathy is currently lacking of
end-users documentation and all the help is welcome.

Few comments after a quick read:

- "Tubes currently only work over the server-based XMPP protocol; thus,
you'll need to use GTalk or Jabber accounts."
Tubes are also implemented in telepathy-salut, our link-local XMPP
connection manager.
You should add telepathy-gabble and/or -salut to your dependency list.

- Not sure for the MC part as I never used this API directly. Maybe the
ConnectionsWatcher object I wrote for Sugar should be merged to
telepathy-python and you could use it?
http://git.sugarlabs.org/projects/sugar/repos/mainline/blobs/master/src/jarabe/util/telepathy/connection_watcher.py

- You should probably talk about the ContactCapabilities interface.
http://telepathy.freedesktop.org/spec.html#org.freedesktop.Telepathy.Connection.Interface.ContactCapabilities.DRAFT

UI should check if contacts support tubes before displaying them. This
is implemented only in recent versions of Gabble atm.

- You still use the old tube API. We are currently working on a new,
more coherent, API where each tube is a channel.
See
http://telepathy.freedesktop.org/spec.html#org.freedesktop.Telepathy.Channel.Type.StreamTube.DRAFT
http://telepathy.freedesktop.org/spec.html#org.freedesktop.Telepathy.Channel.Type.DBusTube.DRAFT
http://telepathy.freedesktop.org/spec.html#org.freedesktop.Telepathy.Channel.Interface.Tube.DRAFT

It would be good to update your tutorial to use this new API. It's only
implemented in Gabble master atm but Salut should follow shortly.
I have a telepathy-python branch using the current DRAFT of the new API
in the D-Bus tube example:
http://telepathy.freedesktop.org/spec.html#org.freedesktop.Telepathy.Channel.Interface.Tube.DRAFT

Keep it mind this new API is still very young and current implementation
are probably not bug free. Of course, don't hesitate to report any
problem you could find.


Please let us know if you have any question. I'm sure we'll be able to
work together to have a rocking tutorial!


	G.




More information about the telepathy mailing list