Jump to content

XMPP

From hillhacks

XMPP, also known as Jabber, is a standard for different messaging services to communicate. Practically speaking, different people can have accounts on different XMPP services and still talk to each other, similar to SMS or email. The difference is that XMPP works over the Internet and supports modern messaging features such as video calls, attachments, and emoji reactions.

We like to use XMPP because it is in line with the hacker spirit. Anyone can run their own XMPP service for experimentation, and we can do fun things like automation and writing our own clients. Further, we have complete control of the data running on our XMPP services, which is not the case for centralised services like Wire and Telegram.

Do I already have XMPP?

[edit]

Since there are many different XMPP powered services, there is a chance you might already be using XMPP without realising it! Here are some signs that the messaging app you use for communicating with hillhacks folks supports XMPP:

  • The app you use looks very different from the app your friend uses, but you are somehow still able to talk to each other
  • The app you use to check messages on your laptop has a different name and icon from the one you use on your phone
  • You see occasional popups about "OMEMO encryption" when messaging a new contact or when an existing contact signs in from a new device
  • The person who helped you initially set up your account was someone called contrapunctus

Some XMPP apps commonly used by hillhacks folks are: Prav, Gajim, Monocles Chat, Quicksy, and Dino.

How to set up XMPP

[edit]

The simple version

[edit]

Being a decentralised and hackable protocol, there are multiple ways to start using XMPP. That said, the quickest way is to install Quicksy, which is available on Android and iOS.

Android users can also install Prav, which is similar to Quicksy but operated from India. Several Prav contributors are also part of the hillhacks community!

The longer version

[edit]

Quicksy and Prav collect your phone number to collect quick onboarding. This is the best option for people who simply want to get started without worrying about technicalities. However, given that this is hillhacks, there's a good chance that you do want to worry about technicalities and are further wondering if giving up your phone number is mandatory (spoiler: it isn't).

The more customised way to set up XMPP consists of three steps:

  1. Choose an XMPP server and create an account. There are many public XMPP providers out there (most of which don't ask for your phone number or any personal details). You can try Durare, some of whose operators are part of hillhacks, read about more server options here, or even try running our own!
  2. Choose an XMPP client and sign in with that account. Again, there are several options depending on what device you use and how you want to access it (care for a command-line client?).
  3. Repeat step 2 for each of your devices. XMPP supports multiple devices out of the box, so you can sign in with your credentials in any device you want. This is helpful to avoid losing messages if one devices stops working or goes missing.

If you want to dive deeper, you can check out JoinJabber, a set of resources dedicated to getting people started with XMPP, or The Quick and Easy Guide to Jabber/XMPP for a detailed single-page blog post.

Join the hillhacks public channel via XMPP

[edit]

If you have your XMPP app set up, simply click here to join the channel.

If that doesn't work, go to the "join channel" option in your client and paste in the following channel ID: hillhacks@groups.durare.org.