Live data from Hacker News

Modern messaging: Running your own XMPP server

codedge.de

111–120 of 156 posts

Re: Modern messaging: Running your own XMPP server

#111
post #92

Earlier quoted context omitted.

> designed a terrible protocol Have you looked at the protocol? Have you built things in both? I have, and I think the Matrix protocol is pretty good. The goals are different. It's not a send once and forget kind of thing, like XMPP, Signal and email. It's about keeping your chats synced on your server, and with any other server you happen to be federating with. It's Discord or Slack, except federated. That's not eas…

> It's not a send once and forget kind of thing, like XMPP, Signal and email. It's about keeping your chats synced on your server, and with any other server you happen to be federating with. It's Discord or Slack, except federated. That's not easy, and it's not simple, but it has huge advantages too. And huge disadvantages. I don't understand why everything has to be centralized/ routed through an intermediary. Well…

iirc, matrix started as attempt by Amdocs (in same org that I worked at) to give to telecoms their own messaging client that will be better than SMS in order to compete with OTT clients that they saw as "unfair" and "eating their revenue"

hence, matrix by definition was born due to business reasons and not technical.

Re: Modern messaging: Running your own XMPP server

#112
post #92

Earlier quoted context omitted.

> designed a terrible protocol Have you looked at the protocol? Have you built things in both? I have, and I think the Matrix protocol is pretty good. The goals are different. It's not a send once and forget kind of thing, like XMPP, Signal and email. It's about keeping your chats synced on your server, and with any other server you happen to be federating with. It's Discord or Slack, except federated. That's not eas…

> It's not a send once and forget kind of thing, like XMPP, Signal and email. It's about keeping your chats synced on your server, and with any other server you happen to be federating with. It's Discord or Slack, except federated. That's not easy, and it's not simple, but it has huge advantages too. And huge disadvantages. I don't understand why everything has to be centralized/ routed through an intermediary. Well…

There are technical advantages to a dumb client. The more you outfit an XMPP server with basic things modern users want like message history and push notifications, the more state and responsibility moves to the server.

Disclaimer: I have a lot of XMPP experience but have never used Matrix

Re: Modern messaging: Running your own XMPP server

#113
post #92

Earlier quoted context omitted.

> designed a terrible protocol Have you looked at the protocol? Have you built things in both? I have, and I think the Matrix protocol is pretty good. The goals are different. It's not a send once and forget kind of thing, like XMPP, Signal and email. It's about keeping your chats synced on your server, and with any other server you happen to be federating with. It's Discord or Slack, except federated. That's not eas…

> It's not a send once and forget kind of thing, like XMPP, Signal and email. It's about keeping your chats synced on your server, and with any other server you happen to be federating with. It's Discord or Slack, except federated. That's not easy, and it's not simple, but it has huge advantages too. And huge disadvantages. I don't understand why everything has to be centralized/ routed through an intermediary. Well…

> I don't understand why everything has to be centralized/ routed through an intermediary. Well I do understand it, modern big corps wants to be that intermediary for various reasons, but thats a business reason not a technical one.

centralized? no

If you sign up for messaging on let's say Signal, do you really want your client to talk to Facebook, Google and dozens of other services?

And do you want the users of your chat service depend on "random" other services ? Not being able to access chats, media, because an outage or even shutdown of a random service over which you don't have control?

Re: Modern messaging: Running your own XMPP server

#114

Earlier quoted context omitted.

XMPP lacked good, modern clients, so folks designed a terrible protocol, and then made modern clients with this kind of feature for that protocol. There’s an extra step that could have been skipped entirely there and we’d be better off.

It would be cool for clients and protocols to be separated by an abstraction layer, it might change the n times m to n plus m but I suppose it's difficult

what do you mean?

client - server - server like?

Re: Modern messaging: Running your own XMPP server

#115
Take a look at delta.chat Your server can be a traditional email server you set up or one of their optimised devocot, smtp relays: https://github.com/chatmail/relay

The clients are great (they have reactions!)

there is even a really good app store associated : https://webxdc.org/

Re: Modern messaging: Running your own XMPP server

#116

Earlier quoted context omitted.

> It's not a send once and forget kind of thing, like XMPP, Signal and email. It's about keeping your chats synced on your server, and with any other server you happen to be federating with. It's Discord or Slack, except federated. That's not easy, and it's not simple, but it has huge advantages too. And huge disadvantages. I don't understand why everything has to be centralized/ routed through an intermediary. Well…

There are technical advantages to a dumb client. The more you outfit an XMPP server with basic things modern users want like message history and push notifications, the more state and responsibility moves to the server. Disclaimer: I have a lot of XMPP experience but have never used Matrix

take a look at the way https://delta.chat solved for that very modern/looking/feeling - just email.

Re: Modern messaging: Running your own XMPP server

#117
I've been homelabbing my own XMPP setup for a while. I went with Prosody and I enjoy its Lua flexibility and clean config model.

For anyone curious, I documented the full process (including IRC bridge + more!) here:

https://someodd.zip/phlog-mirror/xmpp-server.gopher

I also covered audio/video calls using a companion STUN/TURN server:

https://someodd.zip/phlog-mirror/xmpp-server-video-audio-cal...

Curious how others here are handling federation and mobile clients these days. I use Conversations (F-Droid) and Gajim.

Re: Modern messaging: Running your own XMPP server

#118
post #92

Earlier quoted context omitted.

> designed a terrible protocol Have you looked at the protocol? Have you built things in both? I have, and I think the Matrix protocol is pretty good. The goals are different. It's not a send once and forget kind of thing, like XMPP, Signal and email. It's about keeping your chats synced on your server, and with any other server you happen to be federating with. It's Discord or Slack, except federated. That's not eas…

> It's not a send once and forget kind of thing, like XMPP, Signal and email. It's about keeping your chats synced on your server, and with any other server you happen to be federating with. It's Discord or Slack, except federated. That's not easy, and it's not simple, but it has huge advantages too. And huge disadvantages. I don't understand why everything has to be centralized/ routed through an intermediary. Well…

XMPP is a client/server model too, that needs to store messages for some configurable amount of time. What distinction are you trying to make here? There are very few peer-to-peer messengers.

Re: Modern messaging: Running your own XMPP server

#119
post #17

One potential issue with XMPP is the default port is commonly blocked on public wifi. There is an nginx-xmpp to proxy it, but it is archived. https://github.com/robn/nginx-xmpp For that reason http based protocol just seems much easier on the network or something that can be easily reverse proxied without extensions will be easier to self-host and have wilder internet connection accessibility.

At least Prosody implements BOSH (xmpp over http) and communication over Websocket. https://prosody.im/doc/setting_up_bosh https://prosody.im/doc/modules/mod_websocket But I never tried it myself and from a quick search the popular non-browser XMPP apps/clients don't seem to use it.

I actually enabled BOSH on my Prosody setup.

For reference: https://www.someodd.zip/phlog-mirror/xmpp-server.gopher

BOSH still has some interesting trade-offs even today. It can help with some NAT headaches and rides over plain HTTPS. I like this old post:

https://metajack.im/2008/07/02/xmpp-is-better-with-bosh/

Curious who here uses BOSH in production and/or WebSocket (RFC 7395) these days.

Re: Modern messaging: Running your own XMPP server

#120

Take a look at delta.chat Your server can be a traditional email server you set up or one of their optimised devocot, smtp relays: https://github.com/chatmail/relay The clients are great (they have reactions!) there is even a really good app store associated : https://webxdc.org/

I actually messed around with Delta.chat this past weekend for the first time.

It's kinda cool. If or when, I need to setup new communication needs, I might use this. (Currently do not have a need for any)

Post reply on HN