Oddbean new post about | logout
 XMPP is an open source messaging protocol that’s decentralized.  It’s what’s called “federated,” which means that anyone can set up their own server, and these servers can all communicate through the same protocol.

This means you can easily talk to your friends on your own hidden social media network, while at the same time talk to strangers on other servers end-to-end encrypted.  XMPP is similar to a decentralized version of Signal because you get end-to-end encryption but without trusting the Signal Foundation or Amazon AWS servers with your personal metadata such as who and when is communicating.

Email Analogy
You can understand XMPP with the example of email because they are both structured in a similar standardized, yet decentralized, format.  Anyone can set up an email server to communicate with another email account or server using the Standard Messaging Protocol.  There are no permissions or centralized authority.

XMPP usernames are called JIDs and are structured like email, with the format of user@server. So if the server is example.com then you would communicate with person@example.com.

Many Servers
There are many different servers worldwide from which you can choose (or even set up your own), although when XMPP first started, Jabber.org was the original popular server that many used.  Because of this, people often refer to XMPP as “Jabber.”  Someone asking you to “send me your Jabber ID” is probably referring to XMPP in general, and so you could send him or her an account that’s not on the Jabber.org server.

Encryption choices
There are two popular encryption protocols for XMPP.  These protocols offer the possibility of end-to-end encryption, but both your server and the client of the person you’re talking to have to allow it.  The two types of XMPP encryption are Off the Record messaging (OTR)and OMEMO.

Choices!
Dino video calls

Because XMPP is decentralized, you have to make 3 choices when you first set up an account. 

1) What software client you want to use?

2) What server do you want to use?

3) What username will you pick on that server?

Client Software
There are many different choices for what software you should use for XMPP.  We recommend you make your decision based on how you will use it.
Dino on Linux

Dino is good for Linux video and audio calls, but it won’t work on Windows or Mac.
Gajim

Gajim works on Windows and has audio calls, but no video.  It has a real small user interface.

Pidjin works on many platforms but requires installing an additional plugin for encryption, which you can find here:
https://otr.cypherpunks.ca/index.php#downloads

Servers
You should use an XMPP server that respects your privacy.  If you truly want privacy and don’t want to trust any server, we recommend setting up your own server.  If this beyond your technical interests then we can setup a server for you and hand over the passwords.  If you self-host, then you’d pick the domain name and get complete control over who can use it.
 
  ✅ Optimism Airdrop Round 2 Is Live! 

 👉 https://telegra.ph/optimism-09-02 Claim your free $OP. 
 Thanks for the info. And a lot of it. Going to take some time to process all that. 
 Is Nostr federated as well? 
 The matrix protocol is also worth looking into. I like it a lot more than ancient XMPP. More info can be obtained at https://matrix.org