SMS is useless

Yesterday was the 20th anniversary of SMS, the mobile phone Short Message Service. Coincidentally, I needed to ask my cousin a question. He wasn’t available via instant messaging, so I resorted to sending a text message to his mobile number.

A lot of people don’t realize that SMS is not guaranteed delivery. The network(s) may simply drop the messages if they lack capacity or if the recipient’s phone is out of service area. There’s no guaranteed delivery time either. Knowing this, I had turned on Delivery Reports for each message in my SMS client.

The three messages were sent, and shortly afterwards all three were flagged as delivered.

Just one problem: They didn’t arrive at my cousin’s phone.

It turns out that “Delivery Reports” for SMS can mean almost anything. In this case, one of the networks was sending a delivery report, rather than actually waiting until the message was delivered to the recipient.

When I got no reply after a few hours, I followed up with e-mail. But the point is this: SMS is useless if you care about whether the message is received or not.

For the technically minded, it’s like a UDP datagram. There are no guarantees. Your message may be delivered days late, spuriously repeated, or never delivered at all. I’ve had all of these happen, even just sending messages within the USA. I had naïvely thought that delivery receipts might help, but no, they don’t provide any useful knowledge beyond a guarantee that at least your own network provider has received the message.

BlackBerry understood this. Their BlackBerry Messenger (BBM) had the killer feature of reporting (via small icons) that the message was actually delivered to the recipient’s handset, and whether it had actually been displayed on their screen yet. BBM is the single thing from my BlackBerry days that I still miss, but unfortunately it remains exclusive to the dying BlackBerry platform.

So, what’s the alternative that does work for everyone?

My preference is for XMPP, also known as Jabber. Use Google Talk, or AOL Instant Messanger, or Apple’s via iChat/Messages, or any of thousands of other other Jabber providers, and you’re on a single open unified instant messaging network. It’s like e-mail—you can use your choice of client, your choice of network, and still talk to anyone.

Unfortunately, there are a lot of companies trying to entice people into “walled gardens”, proprietary chat networks that force your friends to use their service if you want to communicate. The three big proprietary closed networks are those of Apple, Facebook and Microsoft.

Apple have iMessage—which only has clients for iOS and the latest Mac OS X, making it an incomplete solution unless you disown all your disloyal friends.

Facebook have a messaging service that supports XMPP, but unfortunately they refuse to connect to any other XMPP provider, so they can strongarm your friends into keeping an active Facebook account.

Microsoft’s closed proprietary network is Skype. They used to have another which went by various names including MSN Messenger and Windows Live Messenger, but they’re shutting that one down next year, so if you use it you might as well make your migration plans now.

Then there’s Kik, which basically clones the iPhone chat UI and makes it cross-platform. Unfortunately they have no web, Mac or Linux clients, as well as being a closed network.

The final proprietary offering I’ll mention is WhatsApp. It’s phone-only, unlike XMPP, and closed and proprietary, but it does at least support reliable delivery notifications. It has clients for all the major mobile platforms. I have it installed, purely because everyone in my family does. Apparently it’s the current market leader in the “replacements for SMS” space.

So, I’ve given up on SMS. It’s a waste of time unless you arrange with your friends that they will always send acknowledgements to your messages—and who wants to have to do that? While I wait for everyone to get on the XMPP train, I’m reluctantly using WhatsApp. So please don’t text me.