Did you know that #Zoom uses #XMPP for their chat? Isn't it ironic that while large parts of the software freedom movement consider XMPP as outdated and refuse to use it, companies building commercially successful proprietary and centralized solutions on top of it... 🤔 #OpenStandards #FreeSoftware

@bjoern we looked at XMPP and IRC for a chat system but decided to start with our own design. I can see the attraction to jumpstart a feature but there are other paths as well.


Interesting. Are you able to discuss what specific requirements you had that led you to reinvent and reimplement the wheel?

(I am guilty of the opposite: trying to shoehorn #XMPP in places where it didn't really fit, out of laziness aka if all you have is a hammer…)


@0 @bjoern It was more roadmap vs giving up in IRC entirely. For the initial release we wanted to test some new takes on group chat and self moderation and do it quickly. IRC was overkill for what we needed at least in an initial product release. I think once we get good user data we will revisit IRC and a Federated server setup.

We may even go with a simple Flutter or Native Client sitting on top of Firebase to test our designs and assumptions.

Happy to DM or do a call any time.

#IRC or #XMPP? Also, from your general description this sounds exactly like the ‘X’ in XMPP.

From the protocol side it sounds like a matter of adding a couple of custom stanzas to your stream, which is done literally in minutes. I'd then add the server side logic via a XEP-0114 component.

It's less than a day to prototype, only a couple hours if you're in current practice.

Have you tried this approach? Why didn't it work / wouldn't it have worked?


@0 @Rlaracue @bjoern Lol it easily takes a day to setup an ejabberd server with the config file you want.


A day? For what kind of configuration?

Vanilla single host, single node it's more like twenty minutes, and most of that is spent in generating the SSL certificate and updating your DNS zone. 😜

If we're talking multi-node cluster then it's surely a different story. I have no experience with that sort of setup.



@0 @bjoern But that's because you did this before.
Creating your config or finding an example config is not easy. Matching the config with the correct DNS records is not easy. I'm talking first time doing it.
I recently setup my second XMPP server and I ended up mostly looking at my first one because it was a lot easier than looking up documentation again.


Actually, I did this a few weeks ago on a new box with the default #ejabberd.yml that came with the distro. I was surprised that it needed next to no tweaking. 😜

Of course, someone who's never seen #XMPP before might take ½ or one day to go through the #RFC, #XEP, etc., but in terms of getting #ejabberd up and running out really *is* a breeze these days. 👍


@0 @stevenroose @bjoern I'm genuinely curious why as an administrator one would need to go through the RFCs and XEPs


Oh, the conversation was originally in the context of using #XMPP for development so I was in that mindset.

That said, in the past when a new module popped up and I didn't know what it did, besides reading the #ejabberd docs I'd take a look at the corresponding #XEP of there was one. Not necessarily a detailed read, but enough to get a general idea of what the module does and how, to decide if I need it or not.

Besides, a bit of relaxing reading never goes amiss!

@stevenroose @bjoern

Sign in to participate in the conversation
unidentified instance

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!