News for hackers. Stuff that matters.
Re:Jabber.org, the original XMPP IM service has migrated to ... by ilyt on Thursday January 19, 2023 @09:14AM (#34440466)
> Seems like the fragmentation of extensions kind of broke the client/server ecosystem

It did. It was bigger and bigger mess, which feature in which client was supported by what server. I still remember how spotty basic stuff (nowadays) like "send file to someone" was.

And then corporations happened. There was a brief beautiful period of time where you could just put up your XMPP server and chat both with Google and Facebook users directly, but companies figured out closing down their gardens is more profitable and it was no longer the case

> but for some reason recent open messaging alternatives seem to decide to develop new protocols rather than build on top of XMPP.

Coz it is a fucking mess of XEPs spottily implemented between clients and servers, and not always that user friendly.

If you can control server, protocol and client you can just implement stuff. You don't need to make a spec, hope other people's client implement it, start using it in your server, and hope everyone else agrees on it too. And you can just deprecate stuff that turned out to not work well, or just need to be done differently.

Frankly, XEPs shouldn't exist. There should be just XMPP 1.0, 2.0, 3.0 etc. with maybe optional "XMPP voice comms", "XMPP video comms" pack of features (for those cases where full voice/video chat is not relevant).

You either implement all or are noncompliant, no more "well, you send a message but target client doesn't support this XEP, they get garbage"

Re:Jabber.org, the original XMPP IM service has migrated to ... by MattJ100 on Thursday January 19, 2023 @10:09AM (#34441099)
Breaking the existing deployed network every time a new feature is added is unfortunately not a solution for an open ecosystem. While there are obviously limits to how far backwards compatibility should go, it doesn't make sense to deny users basic messaging just because their app doesn't implement calls for example. That would just cause a different set of frustrations.

I wrote a bit about this dichotomy in this blog post a couple of years ago: https://snikket.org/blog/products-vs-protocols/

Re:Jabber.org, the original XMPP IM service has migrated to ... by ilyt on Friday January 20, 2023 @07:24PM (#34462272)
> Breaking the existing deployed network every time a new feature is added is unfortunately not a solution for an open ecosystem.

I didn't say it but yes, the support for old version for some time would need to be a thing. But it should be defined (say "3 years for last minor release of every version") so it can be planned for

> While there are obviously limits to how far backwards compatibility should go, it doesn't make sense to deny users basic messaging just because their app doesn't implement calls for example. That would just cause a different set of frustrations.

As you clearly didn't bother to read before you answered, here is what I mentioned in comment you didn't bother to read before answering

> with maybe optional "XMPP voice comms", "XMPP video comms" pack of features (for those cases where full voice/video chat is not relevant).

I don't argue for single version, but to very small subset of featuresets instead of sea of XEPs

Re:Jabber.org, the original XMPP IM service has migrated to ... by Communitivity on Thursday January 19, 2023 @05:29PM (#34446587)
XMPP, to my knowledge, pioneered the concept of a micro-kernel standard with feature extensions and profiles to indicate standard sets of extension support. It was, and is, a great idea for many standards. Unfortunately, a number of servers and clients ignored the profiles and so things went the way they did. XEPs were a great idea, in my opinion.
Re:Jabber.org, the original XMPP IM service has migrated to ... by ilyt on Friday January 20, 2023 @07:30PM (#34462334)
I don't think so. Having a bunch of experimental extensions that then can be tested in the wild and rolled to next version of "the standard" would be better flow IMO. Current flow just added a ton of fragmentation to the ecosystem

So you don't need feature matrix, you see "client supports XMPP 4.0", you know what will work and what will not.

I do like Rust development process - stuff gets added to experimental, lives and gets tried by actual users, gets feedback, gets changed and then lands in stable. So stuff looking good on paper but... not being good ends up quickly weeded out.