New project: Empathy

Hi GNOME lovers,

I started a new GNOME project 2 months ago, it’s a IM client designed for the GNOME desktop. It is not yet-another-xmpp-client, Empathy is a telepathy client using nokia’s mission-control (MC) and reusing gossip‘s UI. This project was previously known under the name of Grapevine.

Empathy is subdivised into two libraries (libempathy and libempathy-gtk) and 3 programs, everything is implemented in C language:

  • libempathy: An abstraction layer on top of libtelepathy and libmissioncontrol. It provides high level API to easily build an UI on top of it.
  • libempathy-gtk: A collection of GTK widgets build on top of libempathy. All applications are very simple because they just have to show those widgets to the user. Those widgets are forked from Gossip.
  • empathy-accounts: Create/edit accounts settings.
  • empathy-contact-list: Show a list of online contacts.
  • empathy-chat: When a new chat (or chatroom) is created (someone sends us a message for example), MC will start this program and it will be responsible of showing the conversation to the user.

Those programs are very simple, less of 100 C lines code! They just creates widgets from libempathy-gtk. Those widgets can easily be embeded into other GNOME applications in order to integrate IM into GNOME desktop applications.

2 examples of usage of libempathy-gtk for other GNOME applications:

  • Evolution could display the avatar of a contact and propose to answer to an email using IM. It’s really possible with little work.
  • Nautilus could provide a “Send To” menu item, when right-click on a file, that shows a list of online contacts and sending the file directly.

Everything can be done regardless of the protocol used, thanks to telepathy Connection Managers.

There is already 2 Google SoC projects related to Empathy:
Simple user-to-user file transfer without configuration in a LAN
VoIP and video call client using Telepathy

I’m pleased to announce the first public release of Empathy !!! It currently supports contact-list, avatar, alias, groups, presence and private chat. More to come on next releases. See the first screenshot, download tarballs or checkout darcs repository. The project will soon move to GNOME svn and bugzilla.

If you want to help on making empathy rock feel free to check the TODO file included in source code.

Empathy is sponsored, inspired and loved by Collabora.