Nerdzage

Le monde merveilleux des ordinateurs.

Fil des billets - Fil des commentaires

mardi, avril 14 2009

Telepathy Jaunty PPA open for business

As Jaunty is now almost released, I synced the Jaunty Telepahy PPA with Debian packages. Main user visible changes include:

  • File transfer support in Gabble
  • Better Theora support in video calls
  • Support of Google relays improving connectivity when trying to establish audio/video calls using a gtalk account.

As usual, we'll try to keep the PPA as sync as possible with latest released versions. So if you are interested in bleeding edge Telepathy components just add this repo:

deb http://ppa.launchpad.net/telepathy/ppa/ubuntu jaunty main

vendredi, avril 3 2009

Jabber file transfer support in Telepathy!

As promised, telepathy-gabble[1] finally supports file transfer! I just released telepathy-gabble 0.7.25 implementing this long awaited feature.

This is a very important step as you can now send and receive files over Internet using Telepathy (the telepathy-salut implementation being limited to inter-LAN file transfers). This is also probably the last big feature that Empathy was missing compared to its ancestor Gossip. By the way, be sure to upgrade to Empathy 2.26.0.1 before starting to send files using Gabble (see this bug if you are interested in the technical details).

File transfer is implemented using XEP-0096: SI File Transfer, XEP-0065: SOCKS5 Bytestreams and XEP-0047: In-Band Bytestreams. Most of the XMPP clients implement those XEP's so interoperability should work just fine; with the notable exception of the GTalk desktop client. We also use our simple SI extension to fallback to IBB if the SOCKS5 negotiation fails. That means that file transfer between 2 Gabble should always work! In the worst case the transfer will be really slow but at least working.

Our SOCKS5 implementation has been seriously improved too. It now supports IPv6 so p2p connections will be used if both peers are on an IPv6 network. We also implemented SOCKS5 relay, so if peers can't be connected directly (typically because they are behind a NAT), they'll try to use a proxy to relay their data. As lot of XMPP servers don't provide proxy at the moment, we hardcoded a bunch of public ones which will be used as fallback. These SOCKS5 improvements will not be used only for file transfers but also for tubes! The only exception is the relay support which has been disabled in muc stream tubes because the SOCKS5 XEP doesn't properly support muc contacts.

So, what about the futur? Jingle File Transfer is the next big beast. It will enable interoperability with the GTalk desktop client and will allow us to do crazy ICE thinsg for real NAT penetration.

But for now I'm going enjoy a nice week of holidays in the moutain so if you experience any trouble please file bugs as I won't be on IRC before next week. :)

Notes

[1] our XMPP/Jabber connection manager

samedi, mars 21 2009

Good GNOME news

Lot of great GNOME related news this week!

Release of GNOME 2.26

As planned, GNOME 2.26 has been released Wednesday. By running Jaunty I'm already using it and didn't find anything awful to complain about for now.

On the Empathy front, I think we did a pretty good job with this release which should bring some nice new features to users:

  • As already announced the Audio/Video support received a lot of love. Theora should hopefully increase the support "out of the box" on most distros. Be sure to have at least telepathy-gabble 0.7.22 installed if you want to use audio/video in Jabber.
  • Empathy is now able to send and receives files. The only released connection manager implementing it at the moment is Salut 0.3.8 (XMPP link-local) but don't worry, Jabber support is coming! My implementation in Gabble is basically ready and my branches are waiting for review so it should be released pretty soon.
  • Empathy's dispatcher has been completely rewritten. That should improve reliabilty and allowed us to improve the logger to ensure to log messages as soon as possible (and so avoid to lose it if something goes wrong).
  • This new dispatcher can now dipatch new style tubes. The API is still a draft but I hope we'll undraft it in the next weeks.
  • Chat rooms invitiations are now supported. You can easily invite contacts to join a room and receive a nice notification when you are invited to join one.
  • The accounts dialog now have an "Import accounts" button you can use to import your existing accounts from Pidgin. Thanks to its modular design more applications should be supported in futur versions. A Gajim backend should be merged soon.
  • We also implemented sound notifications using libcanberra. Be sure to have a sound theme installed if you want to use them.
  • Libnotify is also supported now so you can receive a nice notification bubble when you receive a new message, an incoming call, etc.
  • Few months ago Matthew did a very complete usability study of Empathy's UI. We continued to fix the problems he raised and polish our user interface in general. I hope he'll be able to update his review at some point to give us more feedback on the latest versions.
  • Thanks to the great work of Milo Casagrande the user documentation received a lot of love.
  • And of course lot of various bugs has been fixed.

Empathy 2.26.0 (and the needed pieces of the Telepathy stack) is already available in Ubuntu Jaunty. If you are still using Intrepid, you can use the Telepathy PPA to get backported packages from Jaunty (but could have some problems with audio/video due to older GStreamer versions). The 2.26.0 package should reach Debian Sid soonish as well.

As usual, if you experience problem, don't be shine and increase a bit more our bug counts :)

Git migration

The Git migration has finally be announced! Almost all the Empathy developement is already done through Git so that's obvioulsy a great news for us. I think that's also the right decision as that's the tool used by most the developers and external components of the GNOME stack (GStreamer, Telepathy, PulseAudio, Avahi, Cairo...).

Thanks to the release and Git migration teams for managing that.

GNOME Summer of Code

This year again, GNOME has been accepted as an organization for the Google's Summer of Code and students have already started to think about nice ideas of project. Feel free to contact us by mail or IRC (#telepathy@FreeNode) if you are interested to work on Telepathy and/or its integration in the GNOME desktop.

samedi, mars 14 2009

Elisa Media Center RTBF plugin 0.5 released

Last week I released the 0.5 version of my Elisa RTBF plugin. As you can see from the release notes, this version adds two new features: the addition of all the Webradios and the support of the new video streaming system.

The latter is definitely the most interesting feature. The RTBF recently released their new video streaming flash interface. It's now possible to watch a lot of different shows (and not only the news as before) and the video quality was really improved. After some reverse engineering (thanks Wireshark!), I discovered that the flash client was communicating with the server using a simple AMF protocol. At this point it was really easy to query the server from my plugin using the great PyAMF library. This means that this new version of the plugin is able to access to the same content that the official flash client!

If you don't have Elisa installed and want to see the plugin in action, David uploaded a nice Youtube video.

Elisa updated his plugins repo so you should now be able to install this version directly from Elisa's plugins UI. Upgrade should also be done automatically if you have installed an older version of the plugin previously.

samedi, janvier 24 2009

Desktop integration of the Abiword collaboration

As announced by Rob, I recently started to hack an Abicollab backend using Telepathy tubes. It's based on the existing Write backend to ensure interoperability with Sugar.

See this screencast where an Abiword document is shared to participants who are using Abiword and Write.

My code is quiet rude and still need a lot of cleaning and polishing but that's a big first step. Hopefully, the futur improvements in Telepathy and Abicollab would make possible a rocking desktop integration of the collaboration features in the near futur!

lundi, décembre 22 2008

refdbg with GLib 2.18

Dear lazy web,

Do you have any idea how to use the awesome refdbg with GLib 2.18? I use to rebuild my libglib2.0-0 package with

--enable-debug=yes --disable-visibility

and it worked fine, but since I switched to Ubuntu Intrepid (and so GLib 2.18) I have this error when trying to use it:

(process:6902): RefDbg-CRITICAL **: LD_PRELOAD function override not working. Need to build glib with --disable-visibility? (See README), aborting..

Thanks!

dimanche, décembre 21 2008

Elisa Media Center RTBF plugin

I just made the first public announce of my Elisa RTBF plugin so now is probably a good time to blog about it.

Dear Elisa friends,

I'm happy to announce the first release of the RTBF plugin marked as stable. That means you can easily install it from Elisa's plugins list.

RTBF or Radio télévision belge de la communauté française is the national broadcasting organisation of the government of the French-speaking southern part of Belgium.

This plugin adds support for easy access to RTBF's radio streams and TV news.

This is the perfect plugin if - You are Belgian and want to easily watch the news and listen radio. - You'd like to improve your French by listening cool music (Pure FM is quite nice). - You want to make fun of your Belgian friends by laughing of our incapability to have a gouvernement. - You are an Elisa plugin freak and want to install every possible plugin. :)

Source code, egg file and bug reports are available on launchpad: https://launchpad.net/elisa-plugin-rtbf

Elisa developers are doing a great job in creating a rocking open media center and opening it to external contributions. The last days have seen the arrival of new cool plugins and more should follow soon. Elisa is progressing really fast (there is a new release every Monday) so I strongly suggest you to try a recent version. And if you have a nice idea of plugin, don't hesitate to write it; plugin's design is not hard and the Elisa team is very nice and helpful.

jeudi, décembre 4 2008

Telepathy file transfer released

As promised file transfer is now available in released versions. Xavier released Empathy 2.25.2 Monday and I released telepathy-salut 0.3.6 Tuesday.

Thanks to Bigon these new versions are already packaged in our Intrepid PPA repo and in Debian experimental.

So feel free to test them and report any problem you could have.

vendredi, novembre 21 2008

File Transfer in Telepathy and Empathy!

After months of waiting, the file transfer support in Telepathy is finally there!

The spec was merged as a draft last week and the Salut and Empathy branches followed this afternoon. This means that this long-awaited feature will be available in the next releases of Empathy and Salut.

Lot of persons have been involved and worked very hard to make this happen. File Transfer was first started by Marco Barisione as a SOC in 2007. Unfortunately his work wasn't merged directly because we were not completely happy with the specification and wanted to use the not-ready-yet Requests API. This summer, Jonny Lamb resurrected Marco's work, ported it to the new FileTransfer API and polished the Salut and Empathy implementation. I finally gave the last shot these last days by finalizing the spec, porting implementations to use the Requestotron and fixing last bugs. Xavier polished a bit the Empathy implementation and made it ready for merging.

Releases should be out shortly. So, with the future Empathy 0.25.1 and telepathy-salut 0.3.6 you'll be able to send and receive files on your local network using Link-Local XMPP. Our implementation is fully compatible with Apple's iChat but not yet with Pidgin as libpurple doesn't implement the OOB protocol.

Next step will be to implement the File Transfer API in telepathy-gabble in order to be able to send and receive files over Jabber. If people are interested to contribute to Telepathy, implementing FileTransfer in telepathy-butterfly (MSN) or telepathy-idle (IRC) would very valuable contributions. We are also working on the resurrection of the nautilus-sendto plugin too, so we'll be able to easily send files directly from Nautilus!

Thanks to Collabora and Google to have sponsored this work.

File sending in Empathy

mercredi, novembre 19 2008

Collaboration at Sugarcamp

Since yesterday I'm in Boston attending to the Sugar Camp. Today was dedicated to collaboration. I made two talks. The first one was an overview of the collaboration framework, how we use Telepathy in Sugar, etc. The second one was about our plan to improve Telepathy integration into Sugar and the cool new Telepathy features we are currently working on.

Both talks went pretty well and should hopefully lead to a better collaboration experience in Sugar in the near future.

jeudi, octobre 16 2008

Media Box

I'm looking for a (small) computer that could be used as a media box with Elisa. My requirements, pretty standard for this kind of computer, include:

  • S-Video output (or possibility to have a converter to S-Video). HDMI too would be good.
  • CPU fast enough to decode HD videos.
  • As quiet as possible.
  • 5.1 sound card.
  • And, obviously, working fine with Linux.

So if anyone has good advice to share, comments are more than welcome. Thanks :)

vendredi, août 22 2008

More Map widget!

Seems like mapping is the hot topic today, Pierre-Luc also announced a Gtk+ Map widget. Since he's not on Planet GNOME yet, I'll post the links for you all to see:

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!

lundi, février 18 2008

Empathy IRC account configuration

Yesterday Xavier merged my Empathy irc-account branch. You can now very easily configure IRC accounts using empathy-accounts. We ship a XML file containing lot of well know IRC networks so users don't have to care about server address, port, etc.

This is the first step in my "use Empathy as a real IRC client" plan. Now we'll start a new set of libempathy-gtk widgets in order to create a dedicated application for multi users conversations (probably based on the interface of xchat-gnome).

mercredi, février 6 2008

Calendar synchronization

Thanks to Ross, Dates is now installed on my N810. I played a bit with it and it looks great. So great than I'm considering to use my N810 as an organizer. But I'd really like to be able to synchronize it with the Evolution running on my desktop.

Conduit seems really promising but I didn't see a Maemo port yet. Maybe OpenSync or Sync could do the job too? So, if anyone has some experience in N810 <-> desktop 2 ways synchronization, feedback would be really appreciated.

Thanks!

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

- page 3 de 5 -