Why you should never trust companies who make promises containing the word “forever”, part 4,294,967,296

Google recently announced that they would be turning off their Google Talk service and replacing it with Google Hangouts instead.  Whilst normally I wouldn’t care at all about this, and to a certain extent I still don’t, by doing this they have gone back on something that Google said some time ago about using open protocols and the word “forever”.  Not that this was in any way a surprise to me that they’d do something like this, but it may be to some people, since their whole business model relies on selling your data which you provide to them for nothing, so if they’re not making money on a certain feature, I’d imagine they’d have no qualms about pulling it to suit themselves, rather than you.

As you may know, Google Talk was based on a protocol called XMPP (or Jabber as it was formerly known), which is an open standard for instant messaging, defined by RFC 6120-6122 et al.  The advantage of using XMPP, in addition to the fact it is an open standard, is that there are a huge variety of XMPP clients and servers you can use, whether on PCs, Macs, Linux, or tablets and phones, and they all interoperate fine, in the main.

Google’s decision to stop federation of XMPP between “third-party” (to Google) servers and their own basically means they are limiting the use of their servers to Google account holders only.  I expect that in due course, Google Talk itself will be retired fully so that their own official client will no longer work.  (The Android app has already been replaced with “Google Hangout”.)  This is not unlike Facebook Chat, which also uses XMPP, but at least they have been clear from day one that they will not be federating with anyone else and have always operated a “closed” server.

It’s a stark reminder that when a company promises “free”, there’s usually a catch, and if they promise “forever”, that means “until we feel like discontinuing it”.  People who were relying on both of those terms meaning what they say they do, have just received a nasty shock.

If you were using Google Talk to communicate with my XMPP server, then you will now need to find another XMPP account to use instead.  Thankfully, there are many different servers around the world who offer such accounts, one of the best known being jabber.org but many other sites are available too, and this link has a list of some of them.  You can of course, if you are able to, run your own XMPP server using one of many open-source or commercial XMPP servers available.

Once you’ve registered an account, if you need an XMPP client, there are many to choose from, and many are open source.  Popular ones available for Windows, Mac and Linux include Psi, Pidgin, Adium, and many more.  For Android users, Xabber is available for Android from the Google Play store, and there are also plenty for other types of smartphones (though I have no direct experience of them).  Some of these clients also can do voice calls now, which again due to a choice made by Google, was never available between third-party servers and Google Talk, only between their own customers.

At least Google’s decision hasn’t killed XMPP, the protocol, which is still an open standard, and still has millions of users worldwide, I’d encourage everyone to continue to use a standard which isn’t going to go away because one particular (large) company says so.

(And, in case you’re wondering, my Google Hangouts app on my Android phone is still disabled, just as the Google Talk one was before it.)

Instant Messaging reorganisation

I found out an interesting thing the other day – that the instant messaging client I’ve been using for quite a while, Pidgin, doesn’t actually support some features in the XMPP protocol.  (If you’ve never heard of XMPP, it’s the open standard protocol behind instant messaging servers such as Google Talk, but you can run your own XMPP server if you like and that’s what I’m doing, using a piece of software called ejabberd).

The main problem with Pidgin (or more correctly the library underneath it, known as libpurple) does not support the concept of ‘priorities’, apart from a hard-coded default of 1 (or 0 if you’re away) mainly because most other instant messaging services don’t have the feature, and as libpurple supports mutiprotocol, this is a bit of problem.  In case you’re wondering, XMPP priorities are useful for times where you have multiple IM clients running at once and you want to choose which one provides the ‘status’ to other users.  For example, I could run client on my desktop, and one on my mobile phone, and one on my laptop, and I might decide to give the desktop client the highest priority, and if that one is offline, then the laptop takes over, and if that one’s offline, then the mobile takes over.

So, I’ve been on the hunt for a replacement instant messaging client.  The one I’ve decided to settle on is called Psi+ (which in turn is an enhanced fork of the Psi instant messenger).  It’s available for Windows, Linux and Mac.  One advantage of it is that it is designed for XMPP only, so that it doesn’t have to work around the limitations of having to support MSN, Yahoo!, ICQ, AOL, etc. as well.  At first, I found it a bit complicated to use  – but then again the ‘advertising’ for it does clearly state it’s an XMPP client for ‘power users’ – and that it certainly is.  It’s chock full of features including a few little known ones, like being able to set ‘mood’ and ‘activity’ (so, for example, you could set mood to ‘Thirsty’ and activity to ‘Drinking’).  It also, more importantly, supports XMPP priorities properly, and also does XMPP Jingle voice calls too.  It took me quite a while to set up since there are so many things you can set, but now that I’ve got it how I want it, I’m pretty pleased with it.

Unfortunately, one casualty of this means that my MSN account can’t be used with Psi+ so I’ve decided to cancel it.  Therefore, if you were talking to me using MSN, you’ll now have to switch to XMPP instead – but I don’t think that will affect too many people.  You can reach me on XMPP at gary.hawkins@garyhawkins.me.uk using your favourite client.