The XMPP network is a growing and vibrant network thanks to a great software ecosystem
and widespread adoption, and it offers many opportunities for users to connect and
communicate over the network. However, one of the biggest roadblocks to adoption is a
lack of awareness and what's called the "network effect".
Low awareness means people generally do not know what XMPP is, and they may even
already be using it and still not know. They may not know what programs they can use to
connect to it or what servers are available. The network effect means that people need
other contacts on a network in order to use it, and so on an unfamiliar network like
XMPP they may feel alone and that nobody else is using it.
Some people I know have already started using Conversations on Android at my
insistence, so I decided to write this article to help them better understand XMPP's
limitless potential and give practical tips on how to use it to connect with friends.
The Network Effect
Companies like Facebook and Google prey on the aforementioned weaknesses surrounding a
network like XMPP, because by contrast instead of uncertainty about what programs to
use and what sites to connect to, they make it simple and obvious: Download Facebook,
connect to facebook.com. Instead of making you feel alone on their network, they make
you feel that everybody is on it, that you have to be on it to connect with others.
This double-whammy is enough to stop the majority of people from even considering XMPP
as an alternative. However, XMPP still has some tricks up its sleeve:
For one thing, while the network effect seems to work against XMPP and in favor of
giant monoliths, it can also be their undoing. That is because these behemoths are
greedy and close their networks. Facebook is limited to just Facebook, WhatsApp to
WhastApp, and Instagram to Instagram. (These three services are even owned by the same
company and users on these apps still can't communicate with one another, though
Facebook is more than happy to stalk you across all three.) Instead, if you use XMPP
with Conversations, or on a venerable server like kwiecien.us, you are absolutely
not limited to messaging only other Conversations users or only other users on
kwiecien.us. In this way, being an open and Internet-wide network trumps whatever
Facebook et al. have to offer.
Therefore, one thing to keep in mind is that switching to XMPP at first seems as
inconvenient as switching to any other new service. The mentality that closed networks
have created is that of, "I can't move to X service unless everyone else is moving with
me." If you're using MySpace, you can't start using Facebook unless you take all your
friends with you, or you have to stop using it because all your friends started using
Facebook and are taking you with them. However, once you're on the XMPP network, you're
no longer slavishly dragged around or forcing others to be; if you are happy using
Conversations or happy with your account on conversations.im, and your friend wants to
try a new app or server, they're certainly free to do that and they won't lose you as a
contact. Nobody has to gather on a single server or follow others around, and nobody
has to use the same app. This, of course, feels very liberating once you see it in
Going back to the age-old analogy, it's easy to understand how this works when you
consider e-mail. When you want to write someone an e-mail, you simply need their
address and you're good to go. You don't ask them what app they're using to check their
e-mail, nor do you need to sign up for an account on their server. (To imagine
something so absurd.) If someone were to come along now and attempt to make e-mail work
that way, they'd simply be ignored, just as today's closed platforms will soon be
Ways to Connect
If you've read up to this point you already got the basic idea that you needn't expect
anything from your contacts except that they give you a valid XMPP address to reach
them at. Ideally, it should be enough to tell someone, "Message me at firstname.lastname@example.org",
but unfortunately we haven't gotten to that point yet because people don't know how.
Here are some suggestions that can probably work for most people:
Conversations and Derivatives
Conversations has really been a game-changer for the viability of more widespread
adoption of XMPP. It provides an unparalleled experience on Android, and you're
probably already using it yourself. In the past, people used to focus more on using
desktop computer applications, but now mobile is king.
As you may already know, Conversations is easy to find on Google Play and is free of
charge on F-Droid, the "app store" of liberty. (F-Droid is not pirated software, but
rather it is made for open source.)
Once someone installs Conversations, they are offered to create a free trial account on
conversations.im, a server run by Conversations' creator as a paid service. I don't
discourage anyone from using it (it's not expensive), but many free servers are available. You might
consider the popular server dismail.de among others, and there
Due to being open source, Conversations has a number of derivatives, and you might run
across people using those instead. Some of them you might even suggest to friends if
you think they'll find them easier than Conversations:
Quicksy is Conversations' twin that you probably didn't know about. It comes from the
original author of Conversations as well, but it's configured to work with a special
server, quicksy.im. But why?
Some people might find setting up Conversations to be a bit of a hassle. If you don't
already have an XMPP account, finding a server and creating a login may seem like much
effort. Conversations is a breeze to install if you already have an ID, sure, and it
even offers to help you make one, but nowadays people are used to things like Telegram
and WhatsApp where you enter your phone number as your login and it just works.
That's what Quicksy does; you provide your phone number and it automatically logs you
in as something like +email@example.com and then you can start messaging anyone.
As an added service, it can do as WhatsApp does and scan your phone's address book to
see if anyone else you know is using Quicksy.
Unlike conversation.im, the quicksy.im server is free to use, and Quicksy is also
costless on Google Play. This is all geared towards making it as easy as possible to
get someone online. If you personally do not use Quicksy, you can pay a one-time fee of
around 5 euros to add your phone number to Quicksy's directory, associated with your
non-Quicksy ID so that any contacts who install Quicksy will automatically find you if
your phone number is in their address book. (This is mainly to help Conversations and
Quicksy users connect.)
The obvious downside to using Quicksy is that in exchange for the convenience that it
offers, you are required to reveal your phone number to the service and other people
you chat with. This is how WhatsApp and even the privacy-oriented Signal work, so
naturally some people are comfortable with that, but others will definitely prefer not
to use their number as their ID.
Snikket is another notable Conversations clone whose site can be found
here. The goal of this project seems to be to create a product
that is free and easy to use. From what I can tell, they are trying to lead a
community-based effort for admins to create their own private Snikket servers which
others can join by invite only. It seems to me that this is not much different from any
private XMPP server used with Conversations, and that they simply want to provide the
full solution in a neat package to assist deployment.
Though I am not too familiar with Snikket, it is a brand new project and appears to be
well-made. It is very well possible, that we'll be hearing more about it in the future.
Pixel-Art and Others
While I definitely recommend the original Conversations and also hold alternatives like
Quicksy and Snikket in high regard, there are even more apps out there based on
Conversations that you might run across. Pixel-Art Messenger is perhaps the most famous
of them, and it is as far as I can tell just a customized version of Conversations,
probably with some UI and behavior tweaks that might suit some users better. I have not
tried it and would probably prefer Conversations, but it is free on Google Play and
appears to be actively maintained.
What I consider to be one of the most interesting projects,
movim.eu is a web-based application that labels itself as a
"kickass social network", and if you were to log in you'd get the impression that what
you're looking at is a social networking site like Facebook or Twitter. Surpringly,
however, it is little more than an XMPP client that also supports something called
"pubsub", which is a little-used capability of XMPP servers (most clients, including
Conversations do not support this) to post status updates, public (for anyone) or
private (for contacts only), that others can subscribe to and see in their news feed.
In other words, you have a timeline you can post to and others can like, share, and
comment, very much like Twitter and Facebook. It also allows you to create
"communities" within Movim, which is something like a Facebook page.
What makes Movim so intriguing is that you don't even have to sign up for an account on
movim.eu, but rather you can use your existing XMPP ID from any other server and it
will work just the same. That means that unlike Facebook and Twitter, you control
your account and data. However, be aware that if you use the app on one of their three
instances (nl.movim.eu, de.movim.eu, or
jp.mov.im) you are temporarily revealing your account's password
to them and are trusting them to handle your data. Because Movim is free software, an
alternative to trusting movim.eu as you would any other XMPP server is to simply create
your own Movim server.
Movim offers a beautiful and easy to use interface that opens in your browser, which I
consider to be its main strength. Just like any other XMPP client, from within Movim
you can chat with any XMPP ID, so for example you can have a friend sign up on movim.eu
and then chat with them using Conversations. Also available are mobile versions that
interface conveniently to the web app.
There is one huge drawback, however, and that is while Movim supports many features, it
does not support full end-to-end encryption, which Conversations uses by default. As a
result, messages you send between Conversations and Movim cannot be encrypted with
OMEMO or PGP, and as such you are excluded from encrypted chats and otherwise required
to trust your servers not to invade your privacy by reading your messages, which they
may do. However, if you trust the servers involved, rest assured that your messages are
being stored and transmitted safely according to protocol.
I personally am very impressed with what Movim has accomplished so far, and if you are
OK with the absence of end-to-end encryption, I strongly prefer it to social networks
like Facebook and Twitter. Although it may lack all the capabilities of corporate
social networks, it is a pleasure to use and promotes free software and network
It is also said that Movim is a nice solution for schools and businesses, which leads
me to think that the ideal scenario is to deploy your own private instance of it rather
than using an open public server, but having tried movim.eu it seems to me to perform
well enough, and for now the service is not overloaded with too many users. (That may
change if it gains in popularity.)
If you're looking to get friends to join you on XMPP and they don't want to bother with
installing a mobile app, this web-based service might be exactly what you're looking
Apps on Other Platforms
There's no denying that currently the best way to go for XMPP is Android by far. To be
frank, the alternatives are just not as good, but be that as it may some people do not
have Android or don't want to use it. On mobile, it's necessary to have something for
iPhone, and some people still prefer the desktop. Here's a short list of software I
recommend, though they are not quite as easy to set up as the other software mentioned
in this article:
Most users prefer Monal, some prefer Siskin. Another well known application is
ChatSecure. These should work almost as well as Conversations on Android, but they
probably do not support Conversations-style private group chats that are end-to-end
encrypted, or do not support them well (yet). Your mileage may vary.
As far as I know, your only good choice with Windows is Gajim.
It's actually a very good client, but UI-wise it's not quite as slick as the more
"modern" apps. Gajim has been around for a while, so the plus side is that it should be
very well matured and fully functional.
Linux users are almost as spoiled as Android users because the Linux desktop has an
excellent app called Dino which is almost equal to Conversations. Just make sure that
you are using the latest version possible, as some systems provide only outdated
versions of Dino which have some major flaws that have since been corrected in the
development version. Fedora's Dino package is reasonabely well up to date, and the most
recent development versions are conveniently packaged for all major distros thanks to
openSUSE's Open Build Service (OBS) and its repos. (Dino packages are found
For those who prefer a text-based client, which I'm sure many users of Unix-like
systems do, Profanity is an excellent client as well, especially if you're used to
something like Irssi or WeeChat.