Jabber VS Everyone!!

And why Jabber is especially good at combatting Enshittification!


FIGHT THE MACHIIINE!

In the main article, I focused on why I believe Jabber to be the best chat system we can use, and I specifically was sure to not point out the dismerits of big tech and other IM systems, since people can be rubbed the wrong way when tearing down something, and I didn't want to make a bad first impression. (fuck SMS though, nobody should be using that)
This article is not going to do that, this article is going to be very opinionated (though, I believe my opinions are based on facts and good logic), it's going to call out a few IM services directly, and it is going to focus on the intersection between tech and the larger image. Please note that this article should be thought of as a bonus reading to the main article. You do not need to read this article if you don't want to, the main article is all you need.

Jabber is a real solution to the so-called dying internet, and I am going to explain why.

Please note!! The main article is required pre-reading material! Please do not read this page if you haven't read that one yet!

Jabber vs Big Tech

So, how does Jabber save the IM space of the Internet? Let's first talk about big tech's offerings. Jabber, although the network effect is not as strong compared to the likes of Discord, WhatsApp, SnapChat, and others, it's a much needed escape from the endless slop farms of Big Tech's internet. Jabber represents the real Internet that Big Tech has tricked you into forgetting!

On top of being an excellent chat solution, it is free of the many distractions of something like Discord. No AI integrations, no popups or e-begging for you to buy Nitro, no monetization of features, it's all free of that. Jabber is not an astro-turfed shopping mall, like the others are.

You give the keys to your heart to Discord when you don't use Jabber. Frens, especially in today's very socially isolated world, are a hard thing to come by, and good friendships are harder still. Your friends are a part of you, and they are important to you; there's very few pains in this world that can hurt as much as losing a friend. It really can be the most heartbreaking thing, especially if it happens outside of your control. Think about the time you lost a friend through no fault of your own. Do you really want to let your connection to your friends be mandated by an extremely antisocial company run by those who would sell your body and soul, god forbid your connection to other people, for a few pennies more? Friendship is not a thing in twisted minds of the people who run Discord; you're normal, you love and value your friends, don't let Discord own them. Because you can run your own Jabber server or use any number of publicly available ones, you'll never lose contact with your friends just because a shareholder didn't like that you were talking to your fellow human.

Free Software, Free Society. Although it seems strange, liberating your communication is an important step to the individual's part of a free society. For the longest time, our communication with each other was limited but ours; it was hard to restrict speech irl, and talking to people in your home meant very high privacy. Now with the Internet, we have a new communication tool with new challenges but also new freedoms! It's important to keep this tool in our hands, not in the hands of a company with a few square kilometers in California. When we own our communication, we own our connections with each other.

Spam is a unique problem on Big Tech's internet. There is a myriad of methods IM platforms try to use to curtail spam, but since you can run your own server in Jabber, you can do what I do and have a family server that doesn't speak with other servers, pretty much cutting the spam to 0!

All big tech platforms cannot be trusted with your private messages. Thanks to Jabber having OMEMO encryption, you can keep your messages safe!

Jabber is a Free standard of 25+ years, and most of the software that uses Jabber is Free Software. More importantly, the software that many Jabber users and server operators use is NOT created by the same org in charge of the standards and standards process. (this is important later) It cannot be bought, censored, enshittified, and it will never die. Pretty much all big tech platforms come and go, but if you don't want to worry about switching from platform to platform (like how Windows Live Messenger died to Skype, then Skype died for Discord, and Discord to something else in the future), use Jabber!

But Greatsword! Jabber is not the only Free offering out there, what about $(OTHER_FREE_PLATFORM)

Yep, that's true! There are others like Signal, Matrix, IRC, Jami, Tox, Delta Chat etc. I'll explain why I think Jabber is better than all of them, but I will concede that using any of these is infinitely better than the likes of Discord. If you cannot or do not want to use Jabber, please consider these other services!

Jabber VS Signal (and centralized services in general)

Signal is a very well-known option, and it is quite secure, but it falls short. The fundamental problem is that it is a centralized service. It can be bought, censored, and enshittified, and you cannot do anything about it! Furthermore, although Signal's end to end encryption is very nice (nice enough to be ported to Jabber in the form of OMEMO), encryption is a moot point when all the ends in end-to-end encryption is controlled by one party. It takes only one update to Signal's server to go "hey! you must now accept this update to the Signal client that will leak all of your messages to all governments and all corporations on Earth, and if you don't, you're banned forever!" Signal being centralized is reason enough to avoid it!

There are, of course, plenty of reasons not to use Signal specific to them, such as I) requiring a phone number to use, II) requiring one to use Android or iOS to register, III) including proprietary Google libraries, thereby making the client proprietary software, IV) that one time they forgot to tell anyone about what they were doing with their server software for a year, V) grossly misrepresenting federated platforms and progress of Internet technology in general, and doubling down on that position even when people point them out for their foolishness, VI) that one time they tried to push cryptocurrency into their client, VII) disliking Signal clients that are not their own, VIII) ignoring features that would improve the experience of people using alternative android distros (for years!!!), IX) being a US org, X) using AWS, a service owned by a very powerful and morally bankrupt man situated in a very powerful and morally bankrupt country, XI) publicly doubling down on said use of AWS instead of just quietly accepting it as a necessary evil for a service of their size, XII) going out of service more than a few times in recent memory, XIII) not being profitable while also operating a service that costs around 50 million of dollars yearly, XIV) being wrong on the Internet, XV) destroying your battery for the sin of not wanting to be tracked by Google, and XVI) being Apple-tier in terms of insisting that their way is the right way and everyone else is wrong!!! And these are just off the top of my head!

Jabber VS Matrix (and bloated protocols)

Yes, that Matrix! Although, on the surface, Matrix seems like a good option, having many of the advantages Jabber has like federation, end to end encryption, and the ability to run your own server... oh wait, never mind on that one... The problem with Matrix is that it is BLOATED! Not bloated in the sense that it has some fun features that offends computer dorks such as myself, but in the sense that people don't want to run it because its too damn expensive.

This part might get a bit technical, but I'll do my best to explain: you see, Matrix's killer-app feature is that its chatrooms are truly decentralized. In Jabber land, all servers are able to act as chatroom hosts, but the chatroom lives on that one host, so if it dies, the whole chatroom dies. Matrix is immune to this because it uses a Directed Acyclic Graph model that distributes the room to all participating servers. With a DAG model, the amount of nodes in the graph will increase its complexity (and therefore compute power to participate in it), and all servers must come to consensus. It's a nice system, but I think it is really suited for specific tasks, and that Jabber's system, although less robust, is perfectly suitable!

The problem with Matrix's distributed rooms is that it makes participating in a chat room significantly more expensive. In order to maintain the current room state (who is admin, who is here, who is banned, who is named what, what the room settings are, etc), one has to calculate the room state! Yes, you heard me, you have to do significant computational work just to join a chatroom on Matrix! For each event in the graph that is the room, the room becomes more and more complex to process, until eventually the room's state is so massive that it takes too much time to calculate it all and the server becomes stuck in an endless loop. In fact, Matrix Synapse has a setting that lets you limit the complexity of a room that your users are allowed to join, just to prevent this issue! If the solution to the problem of rooms that can die because one host goes down is to make it so expensive that many people simply cannot join using their servers, then I want my problem back! This issue alone is reason enough to not use Matrix; any protocol that is so expensive that it can severely limit who runs it is just not going to be a good and healthy ecosystem of servers, which means that power is consolidated into the hands of a few wealthy server owners. Really, the only metric a server operator should be concerned with is raw bandwidth, and everyone knows this.

But, this is all assuming that the state computation is accurate! To this day, no server has ever federated with a different server (as in, different programs) and had zero issues with calculating room state. This can have massive problems, such as admins not being admins when they should be, or straight up still being in rooms even though you seem to have been banned from the room! (both of these things have personally happened to me!) Room's can straight up get bricked!! Matrix themselves realized that this decentralized system is so bad that they created linear Matrix, a fork of Matrix that has no such decentralization and makes one server the singular source of truth. If a phrase like "singular source of truth" makes you think of servers fighting to say who is admin and who is not, that is exactly what happens, even on servers not trying to be evil! The simple fact is that if the protocol is so complex that only a large company can implement it properly, its just not a good protocol. Remember! Every other chat platform in the world operates without performing literal blockchain-like calculations to join chatrooms. Matrix is the only one with this problem, and it is a self-inflicted one in an ill-guided attempt to be different for the sake of it! I would try to bring up some aspect of Jabber that 'counters' the point, but in fact, literally all chat platforms counter this problem! It's that bad, and I cannot stress it enough!!

But of course, there are more problems with Matrix. There are some fundamental issues with the technical design (like the fact that it is long-polling HTTP instead of bare bidirectional TCP like Jabber), but I think the two other big problems is the monolithic design and monolithic ecosystem: currently, the only truly viable server is Matrix Synapse, which is developed by the Element company, a for-profit not shy of making certain features proprietary. (see Synapse Pro) That same company is the vendor for most managed deployements of Synapse (called Element Matrix Services or EMS), and is also in charge of hosting the largest public server, matrix.org. Finally, this Element company also has strong ties to the matrixdotorg foundation, the owners of the spec. Simply put, Element has far too much power in the Matrix ecosystem! They own the main server, the main instance of that server, the standard that server speaks, the main client people use to talk to that server, and the business customers of that server.

Compare that to Jabber's ecosystem, let me walk you through the major parties: there is the XMPP Standards Foundation, who owns the spec of Jabber... Well, actually, they own the many extensions of Jabber that makes it into a useful thing, the IETF owns the core XMPP spec. There are two major Jabber server programs, Ejabberd and Prosody, the former being developed by the for-profit ProcessOne, and the latter being developed by a team of volunteers. Among clients, there is Gajim, Conversations, Dino, Monal, Movim, ConverseJS, etc, all of which are being developed by different people and teams. Mr. Gultsch, the developer of Conversations, said it best when he pointed out that he cannot really push any breaking changes without first going over it with about two different server developer teams and two different client developer teams. There is no one party that controls them all!

The other monolithic side of Matrix, the Room Versions. In Jabber land, servers and clients advertise support for features, and try to act accordingly. If that fails, many features have some kind of fallback that makes it workable for clients that don't have that feature. For this reason, I can connect to a Prosody-hosted chatroom with a client called Pidgin, a client that has pre-dated the inception of Prosody by a few years! Pidgin does not support all the features, but it can still participate! Matrix Room Versions on the other hand are not like this at all; Matrix will make the spec for a room version (basically think of it as the rules of engagement for that blockchain system mentioned earlier), and it is a distinct version. If you do not support that version, you are completely out and barred from joining, so you get situations where some servers lag behind and simply cannot participate because they have room v11 instead of room v12 (yes, they have made 11+ room versions!!!) This, once again, consolidates power in the hands of the few. So far, only Element is the one who can keep Synapse up to date with the newest room versions (and remember, they are also the ones who are heavily tied with the people who creates those room versions in the first place!) A smaller problem but still an important one to mention: Matrix tends to lack fallbacks for a lot of features, so even if you have an up to date server, there are clients out there with so much missing information and context that it makes them basically unusable, where even the most basic textmode Jabber clients are able to participate in chatrooms and get 99% of the incoming stuff. Try using jabber.el in a public chatroom!

There is a lot of bad stuff with Matrix, pointed out by people who can explain into greater depth the problem, but these are the issues that irk me the most as a server operator. I firmly believe that running your own server is the way to go, so I naturally dislike protocols that are A) too expensive! B) too consolidated! and C) too flakey! Jabber is none of those things, and a lot better in many ways, so you should use it!

Jabber vs Jami (and Peer2Peer stuffs like Tox, Briar, etc.)

This is probably the strongest opponent to Jabber, but it is only strong in certain conditions. If you don't want to have to trust any server operator at all, not even yourself, then there is simply no way around it with Jabber; Jabber was designed with servers in mind, and while it technically has the building blocks to have a serverless setup, most people do not use Jabber in this way. However, the biggest issue with peer2peer is that one must keep their device running at all times in order for it to work; there are some ways to make it a bit better, but they are all patchwork solutions to the simple problem of not having a server. For this reason, unless you highly value or require serverless setups, Peer2Peer is just not the way to go.

Jabber vs Delta Chat (and custom protocols in general)

Delta Chat is a newer messaging system developed by a team of volunteers, and although it currently only has one server implemetation, ChatMail and two client implementations, Delta Chat and ArcaneChat, it is quite a good offering. ChatMail is cheap to run, its federated, it has end to end encryption, its extendable, and it has a lot of nice things going for it. The main issue is that Delta Chat is basically its own thing! It may use SMTP as a transport layer, but you are intended to use ChatMail servers to talk to other ChatMail servers. For this reason, Delta Chat is pretty much the only player in its standard, so its not really a standard at all. I strongly believe that, unless there are serious fundamental issues with Jabber that you simply cannot deal with (which, I don't think there is), you should really try to join along with the Jabber standard! You get to automatically have an ecosystem of clients and servers, while being able to contribute your own!

Jabber vs IRC

There are some people out there who like IRC, but I don't really consider it viable, mainly because it lacks federation (technically it has it, but it is not standardized at all, and nobody tries to make it federated). Another issue is that it really doesn't have many features at all, and while it is technically possible to build some crazy things upon it (like having a 3D virtual space using IRC as the transport), its like building a house with popsicle sticks. You can technically do anything with a protocol that is effectively just slightly more advanced text, but it is nice to have the tools that make a complete IM experience already available and created! The fact that accounts and channel ownership is effectively just a chatbot (because the concept of accounts don't really exist in IRC) should tell you all that you need to know. Besides! Jabber has a very good Jabber->IRC gateway called Biboumi! And if you really like your IRC client, you can use Jabber through BitlBee.

Epilogue

As one reads this article, it can feel so tiring, the fact that we have to discern not just between proprietary and free offerings, but the fact that we have to choose the right free offering, it can be very overwhelming. But, change is a hard thing for many people, and a lot of the time, you have one chance or you blow it! For this reason, it may be tempting to just go with one even if you know its not the best one, but please try your hardest to make the right choice the first choice!

Good luck my friend, thank you so much for reading what I had to say, and always remember to never kill yourself.

Convinced?! Try one of the Jabber clients mentioned on this page! Then, use this website to find a server to register with! If your friend has a server, ask them for an account! You can also look at XMPP.org for more info about Jabber and you can take a look at their own page on how to get started!

site is (ALWAYS) under construction :]

you should totally look at my policy on AI


marquee is fun

🍗