# The Instant Mess We're In

The other day I decided to jot down some notes on the changing IM landscape (both mobile and desktop), and left them aside due to more pressing concerns.

Today Google decided to crank out Messenger, and I decided to finish them over breakfast because this is getting insane.

On my Android phone, I have:

• Twitter (because that’s where I get notifications for a number of things besides occasional “chat”)
• Skype to chat with a few friends who either migrated to it from MSN Messenger or use it for remote work anyway.
• Facebook Messenger (because that’s what most “normal” people I know use, seeing as they seem to have a tab open on Facebook the whole day)
• Google Hangouts (both because I decided to use it as an SMS/MMS client and because my Gmail account used to be my primary XMPP contact)
• Slack (because it’s the new group chat hotness)
• …and now, Google Messenger, because they simply can’t get their act together1.

Which is plainly too much. I’m (thankfully) iMessage-free, stopped using Blackberry Messenger and simply refuse to install WhatsApp and have my contacts syphoned off goodness knows where, so I’m clearly not your typical mobile IM user.

So here are my notes on the IM landscape, for your continued entertainment:

## iMessage

I thought I’d start with this one. I’m still using a Mac daily, but it is a service that I’ve stopped using both because it’s not available across platforms and it is an unparalleled nuisance – something remarkable in the Apple universe.

Although it’s a lot easier to disable these days, I loathe iMessage for three reasons:

• It sends out an international SMS message during activation (not a problem on a corporate plan, but something I find unacceptable in principle for end users)
• It persists on trying to associate my phone number with every single Apple device I own, every single time I upgrade or reinstall a machine.
• It grabs all my e-mail addresses (around 9, including aliases) and tries to bind them to the service as well.

And that doesn’t include the infuriating shortcomings of it as a service (yeah, I was really annoyed at not being able to mute or leave group conversations in the early days), the biggest of which is that if, like me, you use an Android phone most of the time, you’ll invariably find yourself in a situation where all your iPhone-using friends will complain that you either don’t reply to their messages (because they’ve gone to a device you aren’t using) or that they get an error message when trying to message you and have to force the “Send as SMS” option.

So I keep having to disconnect every single Apple device I leave at home and disabling the service itself, time and time again, simply because Apple can’t acknowledge that you might occasionally use an iPhone as a secondary device.

And \$DIVINITY forbid you might conceivably not want your phone number associated to your Mac.

The only plus side is that Messages on Yosemite is actually pretty snappy (and useful) when using XMPP – but, in typical Apple fashion, it has absolutely no idea how to look up XMPP chat rooms; you have to manually configure them one by one, which makes it almost completely useless in an office setting.

Anyway, enough ranting. Let’s get back to mobile IM, shall we?

## WhatsApp

I was put off WhatsApp (which is still exceedingly popular over here, even among people who ought to know better) due to their early privacy issues (i.e., they uploaded all your contacts’ phone numbers to their servers by default, in plaintext), and at this point I refuse to install it until I’m absolutely positive that they do at least these two things:

• They start matching identities through hashed phone numbers or something that does not allow them, ever, to figure out my phone number and share it with their advertising partners, some half-assed social network or the Mossad.
• I get to explicitly pick which contacts I want to look for in their service.

In order to access and use the features of the Service, you acknowledge and agree that you will have to provide WhatsApp with your mobile phone number. You expressly acknowledge and agree that in order to provide the Service, WhatsApp may periodically access your contact list and/or address book on your mobile device to find and keep track of mobile phone numbers of other users of the Service. When providing your mobile phone number, you must provide accurate and complete information. You hereby give your express consent to WhatsApp to access your contact list and/or address book for mobile phone numbers in order to provide and use the Service. We do not collect names, addresses or email addresses, just mobile phone numbers.

In short, there is absolutely no sane way their service can work like this and not be a privacy risk, and I’m constantly surprised by the number of (otherwise quite savvy) co-workers who actually use the thing.

As to the user experience, getting rid of their horrid UI and actually making it look decent and clean in both Android and iOS is, of course, a baseline requirement – even their latest updates look ugly as sin.

## The Tinfoil Hat Crowd

At this point, you might feel tempted to point out Telegram or some other extra-super-secret equivalent that uses fancy unproven encryption, hand waving, or both. I’ve actually tried out Telegram, so I’m just using it as an example here – I’m not singling it out for any specific flaws.

My stand on those is simple: I will not use something that is not publicly vetted and that lacks a decently-sized user base among normal people. Geek “solutions” need not apply.

On a Mac, there’s a couple of obvious choices – Messages (which actually works pretty well with XMPP services, and which I use with our public XMPP service) and Adium (which I stopped using during one of its many bouts of interoperability struggles with libpurple or its successor).

Jabber and XMPP were full of promise, sure – if you bought into the “let’s build decentralized, interoperable services” Kool-Aid. In practice, nobody on the street usesXMPP out of conscious choice, and even if there areXMPP gateways and transports bolted on atop popular IM solutions, nobody really cares.

For instance, Facebook’s XMPP gateway works, but is pretty much useless and doesn’t seem to be actively maintained (it ocasionally flakes out on me).

Google Hangouts is generally so awful I generally stay clear of it everywhere but on Android, which is the only place where it’s adequate – and even borderline useful, considering that it at least tries to sync conversations with the “desktop client”, i.e. its half-assed web UI.

But since XMPP simply does not work (at all) for group chats, you’re stuck with using the web interface, which on a quad-core Mac will gleefully take up to 30% of your entire CPU capacity, regardless of which browser you use (Chrome seems marginally better than Safari, but we eventually settled on using Fluid to run the whole thing in a sandbox and kill it when not required).

Even the recent Chrome extension (which, incidentally, has a horrible user experience on both Mac OS X and “vanilla” Linux) hasn’t improved things.

Also, Hangouts is especially nasty in iOS – the app will keep eating bandwidth and battery life even if you have alerts disabled for a specific group chat.

What it seems to do, in practice, is constantly update your group chats in the background, without any way of really disabling that behavior even if you disable background app refresh.

I have no idea what Google is doing, but whenever I peek at a group chat on an iOS device, it’s just all there, with Hangouts always in the top three apps in battery usage2.

## Slacking Off

So it was no wonder that one day everyone seemed to switch over to Slack - the free tier gives you pretty much all the functionality your book club (or whatever) might possibly require, they have quick, efficient (and battery-friendly) mobile apps for just about everything (except, alas, Windows Phone, although that seems to be in the works), and I now have 90% of my group chats (from unrelated groups of people) on the same platform.

The downsides are that they’re catering to a niche (if most of my friends weren’t techies, nobody would even try it) and the lack of a desktop client (I mean a real desktop client, not a Cocoa wrapper for an NSWebView), but they have working XMPP and IRC support, so that’s not really a problem for us.

Yet, I suppose – I fully expect things to get even messier:

1. I suppose this is part of their trend of breaking out all sorts of core AOSP functionality into standalone, separately manageable (and upgradeable) apps, but it’s annoying. I wish they hadn’t broken GTalk. ↩︎

2. Yeah, my friends chat a lot. Thank goodness for disabling alerts. ↩︎