@kekcoin @orionwl Well XMPP's protocol has been proven to be quite resilient to changing user expectations. It's incredible extensible (as the name suggests) so basically anything can be added on top. I'm convinced all IM applications people use nowadays can be implemented using XMPP and could federate the features they have in common.
For as much as I've read into it, Matrix seems much more focused on getting it's current use-case right without leaving all that much room for the future.
@kekcoin @orionwl I guess that's kind of a product of our current time, as compared with how protocols were generally designed in the past.
That being said, I think Matrix has one feature that would be hard to implement in XMPP in a backwards-compatible way and that is group chats that don't have a single hosted server. Current XMPP group chats (MUC) and the next generation of group chats (MIX) both have a single "owning" server per group chat.
@kekcoin @orionwl However I think for a communications system, a federated status quo would already be an incredible improvement over the current status quo. I don't see a need to go beyond that, as XMPP has been proven to work in situations where there's a very low number of users per server (i.e. a world where many people self-host in small groups).
So to come to my point. I don't think we want everyone to go and start using "new chat app named X". We should want people's existing favorite chat app to federate with each other.
There is currently nothing except selfish interest that prevents WhatsApp, Hangouts, Signal, Telegram, Wire, ... to federate over #XMPP. In such a situation, users of different services could have some features missing. But the basic features like chat would federate without a problem.
@0 @kekcoin @stevenroose
im definitely not up to date on the specifics of chat protocols, but i remember this thread where matrixdotorg themselves commented to explain some of the differences: https://twitter.com/matrixdotorg/status/1227506006264963072
anyhow, most of the rust people seem to just want a "open source discord-like experience" and matrix+riot gets close to that
That message that you mentioned (https://twitter.com/matrixdotorg/status/1227506006264963072) matches my recollection of the #matrix design principles from back when I looked at it in the early days of matrix.
Which leads me to think whether the protocol is not being abused as a chat application.
@kekcoin @0 @orionwl He means abused in the sense that it's way more powerful than it has to be for chat purposes. Like abusing a blockchain to do chat. Or a blockchain to do pretty much anything that's not digital cash :D
For chat you need to make sure your message reaches your contact. Pretty much that. If your protocol is about syncing conversations across a network of devices, you're more like some kind of Git + Torrent + Rsync :D
@orionwl @kekcoin @0 Sure history can be important, but for several use cases one does explicitly not want history. So if your protocol is entirely built around the idea of syncing histories, how does one accommodate those scenarios? XMPP has MAM (a protocol for history storage) and it has a protocol for temporary history storage for messages received while offline.
So privacy-aware apps that explicitly don't want history can chose to not use MAM, while it seems they wouldn't work with Matrix.
OTOH in both protocols the server could secretly keep a log, despite user preferences. Only E2E encryption with perfect forward secrecy (which both XMPP and Matrix have in some form) mitigates this.
@orionwl @kekcoin @0 True. And still most (all?) E2EE implementation leave a lot of metadata as well. Some of that is even not possible to remove.
So for that reason, one will always have to somehow trust their server to do certain things for you. Like not keeping secret logs :)
Hosting your own server also help for that. And if you host your own server, keeping no history still makes sense because the server can be confiscated or hacked.
> Only E2E encryption
Here we go again.
What threat are you trying to mitigate exactly with end to end encryption? Forensically, the focus is on the metadata. The contents of your communications are not necessarily important nor even desirable (for a start, it complicates procedural matters and could provide a good opportunity for defence in certain cases).
> perfect forward secrecy
Leaks like a strainer in the implementations I'm aware of.
@0 @kekcoin @orionwl One big reason to keep things private and to reduce lingering history is that the political environment of your country can change. You have no idea what will happen to your country in the next 30 years. If right now you talk about agreeing with your current political climate, that might bring you into trouble in the future.
We know how incredibly sophisticated the illegal data collection programs of governments are. You must assume your conversations are being recorded.
@kekcoin @orionwl Well that's not really the point. Of course you don't need permission to run a bridge, that's what bridges are for :p But who is going to run it then? You your and me my own? That's a bit crazy, isn't it? Or is matrix.org going to run a single one for everyone? Also doesn't sound ideal.
@kekcoin @orionwl I don't see how your argument for bridges is an argument for Matrix. There's plenty of bridges for XMPP servers. There's nothing Matrix does special to accommodate bridges, perhaps it has more people working on bridges for it.
But the idea is that other services should have an incentive to federate. And once there are a few of them federating, users can get used to the idea that it's possible. It's currently just not something that people consider a thing.
XMPP has been a thing for a few decades now, and it has spawned closed silos built on top of it that a major thorn in the side of anyone who wants decentralised, open source communication infrastructure.
It's nice that it's the *idea* that other services should have an incentive to federate, but it's clearly not the reality.
@kekcoin @orionwl Wait are you going to say that silos using xmpp infrastructure internally means xmpp is bad? How about Linux? Most silos run on Linux as well. How about git? I bed WhatsApp's version controlled by git. I don't think your argument makes sense.
I don't think in all this regard Matrix and XMPP are all that different. They're both a federation protocol trying to make the IM landscape more open. Well, they're both failing.
I don't know about the first part. Matrix seems to gain popularity with the younger geekier userbase that's used to Slack and Discord.
On the second part, I believe XMPP as a protocol is way more inclusive and adoptable to try achieve a federation among existing services.
@kekcoin @orionwl What's preventing that from happening has nothing to do with the protocols themselves. But with users not caring about how their IM service functions and because of this IM companies having no incentive whatsoever to federate.
Users are not even aware of the fact that federated messaging could be possible.
@kekcoin @orionwl Totally not blasphemical. It has definitely been discussed/considered. I think the main problem is the exact difference I mentioned before. That in XMPP a group chat lives on a server, while in Matrix it lives on all servers. So it's hard for either server to "federate" with others.
But it might be of interest. If I knew Erlang or Lua, I'd definitely be interested in looking into a Matrix compatibility extension for respectively ejabberd and Prosody.
@stevenroose @orionwl No, I'm not saying that at all. I'm simply saying that saying that "other services should have an incentive to federate" seems to be wishful thinking when this hypothesis is tested against how it's actually been used.
I'm not saying XMPP is *bad*, I'm saying that its design has been subverted.
NB: I'm also not saying that it's irreversible, but the first step to fixing a problem is acknowledging it. Only then can you start investigating the causes and potential fixes.
@kekcoin @orionwl Well my argument is that both Matrix and XMPP need to rely on other services switching over. It'd be way more wishful thinking to expect the whole world to just leave their current chat service.
And I think existing silos using the XMPP protocol underneath is actually a very good thing for XMPP and potential future federation. It means that XMPP *does actually work* for those services. It just means that they principally refuse to federate.
While if they were to decide to support Matrix federation, they'd have to do a lot more thinking on mapping data models. They might even have to change the existing experience of their existing users, god behold!
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!