Friday FOSS fest: Franz, RamBox, Pidgin and more

And lo, it was foretold, punter shall speak unto punter from a single app


Most modern chat systems are entirely proprietary: proprietary clients, talking proprietary protocols to proprietary servers. There's no need for this: there are free open standards for one-to-one and one-to-many comms for precisely this sort of system, and some venerable clients are still a lot more capable than you might remember.

But as it is today, if you need to be on more than one chat system at once, the official way is to install their client app, meaning multiple clients – or at best, multiple tabs open in your web browsers. Most of these "clients" are JavaScript web apps anyway, running inside Electron – an embedded Chromium-based single-site browser. Which is fine, but Chrome is famously memory-hungry.

There is a brute-force way round this: have one app that embeds lots of separate Electron instances in tabs. There are a few of these around – first came RamBox, followed by Franz. Both use the "freemium" model: there's a completely functional free client, plus subscriptions for extra features. If you prefer to avoid such things, both services have no-cost forks: Ferdi from Franz and Hamsket from RamBox. A newer rival still is Station.

They're not perfect but these messaging-aggregators are very handy: you get all your messaging apps in a single client, with a single set of notifications, and they're separate from your browsers. You can configure multiple accounts on each service, which can be tricky in a browser if it stores your credentials. The snags are that the UI inside each tab is totally different, and they are very memory-hungry: each tab takes hundreds of megs of RAM, and if you have a lot of tabs, the parent app can easily snarf a couple of gigs. That's the price of building apps in Javascript.

But there is another way. If you were online in the 1990s, you may recall the early days of online chat, with multiple proprietary "instant messengers": AIM, Yahoo, MSN and so on. Most of them have been shut down now, although the oldest of all, ICQ, was spun off by AOL and is still around. Some of the clients could connect to rival services, leading to decidedly hairy hacks to validate that clients were genuine, such as AOL intentionally exploiting a buffer overflow in its own code. This didn't stop third parties creating their own clients, such as the Linux client GAIM.

Back in 1999, a group came together to create a free open standard for person-to-person messaging: Jabber, later renamed the Extensible Messaging and Presence Protocol or XMPP. For a while, it was widespread, including large corporations such as Facebook and Google, although most have removed support for it now.

The original purpose of GAIM went away, but the app did not. The team added support for other operating systems and protocols and renamed it to Pidgin. It's still very much alive. It runs on Windows as well as Linux, and not only does it work with any XMPP service, such as Cisco's, but also Apple's Bonjour, Google Talk, Groupwise, ICQ, IRC, SIMPLE, and Zephyr.

There are also plugins available for dozens more – Telegram, Facebook Messenger, both personal and business versions of Skype, Discord, Mattermost, QQ, Rocket.chat, Twitter, Slack, Steam, Threema, WeChat, and more. It may not talk to every chat service out there, but it supports most of them.

There is a drawback with multiprotocol clients like this, though, be they tabbed web-apps or true native client-server setups – you need to configure all the protocols you will use in each client. A newer protocol hopes to tackle that problem: Matrix. Matrix can do point-to-point conversations, as XMPP does, but also channels and chatrooms – and more importantly, it can link to other services via server-side bridges. A Matrix client – the reference one is Element – can bring multiple messaging services together into a single inbox in a single local app, connected via a single login.

Matrix can be tricky to configure, though, so some companies are offering paid-for messenger-unification services running on top of the Matrix protocol. Beeper is a commercial effort and includes Apple iMessage via a hilarious workaround, whereas the cheaper Element One is basically a hosted version of Matrix. A new mystery contender is Texts, which is closed-source for now although the company says it will open-source its SDK later.

There never was a golden age of any-to-any chat systems, but fifteen years ago, things were a lot better than they are now. There is reason to hope, though. There are signs that things are getting better. ®


Other stories you might like

Biting the hand that feeds IT © 1998–2021