- modern chat solution with features people have come to expect from Slack and Discord
- many bridges that have kept me from having to use more than one chat client for multiple protocols (think pidgin)
- lots of great communities are on matrix
- pretty good voice chat
- open source
- selfhosted
Those are my main reasons why I like Matrix. My question to you would be: what do you like about XMPP?
- plenty of fast native clients
- server resource usage
- simplicity of the protocol, especially the encryption
And God help you making all of them talk to each other properly...
only simple for developers though - due to the lack of Cross Signing it is very difficult to keep communication secure.
Without it, e.g. if you log into a new session, you have to verify with all your contacts before you can safely use that session for communication
XMPP gained bad publicity as overcomplicated XML based protocol which was abandoned by Google in favour of their proprietary solution somethere in 2011. Till then it had been worshipped as one of the best open standard ever developed.
Source: I use XMPP and Matrix daily.
Something with Gajim's features but using Qt would be pretty great potentially. GTK stuff also often has this horrible thing where it fades the window when unfocused, which gets really awful and unresponsive when things get laggy, also ruins screenshots. Never figured out how to turn it off. Part of the theme apparently, but GNOME also doesn't want you customizing/changing your theme. I'm just using Adwaita-dark usually.
Matrix clients aren't great either, but overall Nheko gives me less trouble and pain than Gajim, using both daily. irssi (IRC client) is kind of my gold standard for stability/performance/features with weechat being mostly okay too.
I was there when they had the famous video-voice branch.
Heck, I just checked: https://developer.pidgin.im/wiki/vvAPI?version=1
It was 15 (!) years ago :-)
iOS story is sad. Family used Snikket (thanks for your work on it) but it still dropped notifications even after following with issues and Prosody modules needed. (Monal seems to be okayish now).
Even Conversations.im seems stuck. I know everyone has their favorite missing feature but for me no reactions is the biggest.
> My question to you would be: what do you like about XMPP?
Same things & more:
- modern chat solution with features people have com to expect from WhatsApp
- many bridges that have kept me from having to use more than one chat client for multiple protocols (think pidgin)
- many great messengers have discovered XMPP as a great base for their system
- lots of great communities are on XMPP
- realistic participant counts in public chat rooms - no counting dead (former) members
- pretty good video & voice chat
- open source
- selfhosting possible
- fewer concerns about data protection and privacy
- more resource efficient (less memory required, lower CPU utilization)
And:
- The use is possible and allowed everywhere where e-mail is in use.
- simple encryption support. should be able to set it up with a couple clicks and don't have to worry about it
- seamless synchronization between devices
- quick push notifications that don't require me to have something cluttering up my notification bar forever
these are just some of the points I could think about at the top of my head. the majority of clients have one or a couple of them, but there's no client to my knowledge which has all of them.
I have yet to find one that doesn't have awkward push notifications. like come on, do you really think I want an ugly notification turned on at all times watching for messages?
edit: formatting
Conversations has great support for OpenKeychain on Android, and I'd love to see that come to competing protocol Deltachat but the devs are focusing on cross-platform behaviors atm. Android-specific fork Deltalabs might be willing to be upstream for it if anyone knows where to start with that.
XMPP is the only system that can and may(!) be used wherever email is in use.
XMPP is just as "modern" as Matrix, but has a _different _ data storage/distribution idea.
Comparison: https://www.freie-messenger.de/en/systemvergleich/xmpp-matri...
https://news.ycombinator.com/item?id=8998290
> XMPP is great for what it was designed for. It doesn't work well with mobile, high packet loss & high latency connections. XMPP is talkative and bandwidth intensive - bad for limited data/battery applications. It also wasn't designed for today's 1 person multiple devices reality. Most XMPP servers let you log in multiple times but messages don't sync between clients and sometimes get delivered to the client the user isnt currently in front of.
> Also, sending files over XMPP has pretty much always sucked - there are a bunch of incompatible ways to do it and it's always been hit and miss depending on which client your chat partner was using, network topography, etc.
Also, overload of XEPs doesn't help the ecosystem. Too many optional extensions hinders interop. People expect more features in modern chat experiences than what XMPP was designed for, and that's what XEPs have tried to fix as a bandaid, with mixed results.
On top of that, the technology choices are par of the course for the time it was designed, and nowadays there are arguably better things. Devs are naturally driven to choose tech that makes their work nicer, if they enjoy it, so that means more stuff gets done for the newer platform, in this case. As an example, coincidentally, another HN post today was touching on one of those points - the need for a very advanced XML parser, as a typical one apparently wouldn't be enough:
This is an absolutely false, baseless statement, mostly amounting to FUD. Messages work well on mobile, and they sync between devices just fine.
> Also, overload of XEPs doesn't help the ecosystem.
On the contrary, XEPs create the ecosystem. As I often say, Matrix is not a protocol, it's a product with an API created by a single organization.
Matrix has a more defined set of important features, so you could expect that conforming clients all implement them uniformly, without surprises.
I imagine there must be some good clients for XMPP. Hell, I use one good client (Conversations on Android) on a daily basis. Also have used Gajim quite a bit. It is alright afaict.
It's not even possible there, because you have conflicting proposals while on Matrix you have a coherent specification
That said, I can't claim XMPP clients are any better.
Classic Element should support every specced feature in Matrix tho, and tonnes of MSCs, so unsure what features you’d be missing. Meanwhile Element X is less featureful, but way more performant and stable (we’re aiming for better-than-telegram UX and perf).
Of course you are already familiar with https://matrix.org/ecosystem/clients/element/. I know it is pretty ticky to point out that "Multi Account" is not supported, but it happened to be a feature I was particularly looking for in my search. My IRC client, for instance, lets me be logged into multiple servers with different accounts at the same time. Yes, I know that a single account on one server can communicate across all federated servers. The same is true for email, yet my email client allows me to use multiple accounts. I'm heartened to see that you have included the feature on your checklist. I hope that means somebody is thinking about it.
I know that Element should allow me to paste into the composer. I was told exactly that in the matrix room when I asked. "Works for me" is as frustrating a response as ever. I've seen the issue reported a number of times by different people with pretty decent detail, but I haven't seen a solution. Just "works for me" responses.
I'm still a Matrix user. I just accept that I don't have everything smoothed out the way I'd like. My post above was just a response to the claim that XMPP clients don't have uniform features. Well, as you know, neither do Matrix clients. But you weren't the one making that argument.
Don't take my posts as negative criticism, even if there is some criticism there. Keep up the great work. Keep getting better.
Oh thank god - my (admittedly not-brand-new) phone doesn't have quite enough RAM to keep Element fed and happy. 300 meg doesn't sound like much till all apps are limited to the ~2GB left over after the OS takes it's cut.
Element supports stickers though, and I haven't found any other Android clients that support stickers while also being lighter.
Kudos though - Matrix has come a long, long way since I first played around with riot.im!
It requires the clipboard API. Puzzling decision, given that native pasting worked before, but here we are.
I’m not sure if XMPP works like that, but I always thought it was more like email: send a message, maybe retry a bit, but that’s about it. Not sure how transient things like presence, read receipts, and typing notifications work either, across servers.
Matrix does not work this way.
No.
XMPP is just as "modern" as Matrix, but has a _different _ data storage/distribution idea.
XMPP has had little place on the public stage, but that doesn't mean it stopped evolving.
if and for how long will be decided by the person who is running the server the chat room was created on
I also prefer XMPP.
Speaking as a user of both element generally and Cheogram/JMP.chat.
I still use both.
With the new protocol-level performance MSCs coming around the corner, Matrix is becoming ever more appealing for all sorts of applications.
And I'm looking forward to integrations (Slack, Signal, ...) being more user-friendly, and easier to install, configure and maintain, so I can message others, too.