0
submitted 5 months ago by [email protected] to c/[email protected]

I'm looking into hosting one of these for the first time. From my limited research, XMPP seems to win in every way, which makes me think I must be missing something. Matrix is almost always mentioned as the de-facto standard, but I rarely saw arguments why it is better than XMPP?

Xmpp seems way easier to host, requiring less resources, has many more options for clients, and is simpler and thus easier to manage and reason about when something goes wrong.

So what's the deal?

all 22 comments
sorted by: hot top controversial new old
[-] [email protected] 1 points 5 months ago

I'm trying out another extremely lightweight nostr relay

[-] [email protected] 0 points 5 months ago* (last edited 5 months ago)

May be lightweight, but why there has to be one?

[-] [email protected] 1 points 5 months ago

In order to ensure that my account's historical data is backed up, I am worried that other relay servers will disappear or fail

[-] [email protected] 1 points 5 months ago* (last edited 5 months ago)

has many more options for clients,

The problem of XMPP is here. These options are not uniform among the possible different combinations of servers and clients.

The situation has improved a lot, but there was a point in time where saying "this is my XMPP handle" was far from enough to know if you'd be able to communicate with others, and you'd have to figure out things like:

  • Does the server support MUC?
  • Does the server support E2E? If so, which?
  • Are emojis supported on the server, or do they get converted to ASCII?
  • Can you use audio calls? If so, which codec?
  • If my client supports "share live location", what do you see on your end?

Not to mention that until recently there was no decent XMPP client for iOS. Even today, the best alternative is siskin, which may have its vocal fans but quite frankly is pretty barebones and has a UI that would be considered ugly even in 2010.

Matrix as a protocol is technically worse than XMPP and Synapse is a resource hog compared to Prosody and Ejabberd? Yes, true. But at least I can tell non-technical people to download Element from the App stores and they will have a consistently-not-great-but-acceptable-and-improving experience.

[-] [email protected] 0 points 5 months ago* (last edited 5 months ago)

This is the correct answer, IMO.

I loved using XMPP back in the day, but I struggled talking with people who weren't on the same server as me because of spec and client variations.

While Synapse is a resource hog, it (and Element) - to a certain degree - does the job. Can't wait until sync v3 lands in the main server.

The only issue I have is with one friend who insists on deploying his own version of Synapse, but can't figure out coturn and - as a result - we can't voice chat properly.

Goddammit. Two steps forward, one step backward. 😅

[-] [email protected] 1 points 5 months ago* (last edited 5 months ago)

Suggest your friend to give Eturnal a try maybe. I have it running on an Oracle free tier instance, and I use it daily to have video calls with my family using Synapse/Element (and Jitsi inside Element for group calls), and it works great. The documentation is very good too.

Edit: this is my Eturnal config, for reference:

eturnal: listen: - ip: "::" port: 3478 transport: udp enable_turn: true - ip: "::" port: 3478 transport: auto enable_turn: true - ip: "::" port: 5349 transport: tls enable_turn: true realm: turn.<MY_DOMAIN> tls_crt_file: /etc/letsencrypt/live/turn.<MY_DOMAIN>/fullchain.pem tls_key_file: /etc/letsencrypt/live/turn.<MY_DOMAIN>/privkey.pem tls_options: - no_tlsv1 - no_tlsv1_1 - cipher_server_preference

And the compose file: services: eturnal: container_name: eturnal image: ghcr.io/processone/eturnal:latest environment: ETURNAL_RELAY_MIN_PORT: 49160 ETURNAL_RELAY_MAX_PORT: 59160 ETURNAL_RELAY_IPV4_ADDR: <REDACTED> ETURNAL_RELAY_IPV6_ADDR: <REDACTED> ETURNAL_SECRET: <VERY LONG RANDOM STRING> volumes: - ./eturnal.yml:/etc/eturnal.yml:ro - /etc/letsencrypt:/etc/letsencrypt:ro restart: unless-stopped read_only: true cap_drop: - ALL security_opt: - no-new-privileges:true network_mode: host

[-] [email protected] 0 points 5 months ago* (last edited 4 months ago)

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

Fewer Letters More Letters
Git Popular version control system, primarily for code
HTTP Hypertext Transfer Protocol, the Web
IoT Internet of Things for device controllers
VPS Virtual Private Server (opposed to shared hosting)
XMPP Extensible Messaging and Presence Protocol ('Jabber') for open instant messaging

4 acronyms in this thread; the most compressed thread commented on today has 8 acronyms.

[Thread #699 for this sub, first seen 22nd Apr 2024, 03:05] [FAQ] [Full list] [Contact] [Source code]

[-] [email protected] -1 points 5 months ago* (last edited 5 months ago)

@[email protected]

Missed the XMPP acronym. Probably needs to scan the title too

Anti Commercial-AI license

[-] [email protected] 0 points 5 months ago* (last edited 5 months ago)

Google killed XMPP momentum. And while Matrix has many issues it needs to figure out, especially the development being almost exclusively supported by a for-profit company, they seem to slowly (very slowly) work towards more independence.

Matrix did some things right. Going with JSON spec instead of XML, having Element as uniform cross-platform client, offering bridges as a way to stay connected with your family and friends without needing to convince them to move (XMPP offers transports, but they function entirely differently) and offering end-to-end encryption by default.

XMPP in true open source fashion doesn't have any uniformity from user perspective. Different ways to do the same thing on different clients, different clients on different platforms. That is a benefit for a savvy tech nerd, but it's a huge inconvenience for a non-techie family member or friend.

[-] [email protected] 0 points 5 months ago

Why is JSON better than XML? It's more modern, sure, but from technical perspective it is not objectively better right? Not something worth switching protocols for.

You mention XMPP has transports as opposed to Matrix bridges. I thought they give you roughly the same outcome. What's the difference?

[-] [email protected] 1 points 5 months ago

The only things JSON has over xml is that it’s easier to write a parser for it and the format is less verbose and less complicated. There are extensions to JSON that can add features that xml has and the JSON spec doesn’t have. Overall the xml spec is bigger and has more features but that also makes it overkill for many of the cases that it would be used in.

[-] [email protected] 0 points 5 months ago

Show me a docker compose file which I can simply start and don't have to mess around more than deploy it, and I will discuss xmpp more often.

[-] [email protected] 1 points 5 months ago

Here is a docker compose: https://snikket.org/service/resources/docker-compose.yml

You only two configuration options in the config file: domain and email.

[-] [email protected] -1 points 5 months ago

Matrix clients are simple, easy, and nice to look at. The matrix server might need more resources, but it comes with everything out of the box. There's no need to fiddle with extensions and their weird naming, and hope that the other server/client also supports the extension. Also, are there bridges to other protocols?

I remember trying to get encryption working on Pidgin and it was all around a bad experience.

XMPP might be as powerful or more powerful than matrix, but nothing about it screams modern. It's like IRC for Gen X'ers.

Anti Commercial-AI license

[-] [email protected] 1 points 4 months ago

The anti AI license is so lame.

[-] [email protected] 0 points 5 months ago

You are basing your experience on Pidgin, which is the worst possible choice for an XMPP client that hasn't been updated in over a decade. Other XMPP clients are relatively modern looking and easy to use, including encryption (probably easier than Matrix for most users).

[-] [email protected] -1 points 5 months ago

I looked at Dino and another one mentioned here and they look dated. Windows 95 feel with better anti-aliasing, rounder corners, but same colors? Gtk 2 or something?

Pidgin was my messenger of choice to communicate with people on facebook, gmail, and a few other protocols back then.

But yeah, my experience with XMPP wasn't good and if they don't have bridges, there isn't much of a reason for me to switch right now. It doesn't seem to provide any advantages over Matrix.

Anti Commercial-AI license

[-] [email protected] -1 points 5 months ago

I'm going to throw this out there not being sure how true it is, but I find it interesting to think about.

XMPP is much more widely used than Matrix if you count WhatsApp (Meta/Facebook). ActivityPub is much more widely used than AT Protocol and nostr combined if you count Threads (Meta/Facebook). So reasons why people aren't talking about XMPP include not wanting to recognize that Meta is hugely influential in this space and that most people don't talk about the underlying protocols of the services and tools they're use at all leaving a self selected group of people looking for alternatives with traction that don't depend on Meta. Outside of WhatsApp, there's not a lot of traction with any particular XMPP implementation. And none of the XMPP implementations have a Discord-ish organization of chat rooms that's popular and familiar right now. Matrix has both right now (although I don't think it will ever be more than a small niche in the mobile messaging space).

I'm fine with using Matrix for what it is. There are programming language communities that have been very helpful for me and a number of Lemmy related communities that have been nice to be a part of.

[-] [email protected] -1 points 5 months ago

If the goal is to make a similar experience to discord, we should make a desktop/android client which changes the way the info is shown. I boil down discords main features this: 1-to-1 call/text, modern messenger features (emojis, text, audio, video, link embeds), servers with the option for channels and always on voice chats, group chats (weird overlap with servers). Always on voice chats should be as simple as disabling notifying or dialing members. Is it not just that simple to get a heavily reduced version of discord? Maybe noisetorch for noise cancelation.

this post was submitted on 21 Apr 2024
0 points (NaN% liked)

Selfhosted

39257 readers
202 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS