Hacker News new | ask | show | jobs
by ajacksified 3564 days ago
sigh

As parent said, XMPP covers all of these cases with plugins. The FAQ you link says, over and over again, "the base setup doesn't cover these features, but plugins do," and doesn't explain away writing improved plugins or XMPP spec extensions. All I see is "buttt it'ss haaaaarrdddd".

> Rather than fighting over which open interoperable communication standard works the best, we should just collaborate and bridge everything together.

Absolutely dripping with irony.

2 comments

The XEP which allows all clients that a user has open to actually receive messages has not even been accepted yet. Last Call was supposed to finish on 2015-08-28 - 11 years after the advent of XMPP - and the document hasn't been updated since. Many clients don't support it, including Pidgin, and at least the Prosody.IM server needs a "community module" to enable support for it.

XMPP is a pretty terrible user experience, tbh, and its developer experience isn't a whole lot better.

shrug

Matrix actually has a good point about the spec extensions though: if your spec is that minimal, nobody is going to be able to agree on what feature set to support. As a Schemer, I can attest to that.

>Absolutely dripping with irony.

As is your comment. Matrix made a different set of design tradeoffs, and is a legitimate protocol in its own right. And yet every time it pops up on HN, people complain about how we should all just use XMPP.

Screw that. XMPP isn't perfect, and there is room for a chat protocol that solves these problems in a different way.

> Matrix actually has a good point about the spec extensions though: if your spec is that minimal, nobody is going to be able to agree on what feature set to support.

If that were true, nobody would agree on which Matrix features to support either. What difference would it make if Matrix just-so-happened to be defined as "XMPP, plus the following extensions..."?

> As a Schemer, I can attest to that.

It's one thing to say "the Scheme spec is too minimal; I'm going to make Racket a hard dependency", it's quite another to say "the Scheme spec is too minimal; I'm going to invent my own Python derivative"

Actually, that's pretty much what Racket did: Racket isn't a superset of Scheme, any more than Clojure is a superset of Common Lisp.

>If that were true, nobody would agree on which Matrix features to support either. What difference would it make if Matrix just-so-happened to be defined as "XMPP, plus the following extensions..."?

because some of Matrix's design decisions are fundamentally different from those of XMPP. also, the reason why everybody agrees about Matrix features is that they have no choice: there's a far larger base standard than there is for XMPP.