The Death of Instant Messaging in 20137 min read

We kinda failed at freeing/opening up telecommunications for the the public, though it wasn’t really our fault.
ICQ 2000 for Dummies
Back in the nineties, ICQ and AIM were the significant players with a “first mover” advantage in the instant messaging market. MSN/Messenger/Live eventually ate their lunch, as users were looking for something less invasive and bloated for simple text communications. A few years down the road, Free and Open-Source software advocates pushed hard for the re-appropriation of our telecommunications with XMPP (Jabber) and an army of IM clients (Empathy, Gajim, Pandion, Pidgin, Psi, Swift, to name only a handful) and server software. The idea was that decentralization was the key to independence and the future-proofness of our communications, that anyone could run a server instead of relying on a freedom and privacy-depriving third party.
The core problem, as is often the case for the adoption of open standards (or even open-source software to begin with), is the creation of a network effect. We had to advocate real hard for people to switch away once again from their established proprietary protocols and chatting applications in favor of this fancy new IM du jour. Trust us, this time it’s once and for all!
At some point, Facebook and Google started using Jabber for their instant messaging systems. With cautious optimism, we welcomed that increased visibility and support to generate the required network effect that would allow XMPP/Jabber to get off the ground as a viable replacement for proprietary chatting technologies.
The only thing we didn’t quite foresee was that Google would play the game nicely for eight years and then drop the ball.
I recently decided to migrate from the APINC’s server to GNOME’s Jabber server, and then I found myself observing the following harsh realities:

  • In my contact list, almost all of the contacts are GMail/Google accounts. The only ones that aren’t are hardcore Free Software enthusiasts.
  • The people using Google accounts are those friends who couldn’t be convinced to switch to Jabber per se: they had to be tricked into using it “because they already had a GMail account” – or they were running a multi-protocol client (such as Pidgin, Empathy…) because they asked you to install a distribution of Linux on their computer (really, it happens).
  • My contact list has not grown significantly in years.
  • My contact list is filled with people I haven’t spoken to in years – yet, I consider myself simultaneously sociable and capable of removing contacts that are of no interest to me. But then at some point you start thinking, “What’s the point to have an IM client if I end up removing everyone or talking to only 2-3 people?”

So here is the question that arose of all this: does anyone still care about Jabber/XMPP in 2013? Heck, does anyone care about traditional instant messaging, for that matter?
quit your jibber jabber
We blindly relied on Google to spread XMPP and declared victory as years passed quietly, not foreseeing them deriving from the standard so many years down the road, nullifying our network effect. Now, we face the problem of recreating a network effect—except that this time around, IM clients ain’t cool anymore: the Web ate their convenience. In-browser IM, powered by social networking websites that made contact management a thing of the past—something that we could not have imagined in the early to mid 2000’s—are making traditional instant messaging obsolete for many, many people.
Coup de grâce: with the coming of WebRTC for audio/video calls and file transfers, the Web is well on its way to conquering the last remaining technological advantages of traditional IM. It seems like we failed to provide and maintain a compelling, coherent technical offer in time. Just as an example, in nearly a decade of using XMPP, I’m still stuck with the following problems:

  • Unreliable servers/services. I’m selfishly hoping that, due to its small population and our fantastic sysadmins and infrastructure, the GNOME jabber server I’m migrating to solves these issues for me. The issue remains for the public at large however. “Reliable” servers are hard and expensive, and so the promise of gratis decentralization falls apart somewhat.
  • Contact authorizations randomly resetting every few months, forcing both parties to remove and re-add each other to be able to see their online status (this occurs no matter which jabber client. It appears like a “phase of the moon” bug with various XMPP servers – good luck investigating that)
  • With many jabber clients:
    • Audio/video chat breaking on a regular basis (if implemented at all)
    • Fast file transfers (or any file transfer at all, really) working 10% of the time (if at all), depending on your network, the server you’re on, the server your friend is on, and the alignment of planets
    • Remote desktop being broken (if implemented at all)
    • End-to-end encryption being generally nonexistent

Fragmentation, bugs and incomplete implementations.
Now you might say “but aren’t audio/video and file transfers just extra features? Isn’t ‘a faster email’ what IM is all about?”… The problem with that kind of objective is that we’re a solution looking for a problem, then. If you’re limiting your definition of IM to text, this functionality now exists in two (arguably superior) forms: social web IM, and the venerable IRC.
As part of the Pitivi, GStreamer and GNOME communities, I find myself realizing that everyone I need to chat with (besides the closest friends and family) are on… IRC. Why would I add these people to my jabber contact list when I’m going to talk to them the same way on IRC anyway? What does Jabber really offer in a compelling way that IRC doesn’t? You may say that IRC is room-based and doesn’t have the notion of a “contact list”, but that’s just a superfluous client UI detail. A contact list is just pinning down the names of those you care about, so theoretically there’s no reason why we couldn’t have such a thing in, say, Polari.
It seems to me like there is a place for multimedia-intensive telecommunications over WebRTC, and a place for many-to-many traditional text chat with IRC; but the middle-ground between them is kinda going extinct. I will still be showing my Jabber address publicly on my homepage for the foreseeable future, but maybe a day will come where nobody even knows what this artifact is for anymore.
wall phone
I thought it would be interesting to write about this meta topic while we’re at crossroads. After all, some of you may have noticed this hobby of mine of being an observer of ecosystems and industry shifts 😉 that said, this is quite open-ended and I’m not sure where to go from there, so let me end this blog post on an “public advisory” note regarding Google’s new unified Hangouts/Talk service:

  • The new relationship between G+ circles and GMail contacts led to a new level of messiness for Jabber clients: there are now contact “groups” that you cannot rename or delete. This led some IM clients like Empathy to turn off contact groups by default, as there was no sane way to deal with the issue (besides, who wants to group when we can search these days?)
  • Very few people noticed that Google now has a particular way of handling the “away” status: if you ever made the “mistake” of connecting to Hangouts using an Android device (or probably any mobile device), Google never signs you out of it. Even if your device is completely offline, you will always show up as online, albeit “away”. Props to google for misusing the notion of presence and the “Away” status like that. The tangible result is that if this is not your primary account (say, you only use it for multi-user conferencing), your friends and family keep sending you messages for weeks on end without you noticing it. The trick, on Android devices, is that you have to go into a hidden settings menu for the Hangouts application to manually sign out for that device.

Comments

21 responses to “The Death of Instant Messaging in 20137 min read

  1. Luis Matos Avatar
    Luis Matos

    Still use text messaging a lot. It is non intrusive.
    I can work, talk to people, when they can, they answer, all without hving my eyes out of the screen.
    I am a fan or the new gnome 3 integration (although in 3.6 the notifications are quite intrusive, but that has already changed). Chatting with IM protocols that are supported is quite nice.
    Video and voice are great … but the text has still *lots* of advantages (we still send text messages in the phone, specially in the bus, or train where we cannot talk).
    Google is that company that makes everything right in the beginning because it was the beginning. Later is evoled to their own products to fight their oponents. So close it.

  2. Why not use facebook? It is reliable and works good with pidgin and gibberbot.

  3. Belle analyse, mais hélas! comprendre ce qui s’est passé ne le fait pas revivre. Le Web et Internet nous échappe de plus en plus 🙁

  4. Everyone I know either uses facebook chat and/or whatsapp. Neither are going away anytime soon.

  5. Gabe Avatar
    Gabe

    An accurate assessment.
    Even SMTP is going by the wayside because of pervasive in-ecosystem systems like Facebook messages. With so many people using Gmail and mostly emailing other Gmail users, Google’s little garden is growing walls.
    And just try convincing your average teenager, soccer mom or grandparent that what we have now is horribly broken.
    I can think of a few technical solutions to this mess, but the tech is the least of it. Marketing to lazy, uninformed people is very difficult.
    I mean, look at these comments. Most of them are “I use X, it’s big and not going anywhere.” Whoosh.

  6. Anon Avatar
    Anon

    The IM landscape was always balkanised – years ago it seemed like people were on a mixture of ICQ/MSN/Yahoo. Jabber/XMPP came along but was only being used by a small number of techy people. Google did GTalk and then tentatively did federation and suddenly XMPP became popular. Yahoo contacts started being able to talk to MSN. It looked like maybe XMPP would be the one to unify everything…
    Skype came along, became popular and brought another IM network with it. Facebook introduced IM but never federated their XMPP and Google abandoned XMPP when hangouts were introduced. Apple quietly introduced another IM network with iMessage which is restricted to Apple devices and Apple accounts. Other app-store IMs like Whatsapp popped up splitting things further. We were always at war with IRC/SILC/Gadu-Gadu.

  7. Gajim user Avatar
    Gajim user

    Unreliable servers/services. I’m selfishly hoping that, due to its small population and our fantastic sysadmins and infrastructure, the GNOME jabber server I’m migrating to solves these issues for me. The issue remains for the public at large however. “Reliable” servers are hard and expensive, and so the promise of gratis decentralization falls apart somewhat.

    I know of over 5 stable, reliable and big servers (one of these servers has several domains).

    Contact authorizations randomly resetting every few months, forcing both parties to remove and re-add each other to be able to see their online status (this occurs no matter which jabber client. It appears like a “phase of the moon” bug with various XMPP servers – good luck investigating that)

    I have never experienced this issue. Please elaborate.

    Audio/video chat breaking on a regular basis (if implemented at all)

    This is indeed a problem which must get more attention and joint collaboration between XMPP client developers (i.e Gajim, Jitsi, Psi).

    Fast file transfers (or any file transfer at all, really) working 10% of the time (if at all), depending on your network, the server you’re on, the server your friend is on, and the alignment of planets

    Yes, this is indeed an issue. What ‘alignment of planets’ is?

    Remote desktop being broken (if implemented at all)

    What ‘remote desktop’ is?

    End-to-end encryption being generally nonexistent

    It depends on which client you use and whether contact has not disabled E2E encryption. I am referring to End-to-End Signing and Object Encryption for the Extensible Messaging and Presence Protocol (XMPP). See RFC3923.

    You may say that IRC is room-based and doesn’t have the notion of a “contact list”, but that’s just a superfluous client UI detail. A contact list is just pinning down the names of those you care about, so theoretically there’s no reason why we couldn’t have such a thing in, say, Polari.

    True, but IRC can’t be federated, or can it be?

    We blindly relied on Google to spread XMPP and declared victory as years passed quietly, not foreseeing them deriving from the standard so many years down the road, nullifying our network effect.

    Did you really think so? I never did and I assume that neither did you. I do not rely on GMX neither Yandex on the matter of keeping XMPP available, even though I have accounts on both services; DuckDuckGo, LavaBit (closed for the moment) and Riseup provide XMPP services too.
    Since always, when I communicated with people regularly via MUC (public chat) or Roster and I have noticed that they used GTalk accounts, I gently ask them to switch to a native XMPP server, for several reasons, and they always did so.

    Now, we face the problem of recreating a network effect—except that this time around, IM clients ain’t cool anymore: the Web ate their convenience.

    This is untrue, IM is great; I have no cellular telephone nor even a landline telephone for over 4 years! I only use Email, SIP and XMPP.
    When I have news friends or clients who do not use IM, I am referring them to XMPP clients with multi-account support s that they would be connected with me by using an independent XMPP server while at the same time they can use Facebook Chat (which I do not use) on the same screen.

    In-browser IM, powered by social networking websites that made contact management a thing of the past—something that we could not have imagined in the early to mid 2000′s—are making traditional instant messaging obsolete for many, many people.

    For many idiot people indeed; those who would seek XMPP would eventually find it. XMPP is powerful, reliable and will be relevant for many years to come.
    http://isode.com/company/wordpress/m-link-on-disa-approved-products-list/
    http://isode.com/company/wordpress/arctic-tiger-2012/
    XMPP will never die. Nowadays we have so many XMPP web based software available such as buddycloud, Jappix, Movim, Salut à Toi (see also https://prism-break.org); so if a company wants to manage an inner social network for its employees, the (high quality) software are already available.
    I do not use XMPP because it is convenient, I use it because it is independent.

  8. Kamil Páral Avatar
    Kamil Páral

    Very few people noticed that Google now has a particular way of handling the “away” status

    Thanks, that has been plaguing us for months. Mystery finally resolved. Google, shame on you!

  9. I run a Jabber server, and while there are not that many users (currently ~1300 weekly users), what I see is at least a constant increase and over the last year, the number of active users have increased with more or less 100%.

  10. Arpad Borsos Avatar
    Arpad Borsos

    Sadly, I can agree with a lot of what has been said.
    I have some very old contacts via ICQ (which is transported to my private jabber server) that I don’t use anymore anyway.
    Then I have some technical people who might try something new just for the fun of it that use jabber because they like it.
    And of course the others who use it just because it comes included with gmail.
    And the move from talk to hangouts is just horrible. Probably the thing you mentioned with android accounts, which once I stopped using hangouts on android leads to the following problem: I get offline messages, which appear in gmail and ONLY on the desktop web gmail. I can’t access them with any jabber client or any mail client (not even gmail on android).
    Apart from that, I really hate the Hangouts app in android. It is just orders of magnitude slower than talk was. It’s unusably slow. And there are simply no good and lightweight alternatives. Most have slow and sluggish UI and drain battery like nothing I’ve seen before. At least that was one thing that Maemo and the N900 got right.

  11. Encore un peu d’espoir pour XMPP et compagnie…
    XMPP/SIP et WebRTC = SoX

    Some user agents that might want to participate in WebRTC interactions use XMPP as their primary or only communication channel. For example, a browser-based XMPP application might use a JavaScript library that connects to an XMPP server using XMPP Over WebSocket [6] or using BOSH (XEP-0124) [7] and XMPP Over BOSH (XEP-0206) [8]. Although such an application could use Jingle (XEP-0166) [9] and Jingle RTP Sessions (XEP-0167) [10] between the client and the server, converting the Jingle XML format into SDP (and associated SIP headers) might require use of a server-side gateway, and such a gateway might introduce unnecessary complexity into the system (e.g., keeping session state in the gateway). Enabling the user agent to natively send SDP (and a minimal set of SIP headers) can make it easier for XMPP client developers to build real-time communication applications using existing SDP and SIP libraries, especially in the context of WebRTC. Even outside of WebRTC, the ability to send SDP/SIP over XMPP can be useful in deployments where XMPP-capable endpoints need to communicate with SIP endpoints such as IP phones.

  12. From a personal perspective, Jabber is great for companies who want an internal IM system, but it’s not so great for individuals who just want ease-of-use.
    With people looking for things like SSO and convenience, it’s critical that whatever WebRTC brings, it should also be able to be decentralised or it won’t be picked up by the early adopters.

  13. Gastlag Avatar
    Gastlag

    About this point :

    Fast file transfers (or any file transfer at all, really) working 10% of the time (if at all), depending on your network, the server you’re on, the server your friend is on, and the alignment of planets

    There is Git-annex assistant witch is base on Git and XMPP : http://git-annex.branchable.com/

    1. I thought this was about IM not being embraced by masses. Did you want to say “git” and “masses” in one sentence?

  14. What does Jabber really offer in a compelling way that IRC doesn’t?

    Offline messages. WIth Jabber I just fire the message to the contact and can forget about it … receiver will eventually see it. With IRC I have to constantly search for the contact to be online. Especially interesting if I am nine hours away in a different time zone than the receiver.

    1. You actually can have “offline messages”, many people on IRC (especially project maintainers) use proxies (aka bouncers) to cope with timezones and not miss any messages. Personally, I use Bip for that purpose.

      1. Yes, I use znc myself, but just a small fraction of IRC users do, which means I cannot rely on my message being delivered. With Jabber, I can.

  15. Alexandre Avatar
    Alexandre

    “MSN/Messenger/Live eventually ate their lunch” — not on this 1/8 of Earth 🙂

  16. John McHugh Avatar
    John McHugh

    I sort of agree with you.
    I don’t think sticking with irc is the best move that can be made though.
    You should check out telehash, its the spiritual successor to xmpp and the best way I could describe it would be rest through dht.
    When you think about it it makes sense.
    Unlike telepathy tubes you would only see contacts who are also using that app and capable of interacting with you in that apps context.
    You dont need to set up an account with a central authority of some sort(federated or not).
    The connection between you and contacts you have chosen to collaborate with is encrypted and you have the key not a central(federated) server.
    The best part is its p2p and hasn’t been designed around a specific purpose like xmpp was. It can be used to built chat but also to build activity streams, distributed version control etc.
    When you look at what gnome is competing against now its more complex than windows and osx, chromeos is offering users functionality that gnome hasn’t really started to think about implementing yet.
    Take the activity stream in google drive – http://googledrive.blogspot.com/2014/01/a-new-activity-stream-in-drive-shows.html .
    How will gnome implement this kind of functionality in a service agnostic way, will it just ignore it.
    If it does implement functionality similar will it hook into web services, will this be much different than fremium software putting access to some functions of an application behind a paywall.
    People may not have to pay up front to unlock functionality but these companies are selling their personal information.
    Like I said though I sort of agree with you. I dont see the point in multiprotocol instant messengers anymore, they aren’t really usefull. Don’t think gnome will be using telehash to try and effectively compete anytime soon though and so I probably wont be coming back.
    Telling users to go use web services instead of building distributed alternatives is going to make them question why they are using gnome at all. Trying to integrate web services into the desktop is self defeating.

    1. So, because XMPP didn’t acquire critical mass to be meaningful (a claim which I would dispute, BTW) you are suggesting some even more weird system?

      1. John McHugh Avatar
        John McHugh

        No Im suggesting another system because xmpp is being used for things it wasn’t originally intended for.
        I love how you just ignored the majority of my post .
        Critical mass didn’t matter from gnomes perspective, gnome didn’t include an xmpp im by default, it included a multi protocol one. It supported most of the protocols which had gained significantly higher user share and it did nothing to really improve how people interacted with gnome.
        Surprize surprize.
        Telehash was created by Jeremie Miller(guy who created xmpp) to actually come up with a system which resolved the issues he found with xmpp after creating it.
        Its sort of like telepathy tubes but designed over dht instead.
        I have already explained why I think it is superior in my above post which i’m assuming you ignored because you haven’t answered any questions I raised originally.
        Trying to chase after web services with an open source desktop is pointless.
        Multi protocol projects like telepathy are pointless.
        Telepathy tubes doesn’t really work as well as it should.
        I may have access to a large friend list in xmpp, msn etc but that doesn’t mean that they can utilize the features in the telepathy tubes enabled app they are being displayed in.
        Xmpp gaining critical mass wouldn’t have really impacted gnome in a big way.
        telehash seems like the best way to build a video editor with global and local versioning like git but built for video working over dht unlike git.
        It’s also good for building an im application but it isn’t designed specifically for either.
        Get it yet.
        You can build useful apps with it without having to transform an im protocol into doing something other than im. xmpp hitting critical mass doesn’t matter and never mattered before either in the context of improving communication on the desktop.
        This is why I sort of agree, applications are stating to integrate collaborative tools outside of the traditional im context. They are doing this outside of gnome now. You can see it with an activity feed in drive or google docs etc. Either gnome accepts this and evolves and tries to actually improve things or it dies. Its that simple. Saying im is dead lets go back to irc is the part i disagree with. IM just evolved and gnomes lets do everything approach wasn’t adaptable to evolve with it.