Comment by SahAssar
4 years ago
I hope that XMPP or matrix wins out and becomes a de-facto standard that everyone uses (like email) over things like slack, signal, whatsapp, telegram, teams and all the rest.
What I don't get about Snikket is why it tries to distance/hide itself from XMPP. The homepage does not mention it, the app page only mentions it by saying that Snikket is "Compatible" with Conversations which is also compatible with XMPP. The server page does not mention it at all. Is Snikket XMPP and a few XEPs? Is it something else? Can I use a XMPP client with Snikket? Can I use a Snikket client with a XMPP server?
That makes me doubt that Snikket cares about interop with XMPP or the wider ecosystem.
I'd hope that the blog post goes some way towards explaining that.
The ultimate reason is that we're not building something for the 1% of people who know what XMPP is. The protocol used is absolutely irrelevant to most people. Feature set and ease of use matter far more.
For the people who do know what a protocol is, it's not hidden information.
The perspective to have is that the use of XMPP adds features (federation, security, interoperability) but it does not (and should not) define everything Snikket is to end users.
I get that making things understandable to non-techie users is good, but even on pages talking about the server (even on the install guide and the github readme for the server: https://github.com/snikket-im/snikket-server) you don't mention XMPP.
> it does not (and should not) define everything Snikket is to end users.
Does that mean that interop with XMPP is not a feature one should depend on? Is Snikket a XMPP app, a XMPP service, a XMPP fork or is it not XMPP at all despite being based on XMPP software?
> even on the install guide and the github readme for the server you don't mention XMPP.
Sure, and I don't see a problem with this. It's irrelevant information for an install guide.
It probably should be in the readme (which frankly needs an overhaul). However if someone is looking for an "XMPP server" then there is a good chance that they are not in the target audience for Snikket. I happen to also be a developer of Prosody, the XMPP server software Snikket uses. Prosody is an extremely flexible and customisable XMPP server, and most Prosody users love that about it. But a Snikket server is totally opinionated, preconfigured and exposes minimal controls to the admin.
> Does that mean that interop with XMPP is not a feature one should depend on?
It's a feature you can depend on as much as you can depend on it having e.g. video calls. Removing it would have a negative impact on the project.
Replacing it? If there were alternatives and they were interoperable, sure, maybe. Matrix is probably the only alternative that comes close to that, but it has a way to go before it could meet our needs. I consider a switch from XMPP very unlikely.
> Is Snikket a XMPP app, a XMPP service, a XMPP fork or is it not XMPP at all despite being based on XMPP software?
It's an app and server that implements XMPP. It's not a fork of XMPP (we actively participate in XMPP development).
One final thing to note is that Snikket projects, while using standard XMPP, will focus on pushing XMPP forwards, and prioritise this over backwards compatibility with other projects in the XMPP ecosystem. Example: a couple of XMPP clients don't do encrypted calls yet. Snikket calls are encrypted always. We won't compromise on security or usability in the name of backwards compatibility. Related projects such as modernxmpp.org are part of this mission to keep XMPP moving forwards.