Hacker News new | ask | show | jobs
by edhelas 2337 days ago
> These extensions could include:

    delivery receipts => XEP-0184: Message Delivery Receipts
    optional read receipts => same as above
    user presence information => XMPP RFC
    binary serialization for efficiency and extensibility => XEP-0231: Bits of Binary
    end-to-end encryption => XEP-0373: OpenPGP for XMPP, XEP-0384: OMEMO Encryption, XEP-0378: OTR Discovery
    WebRTC signalling for negotiating VOIP and video chat => XEP-0343: Signaling WebRTC datachannels in Jingle
    signed introduction tokens to reduce spam => ?
    a standard extension mechanism => https://xmpp.org/extensions/
Can we just stop prettending that XMPP is not ready and/or outdated, all those things are there, used and implemented in more clients than Matrix has.

Doing decentralized social media, on XMPP, is possible. Take XEP-0060: Publish-Subscribe, add Atom 1.0 (yes it's the power of XML, you can put a standard in another) and boom you have a social network with feeds, comments, subscriptions and everything, fully ready.

I'm doing that for years with Movim https://movim.eu/. The several major XMPP servers are handling that perfectly as well. How many Matrix servers are out there ? One, that is still in beta (Synapse).

XMPP is standard (IETF wise), is already massively deployed, is used by universities, governments, companies…, is exensible, is stable and is maintained by a big and motivated community.

Don't reinvent the wheel once more, just implement the standards.

3 comments

> How many Matrix servers are out there ? One, that is still in beta (Synapse). Worth noting that Matrix as a protocol and Synapse as a server implementation left beta in June 2019 (https://matrix.org/blog/2019/06/11/introducing-matrix-1-0-an...). Matrix is deployed by governments and civic institutions the world over including emergency services. It is literally trusted in life or death situations.

While Synapse is the most mature server implementation there are others under active development listed here - https://matrix.org/docs/projects/try-matrix-now.

Thanks Neil. It's difficult to find alternative servers on that page so I will help by linking to The Construct which is the only other federating server. Though it is not yet stable, it is the only functioning third-party server and has more progress than your own reference implementation's rewrite!

Check out https://github.com/matrix-construct/construct and join us at #admins:matrix.org

For XMPP to compete with Matrix there should maybe be a website that defines something like "XMPP Profile 2020" as an exact set of extensions that are required to be considered. Then list only clients and servers that fully meet all of that profile, and compare only the capabilities in the profile with competing protocols like Matrix. Without something like this evaluating XMPP as a user is tiresome, and it comes across as outdated, inferior and messy.

To compete with things like Slack, the website should be even simpler: A single choice of client / server that are known to work together perfectly, a big download button to an all-in-one installer that requires little configuration out of the box, and nice big screenshots of all the included features.

Same for IRC.

How do you handle push notifications with XMPP?

> How many Matrix servers are out there

On a side note, that's not fair. Every project has to start somewhere and it might be difficult to gain traction. It doesn't mean that it has no chance of evolving into the greatest thing possible in its market, dwarfing once popular competition, simply because it didn't come first.

> How do you handle push notifications with XMPP?

XEP 0357, implemented in servers ( https://modules.prosody.im/mod_cloud_notify.html for prosody, for example), and implemented by clients ( https://github.com/siacs/Conversations/issues/1171, for conversations for example).

Conversations also uses XEP 0198 and XEP 0352 for battery optimization: https://conversations.im/#optimizations

That feature is "not recommend for production".