Log in

No account? Create an account


Let's Push Things Forward

Maximizing social utility for fun and (modest) profit

Previous Entry Share Next Entry

Meta-contacts in Empathy (and beyond!)

We've finally closed Gnome Bug #460647 (Empathy: Support metacontacts)!

Let's get right to the pictures:


This is our "Link Contacts" dialog. Selecting a number of contacts on the left side designates which contacts will be included in the Individual (read: meta-contact) at right.

We currently auto-link contacts with the same service ID (foo@example.org) contained in multiple accounts. In the future, we're going to push as much into auto-linking as possible. My goal is that most users would never need to use this dialog. Until then, this dialog is how you designate meta-contacts in Empathy.


If you accidentally link together contacts you didn't mean to, you can simply open the Individual's info dialog and hit Unlink to start over.


One of the first benefits of meta-contacts is pulling together multiple modes of contact for a person into a single place. So if you've got a friend with separate work and personal IM, you can be an upstanding citizen and only send funny cat pictures to their personal IM address. (If they sign on to both at work, at least you tried your best).

We've kept the 1-click Chat/Audio Call/Send File/etc. actions for the (I think, more-common) case that you just want to communicate and you don't care about the specifics. This just uses any valid (ie, online) account for that Individual.


This meta-contacts functionality is all possible thanks to the Folks project. It's a collection of libraries (so far, all distributed together) that collect contact information through various backends (Telepathy so far; many more to come) and aggregate Individuals (ie, People). Empathy was our starting point, but we really plan to integrate very well into the Gnome desktop and beyond. Think: typing -Alice- to start a chat with Alice through the Gnome Shell.

I'll discuss Folks in greater detail in future posts.

I'd like to thank my colleagues Philip "code factory" Withnall for helping with Folks development/Empathy integration and Empathy maintainer Guillaume Desmottes for letting us know exactly what we broke in each commit. And, of course, a special thanks to our employer, Collabora, for sponsoring us to work on this full-time.

Try it now!

Since you're no doubt very excited about these new features in Empathy, you can use them Right Now™ in version 2.31.91 (also coming to Debian experimental shortly). Be sure to file any and all bugs you run into, so this will be as solid a stable release as any other!

If software bugs have you leaping onto the nearest elevated furniture, no problem -- Empathy will, of course, by included in Gnome 2.32, coming to a friendly Linux distribution near you!

  • 1


You, Sir, are wonderful.

No problem. Knowing that people appreciate it motivates us even more!

thats cool. congratulations! Is there is a hope that empathy will have per protocol icons for contacts finally?

Empathy 2.31.x supports protocol icons for contacts (I just don't have it turned on in these screenshots).

Whenever we show a single contact, we overlay the protocol icon (if you've got Show Protocols turned on); if we're displaying an Individual with contacts from multiple services, we don't show the protocols.

drag & drop is easier than wizard

drag & drop to merge contacts like as it implemented in pidgin

But, thanks :)

Re: drag & drop is easier than wizard

We consulted with a usability expert (Nick Richards), and he had the idea of the link dialog (including most of the details we ended implementing in it) instead of drag-and-drop.

The big problem with drag-and-drop is that it's hard to discover it, so most users don't. And we want most of our users using meta-contacts :)

And it also hits the problem of drag-and-drop meaning both "add to group" and "link these contacts together".

Lastly, drag-and-drop is apparently really hard to perform on netbooks' frequently-bad touch pads.

Great work!!

I expect this to enter Ubuntu Maverick for trying it. I have tried previous versions of Empathy (2.31.x), but this "link" feature never worked for me.

There have been a lot of important fixes in Folks and Empathy since the versions in Maverick (even though they're fairly recent).

Please continue to file bugs upstream at bugzilla.gnome.org!



This is one long-awaited feature to be sure, very exciting.

'course, my contacts still go way past the bottom of the screen, maximized in compact viewing mode, given 1024 vertical pixels and one panel with a global menu.

One column doesn't cut it anymore, not with Facebook. ..but this does help.. *a little*.

Once we get Gnome Shell integration, you should be able to see search results multi-column. Though the use case there is a bit different than for Empathy's contact list.

Context menu icons

Can I make a suggestion? In the contact-context menu, instead of the generic icon shown next to each of the users accounts, instead use the icon corresponding to the users' status on that particular account. This would make it easy to see which accounts the user is signed into and available on, which could be very useful.

Re: Context menu icons

Suggestions are always welcome!

The icon in the context menu is pretty small, so I'm not sure how well it would work to scale the avatar down to that size. But please file a bug at bugzilla.gnome.org, and I'll take a look into it.

Re: Context menu icons (Anonymous) Expand
Great work folks! Can't thank y'all enough for this :)

No problem :)


Please blog about how this relates to KDE's strategy with Akonadi/Nepomuk social desktop etc.

I'd have to do a little more research into KDE's plan to have a very meaningful response.

I did look into Akonadi and Nepomuk a bit before I decided to create Folks. It honestly seemed a bit over-engineered, and I remain fairly skeptical about "Semantic ____". The idea of extensively classifying objects and then hoping it will be useful seems like a lot more work (especially on the user's end) than narrowly-focused applications.

That being said, I'd be happy to be proven wrong. If there's a way to automatically classify everything (with near-zero user interaction) in a high-performance way that scales down to embedded systems (ie, smart phones), that certainly would be cool.

Solid work here. Seems like a really handy feature.

On a sidenote, your last screenshot really shows why removing the menu icons by default was the right decision. I mean, those menus full of icons are *hard* to read. Do you actually prefer the setting that way?

No, I really don't -- I forced it on because I realized I was garbling the icons in some branch, and forgot to turn it off. Thanks for the reminder!

Your advances in Empathy are really great :). Thanks!


It's a start, but...

Good grief, looks about 100 times more complex than the way it's done in, say AdiumX on the Mac, where no dialogs are required - just drag and drop, and you're done. Was this designed by one of the usability team, or did you just hack it together yourselves?

Re: It's a start, but...

Yes, see above. We consulted with a UX expert on the linking dialog (and he's even the one who came up with the word "linking", which is better than "merging", which we were going to use).

The original plan was to use drag-and-drop, but, as explained, it wasn't the best option. This will all matter less when most linking is automatic anyhow.

Feel free to pay for a full UX team next time, though.

Edited at 2010-09-01 03:17 pm (UTC)

protocol priority

I'm managing two protocols with empathy (gtalk & msn). I have some contacts linked because they use both protocols but when I try to talk with them, empathy always use msn protocol what I hate :P
With pidgin I only had to move my favorite protocol to the top of the drag&drop contact list.
What can I do?
BTW, congrats for this amazing app!

Re: protocol priority

Prioritizing isn't supported in Empathy 2.32, but we're thinking of the best way to solve it. See Gnome bug #631215.

where are the links config files saved? can't find them under ~/.config nor ~/.local/share nor ~/.mission-control

i want to export them from my notebook to my desktop.

thank you

The links are in ~/.local/share/folks/relationships.ini

  • 1