Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This post promotes Snikket, a chat app built on top of XMPP. It talks a lot about decentralization and protocol development, but I doubt it will be able to best Matrix in this regard. Matrix has bridges connecting it to other apps like Facebook Messenger.

XMPP, meanwhile, seems to have been shuffling along slowly for 20 years without many users or features that appeal to a mass audience (GIFs, etc). So while Matrix could potentially (or already does) link up with Signal, this app doesn't seem like it could get traction/expand because of the dubious base that it stands on.



> XMPP, meanwhile, seems to have been shuffling along slowly for 20 years without many users or features that appeal to a mass audience (GIFs, etc)

GTalk was based on XMPP and for many years supported federation with XMPP servers, even for a year or more after Google announced it was going to end federation. (IIRC, it supported XMPP almost until the day they pulled the plug entirely, circa 2016-2017.) Because of its integration with GMail[1] and GMail's prevalence, XMPP (both the protocol and the network) was one of the largest, if not the largest, IM network.

Matrix is a nice protocol but at the end of the day it's biggest differentiator with XMPP is using HTTP and JSON for transport. Theoretically that means it should be easier to implement Matrix clients and servers, but in reality AFAICT the XMPP ecosystem is still richer than Matrix. Worse, Matrix deployment still seems far more centralized than XMPP ever was. I'm curious, by show of hands who in this forum runs or has run for any significant amount of time their own federated Matrix server? XMPP server? I ran my own XMPP server for years until GTalk dropped off.

I would love to see Matrix achieve widespread federated deployment. Personally I think XMPP stands a better chance, if only because it came tantalizingly close to critical momentum, joining the ranks of HTTP and SMTP, before Google killed it[2]. But I really couldn't care much one way or another which protocol wins so long as we see a real, federated solution.

I would try running my own Matrix server but I'm still confused whether I need to register my own user ID or my own server with a central Matrix authority (other than DNS), which seems like it defeats the purpose of traditional federation. Running an XMPP server was easy--once DNS records were properly published people could just contact me at my e-mail address.

[1] You could chat with anyone logged into the GMail web interface.

[2] IIRC, the official reason was because of spam, though Google seemed to have had basically solved that by the time they ended federation. The real reason seems to have been that other IM networks, like MSN, abused XMPP GTalk federation in an anti-competitive manner, so Google decided to take its ball and go home. Also, GTalk apparently worked too well--after GTalk was a series of horrible products and services that ending up destroying Google's position in the IM space.


/me raises hand.

I run a personal federated matrix server. It has many .. 'quirks', including an upgrade that screwed up my database and required me to redo it from scratch, and a lot of little ongoing http requests (as it syncs room state and what not) I'm doing it as a test run to see if it would work as an IRC replacement at my day job, but based on my experience, I have not found anything as maintenance free as our IRC server.

FWIW, my current primary use case is running a matrix/sms gateway on my phone so I can forward my SMS to my desktop; the xmpp one I used eons ago was slightly more cumbersome.

Quick edit: there is no central authority to register your personal server. you create a /.well-known/matrix/server endpoint on your primary domain that points at your real matrix server (and/or DNS SRV records) and your good to go.


> my current primary use case is running a matrix/sms gateway on my phone so I can forward my SMS to my desktop; the xmpp one I used eons ago was slightly more cumbersome.

Can you tell me more about this? I'm interested in doing this very thing.


If you're looking for something off-the-shelf, there is https://jmp.chat/ (basically linking a phone number with your XMPP account, works with Snikket).

If you're more into self-hosting, take a look at this route: https://sms4you.xama.nu/


I am using this app: https://f-droid.org/en/packages/eu.droogers.smsmatrix/

You create a login for it, and put your identity into it. When messages come in, it creates a 2-person room with itself and you, and can type your sms responses. MMS's don't work, sadly, but a few people I regularly use it with send .SMIL image attachments that get forwarded.


I've been running a Matrix server for a half a year and I have not run into any problems. The main thing that surprised me was how much database space Synapse took on my server but that was an easy enough issue to deal with. That may also have to do with the fact that I'm in some of the most complex rooms that exist on Matrix.

I tried running a XMPP server for a bit but that was a rather frustrating experience between getting it to integrate well with the rest of my infrastructure, figuring out what configuration was needed and what XEPs were needed, what clients had the features I needed, what clients supported the OSes I used, and spam. To be fair, the reason I thought setting up Synapse was extremely easy may have been because I did it with almost twice as much experience with devops than I had when I tried to setup the XMPP server.

Regarding registering with a central authority, you're probably thinking of identity servers. Identity servers are used to provide 3PID (email/phone number) -> Matrix ID mappings and are completely optional. There have been attempts to decentralize that as well but for one reason or another, no good way to do it has been found. At least the source code of the identity server is open source[1] so there is that.

Otherwise, to set up a Matrix server, you simply have to either set up a json response from "/.well-known/matrix/server" or an SRV record on DNS that points to the Matrix server.

[1]: https://github.com/matrix-org/sydent


> how much database space Synapse took on my server

Yes this is a common problem, and disk/RAM usage is why many hosting cooperatives have dropped matrix support entirely and come back to Jabber/XMPP ecosystem.

I hope lightweight matrix implementations like dendrite can help improve sysadmin experience and lower hardware requirements. Yet it's unclear so far whether a better implementation will solve all problems, given that the whole decentralized chatroom concept necessarily takes more resources than a federated chatroom alla Jabber/IRC.

To be clear, i'm not advocating against decentralized chatrooms. I believe they are very useful for censorship-resilience (which can also be achieved with eg. nomadic identity though not exactly with the same threat model). I just wish decentralized chatrooms weren't the only option so the matrix protocol would be easier to implement and hosting a server wouldn't need gigabytes of RAM for few users.

> figuring out (...) configuration, (...) XEPs (...), clients and spam

It's not that hard to achieve, but information is sparse and hard to discover. That's one of the reasons we have founded recently the joinjabber.org collective to have a platform centered around the UX of end-users and sysadmins of the Jabber/XMPP network. All feedback/critique/contribution is welcome.


> Matrix is a nice protocol but at the end of the day it's biggest differentiator with XMPP is using HTTP and JSON for transport.

I feel like people overstate the benefit of this. You can make easy to implement protocols on top of http, json or whatever, or you can make hard ones. They are tools like any other. They don't magically make things easy in and of themselves, its all in how you use them.


> So while Matrix could potentially (or already does) link up with Signal

Matrix doesn't link up with Signal. The Signal devs have emphasized time and time again that they don’t want any third-party applications talking to their servers. While there does exist some outside software that connects to Signal’s own infrastructure without Signal’s permission (e.g. signal-cli), that is only tolerated because those third-party apps have very few users.


While you’re very correct about Signal’s hostility to third-party clients, there is a decently well-functioning Signal bridge for Matrix (using signald under the hood).

They very well might sabotage that, but it does link up today.


>Matrix has bridges connecting it to other apps like Facebook Messenger.

XMPP is traditionally all about intercommunication with other systems. Here is a XMPP transport for Whatsapp for an example:

* https://git.theta.eu.org/eta/whatsxmpp

Such gateways eventually get banned/blocked by the siloed IM systems. So the XMPP people have over the years tired of the game. The same will happen in the case of Matrix.


> It talks a lot about decentralization and protocol development, but I doubt it will be able to best Matrix in this regard. Matrix has bridges

XMPP has had bridges for more than a decade. That was actually one of the core promises of the XMPP protocol, compared to others (like IRC). Both XMPP and matrix have exactly the same promise to be the only and ultimate federated protocol you will ever need, so there's no real distinction on this front.

> without many users or features that appeal to a mass audience

Many people were (are?) unconsciously using Jabber/XMPP on a daily basis. What plagued XMPP is open standards with closed-source implementations: i.e. private companies ripping off the benefits of specifications. There's a ton of fancy new features in the Jabber/XMPP ecosystem, including some unique stuff like federated forging: https://staticadventures.netlib.re/blog/decentralized-forge/


If they can undercut the resource consumption of Matrix then I'm already sold.


XMPP has far better clients (at least on Desktop) available than Matrix for me.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: