Instant messaging in Fedora Workstation is suboptimal. The current default IM client – Empathy – doesn’t work very well. It’s an app that was designed for GNOME 2 and is not a good citizen in GNOME 3. Mainly because of its multi-window nature. Having a separate roster window makes sense if the app uses a status icon, and when you close the roster window, it stays online, and you can always bring it back from the status icon. Empathy used to work that way, but in GNOME 3 status icons were declared deprecated. Empathy now doesn’t have the status icon and if you close the roster window, it goes offline, so if you want to stay online, you need to have a roster window floating around all the time.

So fix it, you would say. The problem with Empathy is that no one really wants. The app hasn’t seen any significant development for several years. The original author – Collabora – is not interested in developing it any more and no one else wants to pick up the development. Mostly because the app has quite complicated architecture.

The only advantage of Empathy was integration into the Shell. You could reply directly in notifications and you had all the current chats in the systray, so you didn’t have to use the app, which itself didn’t really fit in GNOME 3. But the latter feature was removed in GNOME 3.16, the Shell doesn’t have the systray panel, that hosted the chats, any more.

Because Empathy no longer has any user experience advantages and its development prospects are zero, we’ve been thinking about replacing it with something else. Pretty much the only other GTK+ IM client with support for a wide range of networks is Pidgin which used to be the default client before it was replaced by Empathy. Would it be a viable option? Here are some of my findings:

  • While Empathy has zero development, I really can’t say that Pidgin has any vital development. If you look at its stats at OpenHub, you’ll find out that there has been pretty small activity in the last couple of years, and it’s definitely declining.
  • Pidgin can run in a single window mode due to a plugin which I built in Copr if anyone is interested in trying it out.
  • It relies on the systray status icon and I don’t think it will be very simple to get rid of it.
  • There is a Pidgin integration extension for GNOME Shell, but in 3.16 it only shows notifications (it doesn’t show the content of the messages in notification, you can’t reply in notifications) and provides contacts for desktop search (not a in transparent way because Pidgin is not recognized as a search source and you don’t find it in search settings). Overall, the plugin is not very useful any more.
  • Pidgin is not integrated with GNOME Online Accounts. It’s kinda lame that you let users connect to their online accounts and then the default IM client doesn’t know about it and they have to do it again in its settings.
  • Pidging is not integrated with Contacts app.
  • Pidgin is a GTK+ 2 app. The developers started working on the GTK+3 port 6 years ago. Although most problems seem to be solved, the last update is two years old. Looking at the development pace, I’m not sure it will ever happen. Without GTK+3, you can’t run on Wayland, you can’t reasonably support HiDPI monitors. It simply doesn’t make Pidgin a good fit for a modern system Fedora Workstation wants to be.

Simply going back to Pidgin would not really help much long term. Right now, it’s probably a better client than Empathy, with at least some development activity. On the other hand, it doesn’t integrate well with GNOME, it doesn’t support modern technologies. So for Fedora it’d be a short-term solution if we decided to give up IM completely eventually which might be the case after all.

Pidgin in single-window mode.

Pidgin in single-window mode

Instant messaging networks are nowadays walled gardens. Several years ago, the open source community was using Jabber and it looked like we might get some interoperability and openness in popular IM networks as well. XMPP looked promising. This trend has completely reversed lately. Not only do we have more closed networks with their dedicated clients (Whatsapp, Viber,…), but the adoption of Jabber, the only truly open IM network, has been declining. I’m still a heavy user of integrated desktop IM clients, but I hear more and more often that people don’t care about IM integration into the desktop and rather chat in the web browser (Messenger, Hangouts,…).

What about you? Is well-integrated IM in Fedora still important to you or you don’t care any more?