.. title: Introduction to Jabber/XMPP
.. slug: jabber-intro
.. date: 2017-08-03 16:28:28 UTC+10:00
.. tags:
.. category:
.. link:
.. description:
.. type: text
This is an introduction to using the Jabber/XMPP system for
chat or IM, aimed at novice users. This guide should be readable
without any advanced computing knowledge.
You are possibly already using a proprietary version of Jabber (the
Gtalk, Facebook Chat and WhatsApp programs use XMPP internally) -
using "open" Jabber is similar to using these programs.
Quick Start
-----------
1. Sign up for a free account at `jabber.org `_
or one of the alternatives listed below.
2. Install a client (i.e. app) for your computer/phone/tablet/etc. Some of the popular ones:
Windows and Linux PCs
`Pidgin `_ is a popular cross-platform client that supports many other chat protocols.
Mac OSX PCs
Apple ichat (may be already installed) or `Adium `_ (based on Pidgin)
Android Devices
`Xabber `_; many others available.
Apple IOS Devices
`ChatSecure `_; unlike most other IOS Jabber apps, it is free and open source.
3. Run the application from step 2 and when prompted, give it the details to the account you created in step 1.
4. Add people you know to your account.
Getting an Account
------------------
Free Accounts
You can get a Jabber/XMPP account for free from many online services. A full list is available from `xmpp.net `_
Many apps also allow you to create a new account from the app.
Paid/Hosted Accounts
Many providers provide hosted XMPP accounts, often along with other paid
servers or services. For example, Dreamhost provides Jabber hosting as
a complimentary service along with their standard web and Unix server
hosting services.
My Hosted Accounts
If you know me and ask very nicely, I can usually make you an
account on most of the sites I run (including this one, if
you really want a someonenotdylan@dylanleigh.net username).
Other Jabber Applications and Plugins
-------------------------------------
Just like web browsers and servers (which use the HTTP protocol),
there are a wide variety of clients/apps which use the XMPP protocol.
If you don't like the ones mentioned in the quick start above,
`xmpp.org has a list of clients `_ for various systems.
Encrypted Chat
--------------
Jabber supports client to client encryption (so the server cannot read
your messages - unlike most commercial chat systems).
Most good Jabber clients will enable this form of encryption by default. Editing
the encryption settings is probably beyond the scope of a beginner.
Frequently Asked Questions
--------------------------
Why use Jabber instead of WhatsApp/Facebook/Imessage/etc?
Most importantly, Jabber/XMPP is an open protocol - unlike a closed
or proprietary network, it isn't tied to a single company or app. Just
as you can call or text from one phone to another even if they are
different models, the same is true for any two Jabber
applications.
Anpther reason is security and privacy. Most of the proprietary
networks listen in on your chat
sessions, and collect all your contact details and sell them to their
advertising partners. This occurs even if they claim to offer
"encryption", because they only encrypt the data between you and their
server, not between you and the person you talk to.
By using a chat client which you control, combined with client-side
encryption, you can prevent anyone (even the server) from reading your
conversation, and you can keep your contact details (and those of your
friends) private.
What is WhatsApp's relationship to XMPP?
The WhatsApp protocol is a slightly modified bersion of XMPP; it
is deliberately modified so that it can only be used with the WhatsApp
program available from the company of the same name.
WhatsApp "harvests" all your contact details, all your friends contact
details (like their phone numbers and addresses) and listens in on
your chat and analyses it for marketing/advertising purposes. WhatsApp
also has an extremely poor security record, allowing chat encryption
to be easily broken.
XMPP can support all the features that WhatsApp does, without the
spying and poor security. Not all XMPP clients support all features,
but the popular ones will support photo sharing, VoiP etc.
What is Facebook and Google's relationship to XMPP?
Facebook Chat and Gtalk internally use the Jabber protocol. Unlike
WhatsApp, these companies used to allow reguular XMPP clients to connect to
their chat service, so you could use any Jabber program to chat with
someone on Facebook or Gtalk.
Since I originally wrote this guide (early 2013; now mid 2017) this
seems to be no longer the case; you can only connect to Facebook
with their proprietary client.
Why is it called Jabber and XMPP? Which is correct?
The name Jabber was initially used during development; the formal
name of the protocol after it was standardised is "Extensible
Messsaging and Presence Protocol" (XMPP). By that time, there were
already open-source and commercial products with the name "Jabber", so
both are used regularly.