I'm sad to see XMPP missing from this list. I wonder if the author was simply unaware of it or simply ignored it.
IMO XMPP is technically superior to Matrix. It "only" needs a cross-platform high-quality, branded app àla Element. There's underlying protocol support for all the features: video/audio calls, group calls, threads and reactions. Maybe missing are custom emoji (I think?) and channel grouping (which is still in the works). And of course all these protocol features work fine with federation.
XMPP's biggest failure is that there is no client which is on advanced on most of it's compliance suites. So if someone uses Windows for example, they're pretty much locked to "Well, you can chat, but no video/voice calls for you". I really hope this changes because XMPP does look interesting.
But Gajim doesn't support the defacto standard calls extension. And now even the support for the older extension has been removed. Dino is a better experience, for the limited feature set that it supports (which does include calls and group calls).
Same here, I was hoping to see it listed in the article. XMPP is close to being right there in being able to compete with Discord. It just needs a good client with Spaces support (XEP-0503), along side user roles with permissions, and server side voice channels.
The protocol is amazing and selfhostable servers (I use prosody) are great. But The only client I enjoy is conversations, and that’s mobile while my main usage is always desktop. There are decent clients, but none I’d say are great.
The problem with XMPP is that it's a suite of RFCs.
It's like describing DNS, which is a conglomerate of RFCs so complex that it's unlikely to be implemented correctly and completely.
XMPP is a design fail in that regard, because if you have to tell your chat contacts to download a different client that fulfills OMEMO or XEP-whatever specs, then yeah, ain't gonna happen for most people.
(I am still a proponent of XMPP, but the working groups need to get their shit together to unify protocol support across clients)
This has been brought up on HN before, and people smarter than me identified that this view is about 10 years out of date.
Yes it's a bunch of XEPs, but there are standardized "sets" apparently that include all of the things any other similar tools do. It sounds like only very niche old/minimal XMPP clients don't support encryption by default for example, and virtually all servers have supported it for many years.
Is there a recommended or "blessed" server and client combo for someone who just wants to migrate their friends off discord?
The main site https://xmpp.org/software/ lists lots of different options but I have no idea what core/advanced means and comparing all of these would take ages.
>Is there a recommended or "blessed" server and client
Not sure about servers, but for clients there's Gajim, Dino, and Conversations. Not much else is super relevant these days. Profanity exists but is significantly worse than irssi or weechat despite looking superficially similar. Kaidan is a KDE/Qt alternative to Gajim but I'm not sure if it's usable yet. It may be worth switching when it's fleshed out to escape the bugs and slowness of the GTK-based clients.
If you stick with mobile use, there is Snikket[0], which provides a branded server+mobile app ecosystem that should "just work". YMMV; I haven't tried it myself.
The targeted audience of this website is, for now, developers. Communicating is hard.
https://joinjabber.org/ is/was an attempt at something more user-focused. It is not linked to the XMPP Software Foundation. BTW, joining the XSF and participating in discussion around protocol evolution, communication strategy and these sort of things is free, and only requires asking for write permission on the XSF wiki to add an application page. Everything happens in the open (mailing lists, chat rooms). We value democratic processes.
Monocles chat is best one for Android, it is the most complete chatting app for todays standards, unlike Conversations it has swipe to reply, last seen, emoji reactions etc. The only issue is making account there, need to use other homeserver like @conversations.im if you don't want to pay for their @monocles.eu .
For IOS the only option is Monal.
For web I find conversejs better than mov.im as movim doesn't encrypt sent pictures in chat at all, and encryption of text messages is sometimes broken depending on how you set it up in settings of account and in chat, as it needs to be activated on both places, so conversejs is better, but less enjoyable UI than movim
The ironic part is that those software description files are meaningless. AstraChat claims Advanced in all categories, but it's a proprietary commercial software, so nobody ran any kind of test suite to verify this.
That software list, how it's done and how it's ranked is literally confirming my initial point of critique :D
Last time I tried out several chat clients, most of them were alpha software, had lots of bugs appearing in normal conversation flows, well, or were so broken that they broke compatibility in subminor version updates to their very same client apps.
I just wish there was some kind of ACID test suite for XMPP or something else to reproducibly validate spec compliance. Maybe a test server or similar as a reference implementation. This way client or server maintainers would have to run their programs against the official test server to increase their compliance stats.
> I just wish there was some kind of ACID test suite for XMPP or something else to reproducibly validate spec compliance. Maybe a test server or similar as a reference implementation. This way client or server maintainers would have to run their programs against the official test server to increase their compliance stats.
This is exactly what the Compliance Suits are for, and the XMPP Software Fundation is taking care of telling all the clients what they misses directly on the official website, for example: https://xmpp.org/software/movim/
There is the XMPP Compliance Tester[0] by the author of Conversations. It does a good job at testing servers. On the client side I'm not aware of any kind of benchmark.
Because the declaration file of the clients says that it is actually compatible with everything in this section.
You can't run scripts on all the XEPs declared, some of them are purely redaction or bound to specific UI/UX behaviors. This is based on trust that the developers actually implemented things as stated.
Not being able to automate something is not the same as not being able to verify at all. It sounds like the parent commenter is arguing that at least some of the clients listed are not worthy of this trust because (either intentionally or due to developer error) they don't actually hold up to scrutiny. Obviously they're just one person and their opinion might not be representative but it's hard to argue that if some random user is expected to have enough time to try out various clients and figure out which ones work or don't that the official people in charge of making the recommendations of clients should probably be able to find the time to as well even if it's just a volunteer that they, well, you know...trust.
Hasn't social media like HN, Reddit, fediverse, etc. become the real clearinghouse of information about those sorts of questions? I can see how it would be nice for xmpp.org to be an authoritative source of truth, but user response/consensus seems more relevant these days, at least to me.
Conversations is a great Android client (also brings their own backend instance if you don't want to host your own), I don't know about iOS or server though.
This is what I mean by "it needs a good client". It needs a single implementation that works consistently across platforms and has the features and UX people care about. The groundwork is there, and is better than Matrix. It's a matter of writing software to implement the useful subset of the specs.
There is not a single good XMPP client for macOS or iOS either. There are a couple of minimally functional ones that are aesthetically dreadful, but nothing that would come even close to replicating what people would expect even from Signal or WhatsApp, let alone a monster like Discord. Certainly nothing that I could ask friends or family to use.
I tried XMPP recently and was surprised to see just how barren it was. The tech might be good but if nobody is using it after all these years, what's the point?
It is used in a non-federated context as the underlying in a lot of places (NATO, Zoom, british Military, Grindr, Jisti…). Federated usage is mostly private chats that don't really want to advertise that they do use it. It is sad because public groups also just work, but I know clients are missing a few features that would improve usability/UX. Some people are working on that, cf https://movim.eu/ for instance.
Isn't this the sort of moment that pushes users off of Discord into alternatives? Maybe pragmatic/opportunistic users should establish new channels or servers and advertise them when the shoe drops on Discord.
To be an alternative it had to be an alternative. Not "we had a great community with image uploads, voice chats, client parity across all platforms, miltiple servers set up in one click, songle login, game integrations etc., so now we move to this broken disjointed landscape of inconsistently implemented features"
Most users don't need every single one of those features. It reminds me of the conversations about lemmy and the fediverse after the reddit api uproar. The alternative link aggregators didn't need to do everything well, just the core things well enough to build a community that sustains engagement and becomes discoverable. But it failed at the major pieces: performance, scalability, media handling, moderation, governance, and federation. In contrast, I would argue xmpp covers a strong subset of commonly used discord features well enough to provide the chat/social component to many existing communities.
Most users only need 20 percent or so of your features, but among a large enough group of users they all want a different 20 percent so it kinda adds up. Or so the old saying goes.
I think this will be a pretty similar case because discord straddles "small personal servers with ten friends" and "large official servers with 500 users for a particular game" and "tech support forum for an open source project", and one user might be in all of those servers pretty easily.
The fediverse is a mess that only works well about half the time (roughly). The other half federation breaks, moderation becomes impossible, moderators become intolerable but accounts are impossible to migrate.
> Perhaps these constant restrictions will finally spur us to create our own spaces again Our own little groups that exist independent of the corpo-sphere.
The normies already did this. They just did it on centralized platforms like Discord. Until their backs get broken we're not getting anywhere. (Although I may be being a little too cynical.)
Hm, I'm not actually sure that this is better than Sonnet 4. It doesn't seem to actually perform any better? I'd like to know what other people think of the newer Sonnet.
reply