Mot-clé - Empathy

Fil des billets - Fil des commentaires

vendredi, octobre 1 2010

What's new in Empathy 2.32.0?

GNOME 2.32 was released a few days ago. As most of the developers focused on the upcoming 3.0 it's not exactly the most exciting release ever but I'm glad to say that Empathy is one of the modules with the most user-visible changes.

  • The main one is definitely meta-contacts. Thanks to the awesome work of Travis Reitter and Philip Withnall, it is now possible to easily link contacts together. This has been achieved using Folks, our new contacts aggregator library. See Travis's post if you want to know more about Folks.

  • Another new feature I really like is the contacts list live search implemented by Felix Kaser and Xavier Claessens. It allows you to very quickly find any of your contact by typing in the contact list. I hope to see more GNOME applications using this feature in the future as it's a very efficient way to dig through a treeview. Xavier even proposed to add this feature directly to GTK+. See Felix's post if you want to see it in action.
  • Notifications bubbles now have actions buttons allowing you to quickly accept or decline incoming events such as calls, file transfers, room invitations, etc.

  • Server certificates have been improved thanks to Cosimo Cecchi. Empathy can now ask the user if he wants to accept an untrusted certificate.

  • The IRC account widget has been improved to make it easier to select your IRC network. You can easily search through the list of networks using the live search feature and you can now create IRC accounts using the accounts assistant.

  • Empathy is now able to display vCard of your contacts and allow you to edit your own.

  • The audio/video pane gained a Details page displaying technical info about the call such as the codecs used which is always nice when you want to know what's going one without digging the logs

  • Some preferences have been added, by popular request, such as the ability to disable chat logging or automatically display incoming events (without blinking in the status area).
  • Connection error messages have been improved. Hopefully it should now be easier to understand the problem when an account fails to connect.
  • Empathy is now using status icons from the theme so artists can easily tweak them to fit well with the rest of your desktop.

Once you'll update your distribution you'll probably also update your Telepathy components. These upgrades should bring you some nice new features as well:

  • GTalk compatible p2p file transfers allowing you to exchange files with users of Google's GTalk desktop client. See Youness's post for details.
  • MSN file transfers and the return of MSN audio/video calls
  • And, last but not least, proxy support! Telepathy-gabble and telepathy-butterfly should now be able to make use of your proxy settings when connecting. Once again, best to check the blog of the one who implemented the feature if you are interested in details: Nicolas

Most of this work has been sponsored by my employer Collabora. But let's not forget all the contributors who have done a great job at reporting and triaging bugs, submitting patches, writing documentation, translating, etc. Your hard work is greatly appreciated!

jeudi, juillet 8 2010

Empathy ported to GTK+3

As a good GNOME citizen, Empathy 3.0 will have to be able to build with GTK+3. As Ubuntu is not going to ship GTK+3 by default in its next release, we decided to stay compatible with GTK+2 for this cycle.

Empathy already built with GSEAL checks so porting was just a matter of playing with autoconf. Libraries linking to GTK+ itself have to be updated as we can't use GTK+2 and GTK+3 in the same process:

  • libcanberra-gtk, webkit-gtk and libunique now have releases using GTK+3 instead of GTK+2 so all we had to do was to change the PKG_CHECK_MODULES calls to check for the -3 flavour of the libs.
  • nautilus-sendto plugin has been ported as well since 2.90.0 but it breaks its public API so we had to do some #ifdef magic to stay compatible with older versions.
  • Since 0.5.1 libnotify doesn't link on GTK+ any more but use GModule instead (Thanks Bastien!) so we just had to make sure that this version was used when building with GTK+3.
  • Unfortunately clutter-gtk and champlain haven't been ported to GTK+3 yet so we had to disable champlain support for now. I hope to see a port of these libs soon.

During configure, we check if GTK+3 is present; if it is then we check for these new version of the deps. If it's not or if Empathy has been configured with --enable-gtk3=no then we continue to use GTK+2 and the old versions of the libs.

If you're interested in details, everything has been merged to master so you just have to look at Empathy's file.

This should hopefully make all the distributions happy during the transition. Once Empathy 3.0 is released we'll drop GTK+2 compatiblity and will start using the fancy new features offered by GTK+3.

vendredi, mai 28 2010

Interview in Linux Pratique Essentiel

Few weeks ago I answered some questions to Anthony Carré (yeKcim) for a French Linux magazine oriented end-users. The interview is now available in Linux Pratique Essentiel no 14.

I talk about the Empathy and Telepathy projects: what are our goals, what we are trying to achieve, our plan for the future, how to contribute, etc.

You can skim through the magazine on their website but this is what the 3 pages of the interview look like:

lundi, mars 29 2010

Empathy 2.30 released

Here we go; after 6 months of work I just released Empathy 2.30 and I have to say I'm pretty happy with this milestone. As expected we didn't complete the full roadmap but I think we have done a good job making our software better and easier to use.

Let's see few of the new things this release brings to our users.

Improved accounts dialog

  • The accounts dialog now lives in its own process and can be started from the Gnome Preferences menu, even if Empathy is not running.
  • We improved its interface so that you can easily see the status of all your accounts and the detailed status of the selected account.

  • The first-time run accounts assistant had also be improved. It should now be more reliable and ask for details when creating the link-local XMPP account (aka Bonjour in Mac's world).

  • Thanks to K. Vishnoo Charan Reddy, we gained nice icons for a lot of protocols. Speaking of icons, if someone wants to design a better icon for link-local XMPP I'd be happy to use it. :)

Better chat room support

  • Empathy now supports a subset of most used IRC commands such as /join, /topic, /nick.
  • It is now also possible to join password-protected rooms[1].

Better error reporting

  • The contact list now displays a nice bar when an account is disconnected. You can easily try to reconnect it or open the accounts dialog to change its settings.

  • We also use these nice GtkInfoBar to display an error if something goes wrong during a VoIP call.


  • You can now easily send files to your contacts by drag and dropping to the contact list or a chat window.
  • The chat window gained a nice search bar.

  • Links in status messages are now clickable.

For Developers

  • We stopped pretending to be a library and so dropped libempathy and libempathy-gtk. Those libs never had any API/ABI guarantee and was a burden without real benefits. Plan is to continue to improve telepathy-glib client side API and create telepathy-gtk containing widgets useful for most applications.
  • Empathy 2.30 also stopped to dispatch tube channels. Tube applications should now use the very nicely designed Mission Control API. We ported Vinagre so be sure to upgrade it as well if you want to continue to use the desktop sharing feature with Empathy 2.30.
  • Empathy can now use the ContactCapabilites interface so if you are using telepathy-gabble 0.9.x Empathy will refuse to send files to contacts who don't support file transfers (such as Facebook contacts for example).

Those are just a few examples, we fixed more than 310 bugs during this cycle! If you are interested in more details, I suggest you to read the NEWS file.


[1] be sure to have at least telepathy-idle 0.1.6 if you want to use this feature with IRC

jeudi, février 11 2010

Facebook chat in Empathy

As you probably know, Facebook now allows you to connect to Facebook chat using any XMPP client. This is a great news as it allows Facebook users to chat using Free Software and can potentially bring millions of new people to XMPP, our favorite IM protocol.

As a XMPP client, you can already use Empathy to connect to Facebook. Alan wrote a nice post explaining how to configure Empathy to do so.

One of our main goals with Empathy is to make the application really easy to use for all kinds of users. So, today I added a new widget to configure Facebook accounts. Facebook now appears as a separate protocol[1] and the widget provides information to the user about how to configure it properly.

The release team folks have been kind enough to allow merging the branch despite the UI freeze so this new widget will be available in Empathy 2.29.91 (which will be released the 22th of Feb) and of course 2.30!


[1] as GTalk does

mercredi, octobre 21 2009

Empathy 2.30 Roadmap

More and more distributions are now planning to ship Empathy as their default chat client: Fedora, Mandriva, Moblin, OpenSuse, Ubuntu, and so on. As a result of this, and because we want to offer the best experience to our users, we at Collabora decided to put more resources on the Empathy project. That's why, as of this Monday, I'm now working full-time on Empathy, and have become co-maintainer with Xavier.

One of my first tasks has been to write a roadmap for Empathy 2.30. As I said on the wiki page, these are really just guidelines detailing the general direction we want to give to the project. We'll, of course, continue to review patches[1] from contributors and to fix nasty issues such as regressions and crashers reported by users.

So don't hesitate to report any issue you could have experienced with Empathy and join the Empathy/Telepathy community to help us to make 2.30 rock!


[1] yay for the new review feature on the GNOME Bugzilla!

mardi, septembre 22 2009

Empathy 2.28: Easy Desktop Sharing

One of my favorite new feature in Empathy 2.28 is definitely the Vino and Vinagre integration. Users can now easily share their desktop with their contacts by a simple click in Empathy. The contact then receives an invitation which will automatically launch Vinagre and connect it to the Vino server of the sharer. No need to worry about sending your internet IP or open and forward a port in your firewall; all the technical details are hidden to offer the easiest user experience as possible.

This integration between IM and application is done by using Telepathy tubes in Vino and Vinagre. Kudos to Arnaud Maillet who worked on this as his internship project at Collabora and to the Vino/Vinagre developpers who welcomed our work with lot of enthusiasm.

With the switch to Mission Control 5, I hope to see more and more projects starting to use Telepathy in order to increase the collaborative user experience in the GNOME desktop.

What next?

Better integration

Mission Control 5 and the new ContactCapabilities interface will allow us to improve the integration during the 2.30 cycle. We'll be able to hide the 'Share my desktop' button if Vino hasn't been built with Telepathy support and to unsensitive it if the contact doesn't have a tube enabled Vinagre installed.

Better performance

Currently telepathy-gabble tries to connect the tube to the peer using the following algorithm:

  • If available connect to peer's IPv6 address
  • Try to connect to peer's IPv4 address
  • Try to use a SOCKS5 proxy
  • Fallback to IBB

That means that if your are on a different LAN than your contact, without IPv6, and that your Jabber doesn't provide a fast SOCKS5 proxy, the connection will be pretty slow. We hope to solve this at some point by implementing stream tube Jingle NAT penetration in telepathy-gabble. Thanks to the Telepathy abstraction, Vino and Vinagre won't have to change a single line of code to benefit from this improvement; they'll magically start to use it as soon as Gabble gains this feature!

KDE interoperability

George is also working on implementing similar feature in KDE using Kopete, krdb and krdc. Easy cross desktop sharing is coming!


Share your desktop in one click

lundi, septembre 21 2009

Empathy 2.28: Adium theme support

Empathy 2.28

Xavier recently released Empathy 2.28 which is a really important milestone for us. Lot of people have been involved in this new version which contains lot of changes and cool new features. I will try to present some of them in a few blog posts.

Adium themes

We merged an one year old branch implementing Adium chat themes support using Webkit. Old GTK+ themes are still present as well. Adium themes can be selected using Empathy's preferences dialog; they just have to be installed in ~/.local/share/adium/message-styles/ or /usr/local/share/adium/message-styles/ so distributions can easily package themes.

Adium themes support is currently optional; be sure to build Empathy with Webkit >= 1.1.7 to enable them. The Empathy package shipped in Debian and Ubuntu Karmic already have this feature.

What next?

Our wiki has a page listing tested themes. Feel free to try some, update the wiki and report bugs if you experience issues.

The theme selector could also be improved to display a preview or support CSS variants. It would be also rocking cool to have adiumxtra:// links properly managed so users would be able to easily install themes from the Adium website.

If you are interested in implementing one of these features, your contribution will be really appreciated. :)

The Renkoo theme in Empathy