Hacker News new | ask | show | jobs
by ajconway 1524 days ago
Yet Matrix is gaining traction while XMPP is not. Maybe the key was to have funding, build and run a reference server and quickly iterate with a reference client for all major platforms.
4 comments

> Yet Matrix is gaining traction while XMPP is not.

I'm curious what you base this on. Without a doubt Matrix is gaining traction. It's a relatively newer project, has some new ideas, and there is a lot of buzz around it. But it has far to go before reaching XMPP's levels of achievement - millions of XMPP-connected users via Google Talk, and popular products such as WhatsApp and Zoom built on top of it. That many of these aren't, or are no longer, interested in interoperability or federation is not a protocol problem, and I don't see Matrix solving that.

XMPP continues to be widely used by individuals, organizations and governments who want more control over their communication. Across the XMPP projects and services I'm involved in, I continue to see plenty of new users and developers joining the community.

The reference client/server is definitely a pattern I agree with you on, however. It has served Matrix well, and others too. I've been a proponent of this approach for some time, and detailed my thoughts in the "Products vs Protocols" talk/post at https://snikket.org/blog/products-vs-protocols/

>But it has far to go before reaching XMPP's levels of achievement - millions of XMPP-connected users via Google Talk, and popular products such as WhatsApp and Zoom built on top of it. That many of these aren't, or are no longer, interested in interoperability or federation is not a protocol problem, and I don't see Matrix solving that.

But these aren't the protocol's achievements either. These people have so much money they could make IRC popular.

So when does a communication protocol achieve something?
One big goal of XMPP was federated messaging (compare to email), and I'm not really seeing it. At best I'm seeing companies building on top of it, resulting in something hardly resembling the open version. Companies are benefitting from XMPP's freedom to build their own platforms, but that freedom isn't being passed onto end users in the vast majority of cases. Because XMPP, with its amorphous nature, doesn't stand up well enough as a product on its own.

XMPP has succeeded in its other stated goals of being highly extensible and useful for derivative work, but I think that's in spite of the protocol. There are just a lot of solid implementations out there, like ejabberd (which afaik WhatsApp originally started on, and I worked with it in a startup).

> One big goal of XMPP was federated messaging (compare to email), and I'm not really seeing it. At best I'm seeing companies building on top of it, resulting in something hardly resembling the open version. Companies are benefitting from XMPP's freedom to build their own platforms, but that freedom isn't being passed onto end users in the vast majority of cases. Because XMPP, with its amorphous nature, doesn't stand up well enough as a product on its own.

XMPP is a protocol, not a product, so it's not surprising that it doesn't stand up as a product on its own. If someone can come up with a compelling federated messaging product, it's likely that they would base the technical part on XMPP, because virtually all of the protocol work is done, and it's much more elegant and easier to build upon than something like Matrix.

But that's not a protocol problem. The reasons why we still don't have good open federated messaging have absolutely nothing to do with the protocol used for that messaging. They're probably quite similar to the reasons why federation in email has regressed over the last 40 years, from personal/company mail servers back to massive centralisation in the likes of Gmail, despite the protocol remaining exactly the same.

> XMPP is a protocol, not a product, so it's not surprising that it doesn't stand up as a product on its own.

It does have an intended use case, and more opinionation could have improved its chances of achieving that.

> federation in email has regressed over the last 40 years, from personal/company mail servers back to massive centralisation in the likes of Gmail, despite the protocol remaining exactly the same

Protocol not changing is a problem. Email is so outdated nowadays that you're way better off using Gmail for its added security, especially within a company so everything stays within Gmail. IIRC email has changed a bit, but the new security features haven't been uniformly adopted like with HTTPS, so it's too much of a mixed bag.

WhatsApp has traction, discord is gaining it. Matrix isn’t really anywhere.
After trying Matrix as a Discord replacement with a couple of different clients it was pretty terrible. My Discord usage is fairly simple but I run a community for non-technical people. Matrix UX was pretty shit between confusing clients and just the overall clumsiness. I would have loved to introduce a whole community to it but instead I went back to Discord instead.
I hardly spend any time using it, but when I do, I find discord's UI to be complex and confusing.
I run a server for a non-tech community with roughly 300 members ranging in age from 20 to 65. Some of them are extremely non-technical, to the point that they say “hey Siri turn on flashlight” instead of finding the button on their phone. Every single one was able to figure out Discord in a matter of minutes and use it daily with zero complaints. I would say that’s a customer success story right there.
> Every single one was able to figure out Discord in a matter of minutes and use it daily with zero complaints.

My parents and their friends couldn't figure out Discord after 2 weeks of honestly trying to use it. Biggest sources of confusion seemed to be DMs vs servers, username vs username+number vs nickname, and the sheer amount of stuff onscreen. They reverted to iMessage.

The main server I'm on is for after hours gaming with coworkers at a company I contract with. I can certainly find my way to a room and chat. But I can't use my actual name, though requested to do so, because it's too common (names don't have to be unique in discord, for some reason there can only be so many of each. Silly limitation.). And I'm not categorized in the same way as my coworkers in the user list. And then some rooms seem to be for text and others for watching one person broadcast video. The experience is just kind of all around disjointed feeling. Perhaps curation and community style has a lot to do with that though.
It certainly sound like a server that could be managed a little better.
> Yet Matrix is gaining traction while XMPP is not

Considering the way in which Matrix spreads unencrypted metadata (even rooms and participants in the rooms, let alone chat events) as far as possible across the network, this traction is quite insidious.

How much worse than XMPP is Matrix in this regard? On XMPP your and your interlocutor's server can see who you talk to
Not a lot better, but in public MUCs your JID is hidden to everyone except the server the MUC is hosted on. Also MUCs can be configured to only send a limited amount of history to new participants.

For this reason I'm somewhat uncomfortable joining Matrix rooms over bridges, since it leaks my XMPP address and participation to everyone forever.

Maybe the key is network effect and enough marketing to bootstrap it?
It doesn't look like Matrix has reached the point where there is any significant network effect. What I'm saying is that they are building a product, and the protocol is just one component of that product.
The key to interoperability is agreeing on standards. XMPP being about creating a proper Internet Standard and not a product is what made me choose XMPP over Matrix (also simplicity).
Not losing messages is pretty key too. But yeah, given enough marketing you can pull anything off. WhatsApp basically doesn't support multi device to this day and is more popular than either (free) XMPP or Matrix could ever hope to be. There's a web version but it only works if your phone is connected. So I guess the phone acts as a server then? Does that mean they found it easier to set it up like that than to make xmpp (which WhatsApp is said to be based on) reliable with multiple devices?
That is not true anymore. The latest version of WhatsApp Web can be used without your phone connected. Not sure if it is rolled out globally for everyone yet, as it was fairly recent for me (couple days now).
WhatsApp first penetrated countries where people's primary computing devices are phones, and they maybe don't even own PCs. It's not surprising that it became super popular despite its lack of multi-device support (at least until recently). Wasn't just marketing.
XMPP working on multiple devices is a problem long solved. Not losing messaging is a solved problem too. I can schedule you a demo if you wish.
It is not a long solved problem if it takes a demo to prove. If it were long solved it'd be self evident. This argument wouldn't exist to begin with.

A demo is worthless if experience doesn't prove it in the long run. And I have the latter, and it doesn't prove. Yes, I know it's probably me, or more likely my friends doing something wrong. One of them restricted Conversations from running in the background for example, non-techies do all sorts of silly stuff. But then again, it shouldn't break with non-techies either. Nothing breaks with them aside from XMPP. Not even WhatsApp which is based on XMPP afaik

While being "techy" I too restrict Conversations from running in background. Moreover, it's annoying and dangerous to keep XMPP running (reconnecting, giving out your metadata) while roaming over different networks, so I'm killing it myself. But, aside from tremendously, ridiculously bad UI concept, I find Conversations to be one of the most reliable OMEMO-enables jabber clients for Android.
What metadata do you believe it is giving out?.. And how it could possibly even be comparable to what an android espionage device gives out by itself in the first place