Le Weblog à Cassidy

Aller au contenu | Aller au menu | Aller à la recherche

Mot clé - Telepathy

Fil des billets - Fil des commentaires

lundi, avril 14 2008

Voice and video calls with Empathy

Thanks to the hard work of the Empathy, Telepathy and Farsight teams, VoIP is finally usable with Empathy. So you can now very easily do audio/video calls using Jingle and SIP. There is still a lot of UI polishing to do but it should basically work, so feel free to test and report problems.

You'll need Empathy 0.22.1, recent versions of Farsight, telepathy-stream-engine, gstreamer, gstreamer-plugins-farsight, and a gstreamer0.10-ffmpeg with H263 encoder if you want video support.

If you're using Debian Sid you should have the right versions of the Telepathy stack but need the Debian multimedia repo for video support (which is optinnal).

On Ubuntu Hardy you have to use Telepathy PPA and Medibuntu repos if you want video support. So just add to your sources.list:

deb http://ppa.launchpad.net/telepathy/ubuntu hardy main restricted universe multiverse
deb http://fr.packages.medibuntu.org/ hardy free non-free

Happy calling!

mercredi, novembre 14 2007

Atelier d'introduction au développement GNOME ce samedi 1er décembre

Comme déjà annoncé par mail et sur LinuxFR, j'organise avec Fred et Xavier ce samedi 1er décembre un atelier d'introduction au développement GNOME. Ce sera un peu similaire à l'atelier de programmation GNOME que nous avions organisé il y a quelques mois sauf qu'ici cela se déroulera toute la journée et sera basé sur une "vraie" application, à savoir Empathy.

On commencera la journée par de courtes présentations d'introduction : les outils de développements GNOME (Fred), le framework Telepathy (Moi) et enfin Empathy (Xavier). On tentera ensuite de résoudre ensemble des bugs d'Empathy[1].

Ce sera donc ce samedi 1er décembre[2] de 10 à 18h au forum A du campus de la plaine de l'ULB. Plus d'info sur le wiki du BxLUG; il serait d'ailleurs sympa de vous inscrire si vous êtes intéressé.

Au plaisir de vous y voir !

Notes

[1] oui, il y a du boulot

[2] ATTENTION, la date du 24 novembre avait été proposée initialement mais n'a pas été retenue

mardi, octobre 23 2007

Présentation Telepathy/OLPC ce dimanche au BxLug

Dans le cadre de la Linux Copy Party/Install Party mensuelle du BxLUG je donnerai ce dimanche 28 octobre une petite conférence sur Telepathy et l'OLPC. Celle-ci se déroulera aux alentours de 15h30-16h au FIJ.

Le contenu exact n'est pas encore défini mais cela devrait parler de l'architecture de Telepathy, des logiciels existants, des tubes, de comment on utilise cela dans le cadre de l'OLPC ainsi que de l'intégration dans GNOME (Empathy). Je devrais également faire une petite démo à l'aide de deux XO.

Au plaisir de vous y voir.

dimanche, octobre 21 2007

GTetrinet through tubes

During the GNOME Summit, I started to hack GTetrinet (based on the initial work of Alban) and Empathy to try to offer a better user experience using stream tubes. I finally found some time this afternoon to finish this work and I am now able to play GTetrinet through tubes!

GTetrinet was patched to add a new dialog. It uses libempathy and libempathy-gtk to display user's contact list. When you have chosen a contact, it launches tetrinet-server into another process and exports its socket through a stream tubes.

The rest of the work is done by Empathy which was modified to display incoming tubes and launch GTetrinet if the user accepts it.

Alban's diagram showing GTetrinet using tubes

Screencast showing GTetrinet initates the tubes with a contact

The other side where Empathy receives the tube and launchs GTetrinet

These 2 patches still need lots of polishing before being ready for merging and we still have to design how tubes will be integrated properly into Empathy and Mission Control but I think they are a good demonstration of how tubes will revolutionize the collaboration in GNOME.

samedi, octobre 6 2007

Inet socket support in stream tubes

While Rob is finishing to review the Gabble tubes mega branch, I implemented inet4 and inet6 sockets support for stream tubes.

That means we are now able to export any (ip, port) socket to a tube and create an inet socket binded to the localhost interface to connect to it. So, any network application can easily be exported through a stream tubes to your contacts or to a muc a room.

For example, if you export your socket (127.0.0.1, 22) to muc foo, each participant of this muc who accepted your tube will have a new socket (127.0.0.1, port) created on their box. They'll just have to connect to it[1] and they'll be automagically connected to your ssh server!

Next step now is to integrate all these cool stuffs to Empathy and GNOME will gain a rocking Collaboration framework!

Notes

[1] ssh localhost -p port

jeudi, septembre 20 2007

Telepathy Ubuntu Personal Package Archive

Thanks to Bigon, the Ubuntu Telepathy team have now its own Personal Package Archives. We'll use it to store packages of the latest upstream version of the Telepathy stack (connection managers, Empathy, Farsight, Soylent, ...) that can't be included in Gutsy due to freeze.

So, if you want to be sure to have latest releases, you just have to add these 2 lines in your /etc/apt/sources.list :

deb     http://ppa.launchpad.net/telepathy/ubuntu gutsy main restricted universe multiverse
deb-src http://ppa.launchpad.net/telepathy/ubuntu gutsy main restricted universe multiverse

mardi, juin 5 2007

Stream tubes, a new generation of tubes

A few weeks ago Daf and Rob announced D-Bus tube, a new Telepathy technology allowing applications to use D-Bus facilities for their network communications.

We have now a new type of tube called Stream Tube. With these tubes you'll be able to easily establish TCP connections with your contacts or with the participants of a multi-users chatroom. Let's take a look on Daf's amazing ASCII art to see how that works.

 .---------.
 |TP client|--|listening socket| B
 '---------'         ^
     C               |
                .----------.
                |Connection|
                | Manager  | A
                '----------'
                     |
                   _____
                __/     \___
            ___/            \
           /                 \____
          |                       \
          \__                     /
             \    Internets      /
             /                   \
            /                     \
           |             ___      /
           \____/\      /   \____/
                  \____/
                     ^
                     |
                .----------.
                |Connection|
             F  | Manager  |-|listening socket| E
                '----------'        ^
                                    |
                               .---------.
                               |TP client| D
                               '---------'

Alice wants to share a, say, local Unix socket (B) with Fernand. She exports that socket in a stream tube and offers it to Fernand. He accepts it and so its Connection Manager creates a local socket (E) on his system. Now, each time Fernand will connect an application (D) to this new socket, Alice's CM will make a new connection to the socket B and a new bytestream will be established between Alice and Fernand to transport data of this connection. So, applications C and D can now communicate together without caring about the network between them and without any code modifications, they just have to support unix socket (more socket type will be supported soon).

So, now imagine C is, for example, a VNC server and D a VNC client and we have... VNC over jabber!

RealVNC doesn't support Unix socket yet, but this patch add this feature. Thanks to the help of its author, I was able to build it with RealVNC 4.1 and so play with a remote GNOME mine. :)

mine-tube.jpg

GNOME mine over VNC over stream tubes over jabber

Currently only local unix socket support is implemented but we should support other socket type soon. We're still using XML bytestream (IBB) but real P2P bytestreams (with NAT penetration support) are planned too.