Fedora, GNOME

Instant Messaging in Fedora Workstation

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?

37 thoughts on “Instant Messaging in Fedora Workstation

  1. What do you think about writing a new IM client, using telepathy, specifically for the GNOME 3 desktop? We’ve seen apps such as Polari rise fast because of the telepathy backend and gjs, I guess a new IM could be written if there’s demand (of course).

  2. I think that, if we got OTR support in Telepathy / Empathy, that we could see renewed development in Empathy. The people who I know that use Pidgin do so solely because Pidgin supports OTR.

    I really appreciate you bringing this up. Empathy showed so much potential that it’s sad to see it with such little development. Maybe if we rallied around it we could improve it (p.s. I’m on the GNOME docs team). There just doesn’t seem to be much empathy for Empathy these days, I suppose. : )

  3. As a follow-up, I think that any new chat development in GNOME that doesn’t support / pursue support of OTR is a non-starter. Making encrypted chat available via a Free and Open-Source piece of software is important these days. If we don’t include that functionality, we’re not really serving our users.

    Also, as a nod to Telepathy / Empathy developers, I get that the encryption OTR stuff is hard, so I don’t mean to diss them for not including it. If you’re going to do it, you need to do it right.

    Anyway, thanks again for bring this up.

  4. The IM clients still are important to me. Pidgin isn’t the best solution, but defenetily is better than Empathy.

  5. Instantbird might be a viable alternative, it currently uses XUL for its UI but iirc Mozilla is moving the XUL backend to GTK3.

    It’s also recieving OTR support as part of the Tor Instant Messaging Bundle project.

  6. I rely on Pidgin for XMPP because Empathy doesn’t support OTR yet. I rely on xchat for IRC due to inertia. I still need IM. There is open source support for Whatsapp out there (yowsup). It would be great if Telepathy and Empathy could support TextSecure/Signal, Whatsapp, Viber and more of the modern mobile IM protocols.

  7. PS: I’d really like to see a “Telepathy bouncer”, where I could run telepathy on my server and connect Empathy to it over SSH. When I’m offline it would simply buffer messages until I return.

  8. PS: I’d really like to see a “Telepathy bouncer”, where I could run telepathy on my server and connect Empathy to it over SSH. When I’m offline it would simply buffer messages until I return..

  9. What? Empathy may not be maintained properly, but It is false that if you close the connections are closed. I open it every day and close it and I still get messages. The Shell / Empathy integration was changed to the worse when Shell developers decides to remove the shell option to set the online status, and remember it between desktop sessions restart, there was no need to open Empathy the first time, shello already initiated the chat sessions.

    I hopefully wish someone refine Empathy UI to GNOME 3, start from over will be a waste of time

    1. You’re right. On the other hand you need to start Empathy to connect and when you close the roster window there is no clear way to bring it back, so users end up with the window floating around all the time.

  10. Having integrated IM bring more interactive experience in Gnome Shel. Empathy as a concept as so much potential then; leaving unmaintained for some times without further refiner just show a bigger problem within the project and the lack of proper priority.
    As the above post mentioned, starting over will be a waste of time.I will be personally for improving the existing tool that is Empathy

  11. For me, pidgin is all I need. I’ve tried Empathy before but still prefer Pidgin. What I need is just a IM client only. So really I do not care much except how easy it is for me to use

  12. I agree with Jim. I think adding a layer of security to IM is the best way you can attract more users to the Empathy / XMPP protocol again. Right now, there is no real attraction to using XMPP over proprietary protocols beyond it being free software.

  13. I think linux desktop (and humanity!) needs something like Skype, with chat, VoIP and videocalls. You really need a phone client for it to be adopted. Maybe a Gnome-shell Telegram client could be the way to go, but I think they still have not opened the code server.

    I dream of an open-source, maybe p2p based (no central server), gnome-shell integrated Skype.

  14. I use Pidgin and have no major problem with that, it works about the same as it worked a few years ago. I do not lack any important feature to lament the slow development. And I don’t worry about Whatsapp, Viber and such since those are mobile phone apps, I wouldn’t expect them working on my PC anyway, when someone asks, my reply is “you can contact me with Hangouts”.
    From what I see, your problems are mostly “GNOME removed this”, “GNOME deprecated that”, it looks like the problem is with the desktop, not with the apps.

    1. Things like a status icon are really just minor problems. That major problem I see is that there is zero development activity in Linux desktop IM which will eventually end up in a situation when no one will use it any more. Everyone will be using those mobile apps, on desktops, just in browser.
      Zero progress means death in instant messaging. Desktop clients don’t catch up with today’s requirements of users (video chat, screen sharing,…), users abandon them and in the end they won’t be useful even for old-school users who are ok with just text communication because they will have no one to chat with.

      1. Actually, from a certain point of view, IM on Linux *always* sucked hard, now it just sucks equally hard.
        Ages ago, when ICQ was the “standard”, we had messages over it, no proper chat (I can remember how it was one of the stoppers against moving to a Linux desktop).
        For many years people around me used Yahoo for IM (now they apparently moved all to Facebook chat) and using Linux/FOSS one lacked voice/video, and more importantly, it lacked picture sharing. I can’t count how many times I had to decline invitations or receive error messages instead of pictures.
        When GTalk appeared, it was a light of hope, FOSS clients even added eventually voice/video support, but never in a reliable way. And it always lacked major features.
        I agree, desktop notifications and icons is trivial stuff, but we worry about them instead of the serious stuff: in less then 10 days Facebook chat is scheduled to close to all FOSS clients (XMPP support will stop). There are not even talks about ways to support it. We are busy to reinvent the wheel.

  15. I’ve been using Pidgin on Fedora for many years, primarily because of the multiple-protocol support (I can use it for both IRC and XMPP services).

    However, the major problem with it is its lack of properly-integrated notification support in the IRC protocol. Given that I spend much of my professional life on IRC, not having standard notifications when my nick is mentioned in a channel is pretty troubling. Right now, I work around this by using the topicons extension so that at least I can see the icon change if I have messages, but this is not a real solution.

    1. Empathy has always worked very nicely in this regard and Polari, the new GNOME IRC client, works even better. Polari may lack some advanced features of other IRC clients, but it does integration with GNOME very well.

  16. Thanks for caring about this 🙂

    I’m using happily Empathy for years now.

    What would be really nice:
    What I want see on GNU/Linux is a single-window mode for Empathy, like you described. Usage would be just easier and Skype shows for years, that is working well.
    You’ve written that there is no more integration of the chat into the GNOME-Shell since 3.16, that is not the case. Still works like before, just at the top of the screen.
    Let us add a Single-Window-Mode to Empathy, I remember Allan Day has written something about that a year ago. We don’t always need to remove a feature 😉

    What we need:
    We don’t have *any* chat client with Video-Support for Windows. For years. This needs to be fixed, because is a show stopper. Why should anyone use XMPP on Windows, if you can’t provide Video you even don’t have a change to beat Skype. The best change of achieving this is indeed the Windows-Port of Pidgin with GSTREAMER.

    I know about Jitsi, but it is based on Java which makes it huge and complicated and it didn’t succeded for years.

    Politics (annoying…skip if you want):
    Google betrayed us. Ouch! They supported XMPP and Jingle, as long as they gathered users for Android. With the release of Hangouts they turned XMPP-Federation off and switch to the practive of Fendor-Lock-In. As Whatsapp (also XMPP!) has done since the beginning.

    What we can give:
    The only reliable, secure and encrypted why of instant communication. The people create now everyday a unneeded chat-network with a proprietay chat client, instead of using simply XMPP with trustful servers.

    Thank you

  17. In addition, Firefox now has Conversation applications that used WebRTC technology. It will be nice that empathy include that support since it is uses open source software from ogg Opus to WebM. That could be a good replacement from proprietary chat like Skype because it can be build-in and cross-platform.

  18. > It relies on the systray status icon and I don’t think it will be very simple to get rid of it.

    Not true. There’s even a setting in the Preferences to disable the status icon.

  19. I think, that a Gtk – Client for the tox – protocoll would be a fine alternative to the existing instant messenger. It supports end2end-encryptet and p2p messaging. Also audio and Video calls are supported. It is, AS one can say, an secure alternative for Skype. But it currently lacks of an gtk-client, afaik.

  20. Simply answered – Well integrated IM in Fedora is extremely important to me…and I agree it is in a pretty poor state at the moment

    However, I think it is important to consider that the state of IM in other OS’s is not much better. Sure there is more choice and focused development, but it is fragmented, limited by walled gardens, plagued by questionable security (see EFF’s Secure Messaging Scorecard), and often poorly integrated with other OS features. Therefore, a modern, secure, and integrated IM solution in Fedora could be a major differentiator against other distributions/OS’s. It could also be of significant value to RedHat in the enterprise space when you consider the other vendor options…but I think it may need a fresh start with a major sponsor and/or development team to get any traction.

  21. Me gustaría que empathy pudiera usar la tecnología que esta usando firefox para video llamadas, si empathy usara webRTC podría proporcionar una buena experiencia en video llamadas, ademas seria multi plataforma y apoyaría este nuevo proyecto que Mozilla esta intentando impulsar en su navegador

  22. I feel I’m a little late to this discussion, but I think very valid.
    Recently, I opened a topic on the mailing list gnome-list intended to hear the views of users/developers about the future of chat in GNOME.

    https://mail.gnome.org/archives/gnome-list/2015-October/msg00004.html
    https://mail.gnome.org/archives/gnome-list/2015-October/msg00005.html

    Another user hit nail with its proposal, summarized in reimplement an application (gnome-chat), focusing on free protocols as pillars for communication in real time.
    Thus, the protocols: SIP/SIMPLE, XMPP/Jingle and MTProto (Telegram) would be chosen, and push their development and user taste install other modules (yahoo, zephyr, etc) as it would be based on Telepathy framework. (in concept).

    The idea is very good, as the popular protocols have tended to disappear, not the open source protocols that have grown and are used by companies, universities and private users. So developers can focus on implementing the features offered by these protocols, and make them competitive as file transfer, voice and video calls, secure conversations, etc.

    There is currently a project to better SIP/SIMPLE support for the Telepathy stack (https://www.resiprocate.org/), XMPP/Jingle is well supported and there is “telepathy-morse” (https://github.com/TelepathyQt/telepathy-morse) for Telegram (the most modern protocol) and can now try Empathy.

    what do you think?

  23. Well, I definitely care about secure desktop chat and would not chat from a web client. Even though it has some dubious aspects, I’m currently cheering for Tox at https://tox.chat/ which is completely distributed (peer-to-peer without central servers). A similar project is Ring at https://ring.cx/ with a very similar concept but more geared towards A/V calls (and using a modified version of SIP instead of their home-made protocols).
    Tox has an experimental Telepathy (i.e. Empathy) backend at https://github.com/abderrahim/telepathy-poison which I use, but aside from that, it has a number of variously mature clients.
    Competent instant messaging is not dead.

Leave a comment