Sunday, September 11, 2011

Jabber, XMPP and why not let SMS die?

The history of internet messaging, as opposed to email, is somewhat vexed and perhaps nerdy. I suspect that's why Jabber has not yet caught on like it should. That's not to stop you getting on, what is now, a fast-growing bandwagon.
First what's Jabber? Jabber is an internet standard which was developed in the 1990s and is now called XMPP - eXtensible Messaging and Presence Protocol. You can find details at http://xmpp.org
You might be familiar with it under other names. On the Mac iChat uses XMPP and the iChat server on Mac is an XMPP server. GTalk in Google also runs on XMPP, as does Facebook chat.
But let's backtrack a little. Firstly what's so good about Jabber? Well Jabber is just like email. There is no "central" server. Instead a whole raft of servers across the internet provide Jabber services and they in turn contact other servers and "federate" that is one server talks to another. This is just the same as email. It's helped by the form of Jabber addresses: user@example.com is recognisable as a fully routable email address. It's also a complete Jabber address. You can message me for instance at criticalalpha at gmail dot com . So we remove all the complexity about needing to know what server somebody is on and, through the magic of something called transports, what legacy messaging system they might be on.
Next is a really nice feature: presence. If you are in my roster (the XMPP name for my buddy list) then Jabber tells me when you are online and when you aren't. It makes it simple to determine whether you are available for a chat or not.
The most basic service on a Jabber server is text chat. Depending on the server and the client you use however you can also use voice chat, video, screen sharing, multi-user whiteboard, file transfer, Multi-User Chat (MUC) and lots more. Jabber also provides store and forward treatment of text messages when the other party is offline. When they come online the message is delivered.
What's all this got to do with SMS? Well we seem to be addicted to SMS. But every time I send an SMS I'm chewing up either a fee per message - $0.25 or so, or an allowance of text messages. In addition I have no presence information for the other user and no information usually about whether the message has been delivered. With Jabber on the other hand, I know whether the user is online. I get error reporting if the message is not delivered and it costs me peanuts - the cost of a few bytes of my data allowance. In addition I can be logged into my Jabber account from a variety of places at the same time - my computer, my phone, the web...it means that in effect I'm ubiquitously available if I wish to be. XMPP is also completely cross-platform, it's not proprietary so you can send messages from one platform and receive on another...just like email. Since using XMPP my SMS usage has fallen very sharply, it's now perhaps 15% of what it used to be. Using iChat voice calls are clearer and more reliable that Skype...
So what do you need to get started on XMPP/Jabber?

  1. A Jabber account. If you have your own Jabber server that's easy. If not a GMail account will also give you a GTalk account at the same address. Alternatively there are lots of free servers around, try here for a start: http://xmpp.org/resources/public-services/ .
  2. A client on your laptop or home computer. If you are a Mac user that's easy, iChat comes with the Mac and supports MUC, screen sharing, file transfer, video and voice as well as text chat. If you are on Windows try googling Adium, Spark or Psi+ for starters. Here's a list of over 90 clients: http://xmpp.org/xmpp-software/clients/ (both computer and mobile).
  3. A client for your smartphone. Beejive is a multi platform client. It's not cheap but it supports push and staying live for up to 7 days on the iPhone as well as connection to GTalk, Facebook, Yahoo messaging, MSN, AIM and MySpace. You could also try imo, OneTeam or Jabba on the iPhone. Some of those are also cross platform, working on Android, Blackberry etc.
  4. Some buddies...
It pains me to see telcos earning massive profits on their SMS traffic when the cost is fractions of a cent per message. Take advantage of the enhanced capability of XMPP/Jabber and the lower cost and get on board today.

5 comments:

  1. Well if you don't have an updated phone but still want to use Jabber, or if you don't want to waste the battery with the data connection, you can use this application I built. Right now its only working with gtalk but I'm going to release for other jabber services: http://textpc.blogspot.com
    Some people have older phones and have unlimited sms (I do).

    ReplyDelete
  2. Two mature, Open Source interweb Jabber clients

    Jappix

    SparkWeb


    Use their public offering or host the clients yourself.


    XMPP is decimating sms. Yank back that money from monthly mobile phone bill to spend wisely or invest in tangible gold coins!


    { endlessness.myopenid.com }

    ReplyDelete
  3. "Unlimited sms" is not-free. If sms is included "free" in your mobile plan that plan costs more than an otherwise identical plan with no-sms package

    XMPP is really-free.


    .
    .
    There are much lighter interweb xmpp clients for not-smart phones. Stop allowing yourself to be fleeced by mobile phone carriers.

    ReplyDelete
  4. I just ported my old cell# to Vitelity and enabled their SMS service, which is $0.01/min (after 100 free sms), and their service is implemented as an XMPP gateway. So I can send/receive SMS with a login to ##########@s.ms via any XMPP client or thru their webs. Pretty pleased with it so far..

    ReplyDelete