XMPP (Jabber): Surprisingly Better Than It Used To Be
tl;dr version: Jabber (now known as XMPP) is way better than it used to be. It's super simple to set up an account, set up a decent modern Android or Linux client, and do text, voice and video(!!!) chat, and send files, and even do desktop remoting. And even host your own server if you like. So I'm back on the service: add me as adamw AT happyassassin DOT net (self-hosting FTW!) if you like.
So if you're anything like me, you may have used/tried Jabber for a bit back in the day, found it a bit over-complicated or awkward or buggy, not really had much use for it, and then stopped thinking about it for a long time.
Well, I was on vacation and wanted to meet up with Bochecha. The proprietary-but-popular-and-easy messaging service of choice with my friends is WhatsApp, so I was mostly using that for messaging to avoid paying SMS fees. Turns out, though, there's no WhatsApp for the Palm(!) phone bochecha runs. Stymied!
Look, I said, we're geeks, we can figure this out, and fairly quickly realized, hey, Jabber...er...sorry...it's called XMPP now...would be the geeky way to do it. So we did. bochecha sent me his ID, which is on the talkr.im server. I found none of my old accounts still worked, so I thought hey, I'll use what he's using.
First Modern Day XMPP surprise: modern Jabber providers are good! At least, talkr.im is pretty no-nonsense. (I think they're the same people who write ejabberd). You go to their perfectly decent site, enter a user ID and a password, and in about ten seconds you have an account. Well, that was painless.
Ah, but that's only half the battle, I thought. Now I have to fight with my XMPP client. Surely that'll suck as much as I remember.
Second Modern Day XMPP Surprise: they stopped making the setup so damn unnecessarily complex!
A bit of Googling suggested that Xabber is a nice open source Android client, and guess what, it actually is. I installed that, told it my ID and password and nothing else, and it actually successfully connected to the server. On the first try. I nearly fell off the bus.
Pushing my luck to its limits, I added bochecha's account to my contact list, and wrote a message to him. And sent it. And he sent one back to me. And it worked!
So...yeah, XMPP is still this incredibly open-ended protocol with all sorts of neat capabilities and features and extensions and whatknot, but you can also just use it to 'text' someone with about as simple a setup as is possible without tying your account to your phone number, and it all actually works and doesn't fall over or break in weird ways. Offline message delivery works. Typing notification works. Statuses work. This is surely not news to anyone who stuck with things, but when you last tried this stuff in like 2002 or something, it comes as a welcome and novel experience.
So this evening I decided to push my luck yet further, with continuing amazingly positive results.
I set myself up an XMPP server. In about ten minutes. It worked, second try (after I figured out there was some permissions problem with the TLS key, but that's pretty small beer). yum install prosody
, poke at the config file for three minutes, set up port forwarding and firewalls for ports 5222 and 5269, and...it worked. I can send messages from my talkr account to my newly-created account right here at happyassassin.net.
I can also, and I really did nearly fall out of my freaking chair when this worked first time, sign into the talkr.im account on my laptop and the happyassassin.net account on my desktop and do a video chat between them. Using Empathy. And it worked, first time. And the sound worked. And it didn't fall over mysteriously half way through, or fail when I tried again. I imagine you can run into codec issues trying to talk to people using non-Linux-y clients, but holy moley, just working right out of the box between Fedora 19 and Fedora 20 is a hell of a lot better than I remember just about all my historic video calling attempts being. (It doesn't seem to work in F18, for me; something crashes as soon as you try to initiate or answer a voice/video call). There doesn't appear to be a stable Android client with support for the video/voice stuff (which is called Jingle) yet, but apparently the Android port of Jitsi which is currently available as unstable, unsupported nightlies can do it; I'll try that in a bit.
So yeah. If you're like me and you haven't tried XMPP for a long time you might want to give it another shot. It is actually kind of awesome now. Two minutes creating an account and adding it to empathy and you can video chat (and, of course, audio chat and plain old boring normal chat) with anyone else who spends two minutes doing the same thing. If you're a personal server nerd like me you can also set up your own federated server in like ten minutes, but there's not much reason to unless you think all public servers might be evil or you just want to have your Jabber ID match your personally-hosted email ID. Which is pretty damn cool. Mine does, now: I'm adamw AT happyassassin DOT net for XMPP as well as email. ;) Next stop, SIP?
edit: just tested, and you can also do remote desktop and file sharing. And, again, they both work. It's like the future!
Comments