Getting started with XMPP

NOTE: This guide may look long and tedious just because of how much scroll length there is, but that's just because I took a screenshot of just about every little movement you'd make while signing up as well as adding friends and joining/making rooms to make the process crystal clear and to prevent confusion. This guide should take you less than 10 minutes to follow along.

So you want to start using XMPP eh? Well let me show you the basics.

What is this and why should I care?

Sign up with a client

There are many clients to choose from, but here I will show you the set up process with Gajim, a user friendly client that is cross platform, meaning you can use this on Windows, Mac and Linux. When you first start Gajim, you should be greeted with a screen like this.

welcome

As you can see, it's very straight forward. So click Sign Up and you will then be greeted with this.

You can either type a server you want or click the arrow next to the text box and choose one from that list. If you choose one from the list, do NOT use creep.im. It makes you solve a captcha just to talk to other people, so use literally any other provider. In this example, I'm going to go with trashserver.net as my provider.

server

So I put that in the text box and click Sign Up at the bottom right.

You are now greeted with this account creation screen. Once again, still very straight forward. Put in the username you want, then put in the password you want and don't tell ANYBODY your password. Lastly, solve the text captcha and then hit Sign Up at the bottom right. (thank goodness it's a simple text based captcha and not a google one)

success

And just like that, you've made an XMPP account! Now that wasn't so hard was it? People talk about XMPP like it's some "hardcore" messenger that takes a lot to get into, but in reality it's almost as easy as making an email. Now that you have an account on an actually good messenger, all that's left to do now is use it. There is a lot you can do from here, but I'm just going to show you the basics you'd expect such as joining rooms and adding friends.

Go ahead and click Connect in the bottom right corner to get started.

xmpp

Your roster window should now say Available at the bottom indicating that you're logged in, online, and ready to chat. Before we begin chatting with real people, let's have a look at this generated message from trashserver.net to see if it's important. Double click on trashserver.net to open the chat box with their message. (If you chose a different provider and got a message from them, do the same thing for them.)

xmpp

It just tells you where to find info and ask questions. Fair enough. Now let's close this window and go back to the roster.

xmpp

Alright. Let's start by adding people. Click on Accounts at the top of the menu bar, then click Add Contact... to add someone.

xmpp

Now put in your friend's XMPP address. The format is USERNAME@PROVIDER. For example, my homie samplemonkey2 also made an account on trashserver.net. So I'd put samplemonkey2@trashserver.net into the XMPP Address text box. In the nickname text box, I can give him whatever nickname I want, but for the sake of consistency I'll just put samplemonkey2 in. This last part is optional but I can put my friend in a group. This could be useful if you want to seperate irl friends from fake internet friends or something. You can also change the greeting and decide whether or not your friend should be allowed to see your status, such as when you're online or not.

xmpp

Once you're done with that, go ahead and click Add.

xmpp

The friend request has now been sent to him. That question mark next to the grey icon indicates it hasn't been accepted yet. Now let's go see if samplemonkey2 got the request.

xmpp

He did! Now he just needs to double click your name...

xmpp

And then he accepts your friend request.

xmpp

But we're not done just yet. Now he needs to put in your info and hit Add.

xmpp

Now his request is pending and samplemonkey needs to accept samplemonkey2's request.

xmpp

xmpp

xmpp

And there you have it! Now samplemonkey and samplemonkey2 are friends. I do find it a bit weird that samplemonkey2 had to send a friend request right back to samplemonkey for samplemonkey to accept rather than them just both becoming friends as soon as samplemonkey2 accepted samplemonkey's initial request, but that's fine. Now let's talk to him and make sure everything is working.

xmpp

xmpp

xmpp

xmpp

And just like that, you can talk with friends on XMPP. Now let's see about making and joining rooms.

xmpp

Click on Gajim and then Create Group Chat.

xmpp

Now type the name and description you want for your group chat. If you don't want your group to be public and have only people who know the address to be able to join, leave it unticked (circle to the left of the slider). If you want it public where anyone can join and have your group appear on xmpp room search engines, tick it (circle to the right of the slider).

xmpp

Lastly, you'll want to put in the address you want. Leave whatever is to the right of the @ the same, but you can have whatever you want to the left of the @.

xmpp

Now go ahead and click Create.

xmpp

Now you have your own chat room for people to join and talk in.

xmpp

Let's invite samplemonkey2 over. Right click his name, click Invite to, and click the name of your room.

xmpp

Now you should get a message in the group chat saying samplemonkey2 has been invited.

xmpp

Now samplemonkey2 needs to accept the invite by double clicking your name...

xmpp

And then clicking Join.

xmpp

Now samplemonkey2 is in the room and can chat.

xmpp

Now let's try joining a group chat out there. Click Gajim and then click Start / Join Chat....

xmpp

Let's try joining digdeeper's room. Type in the address and click Join Group Chat.

xmpp

Now click Join.

xmpp

Now you're in.

xmpp

That about wraps up this guide. There is still more you can learn, such as OMEMO/OpenPGP encryption and self hosting, but now you know the basics. I hope you enjoyed this guide.

Search public rooms