Empathy is the new default IM client in GNOME (actually since GNOME 2.24) . It has become the default IM client in Fedora and Ubuntu 9.10 (Karmic) . I did not switch from Pidgin in Karmic as Pidgin worked fine for me and Empathy seemed to lack lot of features at that time. After Lucid beta (shameless plug : check my post Upgrading to Lucid from Karmic if you want to try Lucid Lynx ) came , I decided to give Empathy a try again. This time, I was quite impressed and made the migration from Pidgin. So in this post , I plan to discuss about Empathy’s cool features and how to migrate accounts from Pidgin.
[Update Jun 25 2010] : Added FAQ , updated section on group conversations.
[Update : Oct 1 2010] Updated the post to include new Empathy features like meta contacts, groups and private chat.
Cool Features in Empathy
Here I will list some of the cool features in Empathy.
1. Gwibber/Me Menu Integration
Empathy has a tight integration with social networks like Facebook and MySpace. You can add Facebook chat in Empathy and use it contact with your Facebook buddies ! Similarly Gwibber client and Me Menu use Empathy to a large extent.
2. Telepathy integration
Empathy heavily uses Telepathy. This manifests itself in multiple ways. If an app is "presence" aware then it can potentially use information from Empathy.
3. More than a Chat application
Empathy is not just a chat application. It can be used to make audio/video calls and even share the desktop !
Adding and Disabling Accounts
If you already use Pidgin, then the first time Empathy is started , it helpfully provides a account importer. Contrary to what the manual says, you can import Pidgin accounts whenever you want. Go to Edit -> Accounts and click the Import button which will show the Account Importer.
If you want to add an account directly using Empathy then go to Edit -> Accounts. It has built in support for a huge number of providers like Google Talk, Yahoo etc. It even has a neat feature which allows you to create a new account from Empathy itself.
Probably the most interesting providers are Facebook and MySpace. Now that Facebook has an XMPP/Jabber interface , this is probably the way to go. Facebook has started to annoy us with totally irrelevant ads โ so you can try using Empathy for Facebook chat and Gwibber for viewing the posts. Once Moonlight gets Silverlight4 capabilities, check out Microsoft’s exceptional Silverlight Facebook client. Note : If you are in Windows/Mac, you can try it now itself. A brief youtube video on Facebook client is here . This should allow you to get the Facebook experience without the annoying ads ๐
As a digression, if you still want to stick to Pidgin and want to use Facebook chat in it , try Facebookโs instructions .
You can also use Empathy for IRC. It has a huge list of known servers, but I would prefer to use a dedicated IRC client like XChat. IRC chat is possible but a bit clumsy using Empathy.
Disabling accounts is easy . Go to Edit -> Accounts. Select the account to disable. Uncheck the Enabled checkbox. You can even use the Remove button if you want to permanently remove the account.
Audio/Video Calls
One of my main reasons to switch to Empathy is its excellent support to Audio/Video calls due to Telepathy. To be fair, Pidgin also has basic audio/video support. If the other client also belongs to the same type of account (eg : Google Talk) and the protocol has audio/video support you can make the call. If a contact has audio capability, then he/she has a microphone picture after the name. A video capability is identified by a Webcam picture. You can click on it to make the call.
Sharing the Desktop
Another cool feature is sharing the desktop. This is possible due to the integration of Empathy with Vinagre. So if the other client is also using Empathy , then you can share the desktop. The whole experience looks like a typical VNC session. I tested by connecting with my friend using GNOME. I have not tested connecting to a KDE friend even though I think it should be possible.
People Near Me
This is another cool feature. If you are connected to a local network and your friends are also fellow geeks using Linux/Empathy, you can communicate with them using People Near Me. Interestingly, this a server less communication which does not need an active internet connection. I was able to make this work in a LAN but it did not work in a wireless network. Hopefully, it will be fixed soon.
In case , if this feature does not work for you : Check if avahi daemon is running. Also check if the Bonjour ports are not blocked in your firewall (tcp 5298,udp 5353).
Another thing to try is to have a friend connect via Bonjour protocol in Pidgin and try to communicate with him/her via Empathy’s People Nearby account. Theoretically, that sounds possible but that is some thing to check.
I can think of many applications for People Nearby feature – eg sharing files with friends in the same network without emailing or trading thumb drives , which brings us to the next feature.
Sharing a File
You can share a file if the account is a Jabber (Google talk is a jabber account) or People Nearby account. The process is quite straightforward. Right click a contact and select Send File. Select the file and it will be transferred to your contact.
Group Conversations
Currently, only Google Chat and MSN seem to allow group chats. There are three cases :
a) Joining a group chat after some one invites you
This is the simplest scenario. If the other chat participants invite you to group chat , you will see a window with a strange looking title asking you to join a private conversation. Once you open the window, you join the group chat automatically.
b) You want to initiate a group chat.
This has become easier in the latest versions of Empathy. Lets say you want to chat with contacts A and B. Open a new chat window with A. Now click on Conversations -> Invite Participant. It will open a dialog box and you can type the initial letters of the contact name. I know, they should have listed all the contacts instead of asking users to type and then auto complete – but, hey this is much easier than the method below ๐
In case you have an older version of Empathy, follow the steps below. I found an excellent thread in Ubuntu Forums that gives the steps for Group Chat.
0) In your terminal run "uuidgen" you will get a number similar to this "c9e943d0-ec5a-47d9-9151-c5c35d971e34".
1) Connect to your google talk account with Empathy
2) In Contact List click on Room then Join
3) Make sure you have you google account selected
4) The room name must be "private-chat-<uuid>" (check below how to get uuid) 5) The server should be "groupchat.google.com
6) Click join!
c) You want to add a contact to the group chat
1. As described in case (b), when you are in a group chat, click on Conversations -> Invite Participant and type the name of the contact you want to add to chat.
2) Assuming you are in a group chat, right click on a contact and select โInvite To Chat Roomโ. You will see a list of open chat rooms โ select the appropriate chat room and the contact will join the conversation.
Meta Contacts
Meta Contacts is one of the coolest new features in Empathy. It is a very useful feature in Pidgin and I am glad that it finally made it to Empathy. Basically the idea is this : You can use Empathy to communicate with friends in multiple services like Google, Yahoo,MSN , Facebook etc. This results in unnecessary clutter. Worse, you can initiate conversation with your friends in an account you did intend to. Meta contacts solves this feature by allowing you to link all these accounts to a single contact. After linking, you can still chat with the contact through any of the existing accounts.
The first step is linking additional contacts. Lets say you have a contact A who has accounts in multiple services , for each of which you use Empathy. For eg A@gmail.com, Blah@yahoo.com, Blah2 in Facebook etc. Lets also assume that your preferred way of communicating with him is via his gmail account. So right click on the preferred account and select "Link Contacts". You will now see a new window with two panes. All your contacts are in the left pane and the linked accounts are in the right pane. Select Blah@yahoo.com and A’s facebook account (Blah2). In fact you can type Blah and Empathy will helpfully filter accounts starting with the letter. Any selected accounts will linked together.
This means that instead of A , Blah and Blah2 you will only see A. If you right click on A then you will see the individual contacts and options to perform some operations on them (like Chat, call etc). If A, Blah1 and Blah2 are linked, when you search for Blah in the contacts window, the filtered accounts include A. Very neat and useful !If you want to unlink, then you can right click on the preferred account -> Link Contacts -> Unlink. This will remove all the links.
Admittedly, the linking is as of now manual. New heuristics to link them will hopefully be added in the future.
Groups
Another of the neat new features is Groups. Basically, you can cluster your contacts into semantic groups like college, work, friends home etc. To assign a contact to a group, right the contact and select Edit. It will open a window which has a Groups section. If you want to add the contact to a new group, type the group name and click Add. Else, select all the groups that apply. A contact can belong to multiple groups.
There is a special group called Favorite. If you mark a contact as favorite, then he is shown at the top of the contact list regardless of the account or online status. If you find yourself chatting with a small group of friends then it is very useful. To mark as person as favorite, right click the contact and check the "Favorite" checkbox. Alternatively Right click -> Edit -> Check the favorite checkbox.
Location-based service
Empathy also has the option to perform stuff similar to Google Latitude or Yahoo Fire Eagle. It is quite bizarre that Empathy has not tried to integrate with these leading services. So this means that if you are using Google Talk or Yahoo , you cannot send Geographical information. In fact, I am not able to see a Location tab in my preferences. Apparently, your server needs to support Personal Eventing Protocol (PEP). From the net , it looks like Jabber software like OpenFire has options to send PEP. Probably, I will test using a local XMPP server next week and will update the post if I find anything interesting.
I tried using the list of servers mentioned in the manual which support PEP. But still , I could not get Empathy to send Location information to my contacts.
Conversation Logs
Empathy stores your log files locally and you can always check the previous conversations and search it. There are two ways to look at the previous conversations of a contact – Right click and say "Previous Conversations". This will open a dialog with two tabs : Search and Conversations. The interface is very intuitive. The other way is View -> Previous Conversations .
I have to say, I prefer Empathy’s interface to be more user friendly even though functionally it is equivalent to Pidgin.
Other Geek Stuff
1. If you want to find the Empathy’s config information , you will find it at ~/.config/Empathy . Note that the folder name is Empathy and not empathy.
2. All the conversations are at ~/.local/share/Empathy/logs/ . I found the location to be unusual. Another strange thing was that all the log files were in xml and contains lot of unnecessary verbosity. Pidgin files were much simpler and easier to parse and analyze. I used to write simple awk scripts to collect some simple chat statistics. (Eg find the ratio of conversations initiated by me etc). Probably, analyzing Empathy logs will make me use Python on Ruby for simplicity.
3. If you want to try the latest and greatest Empathy features check out their development release.
4. If you want to write code using Empathy check out its API manual . They have Python bindings which should make coding easier. It helps to learn about Telepathy and Mission Control though ๐
5. You might also want to check out this excellent article on Me Menu and Gwibber – Ubuntu goes social, gains Me Menu .
6. Check out Telepathy on which Empathy is built on.
Some Minor Empathy Annoyances
Empathy is by no means perfect. It is yet to catch up with Pidgin in some aspects, although its status as default GNOME IM client will accelerate the efforts to achieve feature parity. I have my list of minor annoyances which by no means complete. Most of them are stuff that is possible/easy in Pidgin.
1. I am not sure how to block a user. I am yet to figure how to do it.
2. Pressing Escape key does not close the window. It is a convenient shortcut in Pidgin.
3. It does have tabbed conversations but Ctrl + Shift does not rotate through the tabs. I have to use the annoying Alt+1 for going to first tab.
4. Also when a new conversation comes , it does not open it in a new window. It just keeps blinking the tray icon. I have to explicitly click on the Empathy icon to open it. A Pidgin like ability to open the chat in a new window will be useful.
5. It will be cool , if I set a custom message in Empathy and it becomes my Facebook status. I know I can do it via Gwibber but this should be cool.
6. Some people have mentioned that it does not have a OTR ability. Although to be fair, even in Pidgin you got it via plug-ins. Currently, to my knowledge there seems to be no plug-in manager in Empathy but that could change soon !
FAQ
I added this section after seeing from Search logs that lot of people reaching this post from search engines have some common queries.
1. Where is Empathy’s Chat log files ?
Check out ~/.local/share/Empathy/logs/ . As far as I know, there is no way to disable chat logs. You can have a cron job deleting the chat log files periodically.
2. Where is Empathy’s configuration files ?
Empathy is really lacking in configurability. Other than the very simple preferences menu, it does not offer that much. I searched for text files that when tweaked offered some more control but was not able to find any.
3. Escape button does not seem to close the Chat Window !
Yes. It is very annoying. It is even more baffling given the fact that pressing ESC closes the contact manager. If you wish you can watch this GNOME Bugzilla request.
4. Ctrl+Shift does not seem to cycle through the tabs ?
Yes . It is yet another annoyance. Use Ctrl+PgUp/PgDown or use Alt+Chat tab number (eg Alt+1) . I do not think this is going to fixed.
5. What are the common keyboard shortcuts in Empathy ?
Ctrl+L : Clears the Chat window.
Ctrl+W : Closes the chat window. If there are multiple tabs, then closes current tab.
Ctrl+F : In contact manager, shows a textbox to search contacts. In a chat window, shows a textbox to search the text in "current" chat tab. (ie does not search previous conversations).
Ctrl+PgUp/PgDown : Go to next/previous tabs.
Ctrl+Shift+PgUp/PgDown : Move the current chat tab to left/right.
Esc : When pressed in Contact manager closes. Inside a chat window, closes the find status bar if present.
F3 : When pressed on Contact manager , opens a Previous Conversations window to search them. Unfortunately, it does not work in a Chat Window.
If you have done some GNOME development, take a look at /usr/share/empathy/empathy-chat-window.ui for all the UI short cuts.
6. I cannot make Audio/Video calls
This is still a work in progress. To see the latest list of providers to whom you can make audio/video calls, press F1 in Empathy and see the section "Empathy Instant Messenger > Audio and Video Conversations" . This has a table which shows which all services have audio/video calls enabled.
7. How to use Chat Rooms/Group Chat in Empathy ?
As of now , only Google Chat and MSN offer group chat. For instructions, check out the section on "Group Conversations"
8. How do I do OTR ?
OTR or Off The Record or Private Conversations are an important feature in IM. But it is also a tricky feature to implement or use. As of now Empathy does not support OTR. More details can be found in the official FAQ.
9. My question is not answered !
I am sorry that the post did not cover your question. You can post a comment and I will try to reply. Or you can check out the official FAQ.
I think , I have covered most of the important stuff. So give Empathy a try and enjoy all its cool features and comment about your experiences !
Were you ever able to get voice chat working with yahoo contacts? I can talk with contacts who are on google talk, but not with the ones using yahoo.
Hello Eric,
I dont have an Yahoo acount – so did not test Empathy’s Yahoo account / call features. I will ask around if any of my friends had any issues.
Regarding annoyance #5: Empathy does update your FB status with a custom message created in Empathy, something I discovered quite by accident just today!
Thanks for the detailed review!
Oh I did not know that ! Probably I can give it a try again . Thanks for the info !
thanks for ur tutorial ๐
One question, nobody talks about buddy searching. For me it is crucial finding buddys fast (I have lots of contacts) In Pidgin this is not easy, you have to type the exactly name (only searches by name). Is there in Empathy a good buddy finder?
Thanks
Hello Alfonso,
I assume by buddy searching, you mean searching for your buddy in the empathy roster (probably to chat ). In this case, pidgin and empathy behave fairly similarly. In the main empathy window, you can start typing the prefix of your friend’s name and empathy will highlight the buddy for you.
There are some caveats though : All your friends must be visible (you cannot hide offline friends) and you must type the “name” of your friend in the search. This means that if a friend has name foo and email id as bar then searching bar will not find him/her , which I think is lame.
Hope u found this useful !
[…] Eg : lot of people reached my blog searching for Empathy’s chat log location. My post of Empathy had it but not in a prominent fashion. So I added a FAQ which points the answer […]
[…] post on Empathy Chat Messenger Tutorial got some extra love. I added a FAQ and also updated the section on group chats. I also rewrote […]
my problem is that i don’t know how can i change the default call interface of SIP accounts.
the following is my scenario:
SIP server: 192.168.20.12
my Client have multiple NIC:
eth0 192.168.10.10 Default NIC – GW 192.168.10.1
eth1 192.168.20.10
** the Point is that there is some route via 192.168..10.0 to SIP-Server
So where is take my eth0 Down, all is okey, and my SIP client will register via it’s 192.168.20.10 IP. (all is ok)
but as i poll of eth0 up, my Client will register via the 192.168.10.10 to the SIP server.
i will be establish connections, but cos of the wireWall i cann’t make or receive calls.
How Can I Force Empathy To user eth1 as register interfaces?
Hello AliReza,
I checked in lot of places in the net and also the empathy/telepathy mailing lists but not able to find a method to force use of an interface. I will keep looking and if I find any , I will post in the comments.
Nice useful article keep post like this.. Thanks for sharing this info.
My Blog
Just need to know that, How to clear past chats permanently from Empathy
it is a good site to know things
please reply
thenx
Hi Pragya,
You can delete previous logs at ~/.local/share/Empathy/logs/ . This will contain individual folders for each Empathy account. Within each account folder, you will have a folder for each chat contact. You can delete ALL previous conversation or only chats with a specific person.
I do not see any easy way to prevent Empathy from storing chat logs. So, if you want to prevent Chat logs, you can write a cron script to periodically delete the files (say every day).
How can I import conversations logs from Windows Live Messenger to Empathy and vice versa?
Hi Charles,
Empathy uses a xml based chat log files and hence the files are not directly importable. You need to explicitly write some code to convert text files to xml files for the same. AFAIK , there is no existing code that does that.
Does call-out work from Empathy or any other freely available client?
Hi Richard,
Yes the call out works from Empathy itself. All you need to do is create a SIP account. If you need any help let me know.
[…] documentation online โ alas, without the insta-search A comprehensive guide to Empathy for Pidgin powerusers GA_googleAddAttr("AdOpt", "1"); GA_googleAddAttr("Origin", "other"); […]
How can you rename the groups? There is no support for new e-mail notification. I checked the bug report but I don’t think it will be implemented. Evolution just hogs HDD memory to save the mail. Moreover Yahoo doesn’t support Evolution or vice-versa.
Pankaj,
Are you talking of Empathy or Evolution? This post is about Empathy !
Of course Empathy. I could not rename the groups I created using pidgin.
Apart from that, I read the bug report of Empathy, where they said the new mail notification will not be implemented because there is Evolution. What if I don’t want to use Evolution?
Pankaj,
Groups is still a incomplete feature. Hopefully it will be polished soon. I do not think Empathy developers will implement new mail notification. You may have to use Evolution or Thunderbird. In GNOME 2.x there used to be many applets that can show unread counts of gmail etc. I am not sure if any of them work in Unity/GNOME Shell.
[…] The vague error code, 0x800c013a.Windows Live Messenger 2011 Beta: Available in JuneEmpathy Chat Messenger Tutorial #content-body,x:-moz-any-link{float:left;margin-right:28px;}#content-body, x:-moz-any-link, […]
[…] Cool Features in Empathy […]
A couple of problems with Empathy 2.34.0 in Ubuntu 11.04
1. I go through the list of my facebook contacts and put them into groups. Next time I login the groups have all gone and the contacts are in one list.
2. I can see messages from facebook contacts but they don’t get mine. Messages to and from Google Talk work fine.
Colin,
Unfortunately I do not have a facebook account and may not be able to verify this. if you see it frequently, you can shoot a mail to Empathy developers in their mailing list or ask it in their IRC. They should be able to help you.
Does anyone know what version of Empathy is included in the Ubuntu 11.10 release??
The one I have is 3.2.0.1.
Very good write-up. I absolutely appreciate this site. Stick
with it!
Hi would you mind letting me know which webhost you’re working with? I’ve loaded
your blog in 3 different internet browsers and I must say this blog loads a lot faster then most.
Can you recommend a good hosting provider at a fair price?
Thanks a lot, I appreciate it!
Excellent beat ! I wish to apprentice while you amend your site,
how could i subscribe for a blog website? The account aided
me a acceptable deal. I had been a little bit acquainted of this your broadcast provided bright clear concept
Woah! I’m really enjoying the template/theme of this
website. It’s simple, yet effective. A lot of times it’s very difficult to get that “perfect balance” between superb usability and visual appearance. I must
say that you’ve done a awesome job with this. Additionally, the blog loads
very fast for me on Chrome. Exceptional Blog!
Wow
Hi there to every body, it’s my first go to see of this web site; this web site consists of awesome and actually good data designed for visitors.