Hacker News new | ask | show | jobs
by MattJ100 2178 days ago
This is the gap Snikket[1] is aiming to fill. A preconfigured XMPP server that you can safely and easily run yourself (it's invite-based registration), with "blessed" apps provided for each platform that are guaranteed to be maintained to a common standard.

It's early days and there's still some way to go, but the current release (server + Android client) is receiving excellent feedback from those using it.

The next primary focus is iOS. There are several XMPP clients available on iOS, but none yet fit the bill. That's where most of the work ahead lies for the coming months.

[1]: https://snikket.org/

2 comments

So you took Conversations, renamed them, and call it a day, focusing next on iOS? Then I've got rather bad news for you. You'll need to be focusing for a long, long time.

It took us 'only' 2.5 years to build a good XMPP client for iOS (which we plan to release this month, finally), and while building it we had to break down XMPP down almost to a core and replace most of its components with better thought through solutions that account for real life scenarios.

We had to throw away MUC garbage, do push notifications differently, make different video calling, etc. - and that requires modifications on the server-side. Now it works acceptably, just some rather little quirks/bugs remain. It is no coincidence that not one released XMPP client today can be called 'working'.

However, to make it work _really_ great we'll have to do 'break' XMPP even further and rethink how presences work. Currently, they are a major pain.

Hi Andrew, I'm familiar with your team's work, and don't doubt your determination to build a quality product. From what I've seen, that appears to be your priority above and beyond XMPP, self-hosting, and interoperability with others in the ecosystem. There is nothing wrong with that choosing that as a primary goal, but it's a different goal to Snikket.

Snikket is building on and improving (pushing upstream whenever possible) existing projects in the ecosystem, not starting from scratch. The smooth invite-based onboarding flow for example originated from Snikket work, and is now upstream in Conversations and other clients are adopting it too.

I've been working with and on XMPP for 15 years, and have no illusions about the challenges we (or any fully open decentralized messaging system) face in today's world. However we can never give up on free, open and interoperable technologies.

Quick scan of the website & the github. Did not find direct mentions of XMPP. Does this interop with other XMPP systems or is this based-on-XMPP but standalone? I would not adopt or recommend this, framed as it is as it's own thing.
If your primary criteria is "must support XMPP", you are very likely not amongst the target audience of Snikket, or you are at least in a minority of it. There are many XMPP servers and clients already out there easily discoverable by someone who knows that's what they want.

Snikket is aimed at people who primarily just want an out-of-the-box self-hosted secure messaging service. "XMPP" is not a feature for this crowd, but the benefits of XMPP are (federation, free choice of client software, etc.). For the same reason Mozilla doesn't advertise Firefox as a "HTTP client", the Snikket marketing is focused on features and not how the underlying tech is implemented - what we do, not how we do it.

The fact that Snikket is built on XMPP is not something we aim to hide however, it's discussed in [1] for example. It's just not what we lead with when introducing the project to general users.

Many good open-source projects fall into a trap of their developers marketing their project in a way that they would want to see it marketed to themselves. The truth is that nobody outside certain internet communities cares about open standards. They should, of course, but they don't realise it. We're trying to reach these people with Snikket.

[1]: https://snikket.org/network/