🎉 Our iOS app is finally public! 🎉

This is a huge milestone for the project, and proof of what we can accomplish when a community comes together around a purpose.

The app link will automatically appear in the next Snikket server update (along with some other app-related fixes), but the post has manual instructions for admins who just can't wait 🙂

@snikket_im I'm really curious about this. My biggest issue with how other chat apps (rocket chat, mattermost, element) handle video. It's awful. Does snikket work well with video? We tend to send video straight from our phones, so it's uncompressed 1080p. Can @snikket_im optimize large videos for quick viewing/sending?

@ryan The app supports compressing video uploads (or not, if you prefer). You can configure the amount of compression to use (see screenshot).

The Snikket server currently limits all uploads to 16MB (same as WhatsApp's limit for shared media). We recently merged some improvements from @zash that will allow much higher limits (see ) and they will be included as part of the next server release.

Does this help? 🙂

@snikket_im @zash It does, a lot. I'm glad that video is able to be compressed.

Still, 16MB? Is that for video files too?

Yes, 16MB and the same limit is applied for all file types. It's a messaging app, not designed for hosting documentaries 😉

Jokes aside, the limit is for several reasons:

1) We needed to improve the efficiency of file upload handling (done)

2) We needed to protect servers from users uploading excessively large files (many people self-host Snikket on small systems)

Now that larger files are supported efficiently, we will likely implement some quota/accounting to take care of (2).

@ryan We felt that a 16MB limit to match WhatsApp was a suitable compromise in the meantime.

For the future I can see us looking at 50MB or 100MB, but nothing crazy (I believe Telegram allows >1GB!). Maybe configurable, but that would have some UX considerations.

If this doesn't meet your needs I'm curious to hear your use-case. I note that the alternatives listed in your initial post are all "team chat" apps, which is not really the target use-case for Snikket: HTH! 🙂

@snikket_im Thanks for all this info! I am looking to get off Messenger, specifically, and have something frustration-free so my kids can use it. Yes, the ones I mentioned are geared towards teams, but those have been pretty decent so far. I AM looking for more personalized messaging, but have noticed that video tends to be a troublesome area. FB messenger, for example, does a very good job with video files, even larger ones.

@ryan Family messaging is 100% a target use-case (it's how the project came to be). If you use it and have any issues, please do provide feedback 🙂

@snikket_im @ryan
It should just be a matter of deciding on updated settings, quotas are supported already. Multiply with retention period and number of users to get an estimate for how much disk space to invest in.

@roland XMPP is a protocol and Snikket is a collection of software that uses XMPP to build a self-hostable messaging service.

More info:

@snikket_im Ah. okay. :-) That's cool, so anyone using Snikket can also message with any other XMPP-based server.

@roland Absolutely! Snikket is very much a part of the XMPP ecosystem. Our focus is simply more on people who don't (yet) know what XMPP is. We try to highlight features rather than potentially scaring people away with discussion of the technical layers.


@snikket_im @roland Plus: Snikket shares the same name across plattforms, which make it easier to recommend. :)

@snikket_im great work and congrats! I'm now going to set up an instance for my wife and me to test out 😎

@snikket_im I've been waiting years for a usable iOS client for my partner. :)

@snikket_im can't find it on app store yet, maybe it takes a while?

@snikket_im if not on your todo list, link it on your app website 🙂 Wow heard the first time about you today. Sounds pretty cool.

@snikket_im congrats on getting yr ios app out. it’s been a big hole in xmpp land for a long time. / i just had a little superficial feedback: when i loaded the app for the first time, it wasn’t v clear to me that i cd just log in to and use my own existing server.

@snikket_im it’s a pleasure to have hassle free encryption working too. thx again.

@snikket_im It seems current read messages are not synced between Snikket (iOS) and Beagle-IM (macOS). Is that something being worked on? It would be so useful.

@snikket_im super excited to get more options for XMPP on iOS!

first impressions: this screen could be tweaked to have a much smaller logo so that the buttons below it are visible without scrolling

@snikket_im why doesn’t it say anywhere that you can log in with a supported XMPP account? I logged in with an account on and it’s working great!

Started chatting with some friends using @snikket_im and pretty impressed so far. It’s working very well atm.

@snikket_im hmm spoke too soon. Now Snickket crashes instantly upon opening, I guess I will try deleting the app and reinstalling it

@snikket_im nope can’t figure out how to get it to stop crashing now :(

@snikket_im deleting the app and reinstalling doesn’t delete the settings and the settings seem to be corrupted and there is no cache clear in the settings

@liaizon Hi! Sorry to hear about the crashing issue with the iOS app. Would you be so kind as to install the beta version via TestFlight ( ) and if it still happens with that version, submit a crash report?

@snikket_im shared a crash report. This version crashes the same way.

@liaizon The answer to your question can be found here:

In summary, we don't test and can't guarantee a great experience with non-Snikket servers. There are infinite ways people can configure an XMPP service, and we have limited resources. Rather than spend time on supporting custom setups, our focus is on building a great cohesive XMPP stack with a specific modern configuration. YMMV with other services.

@snikket_im how do I get an invite to a Snikket server so I can test it using the constraints you have stated?

@liaizon either drop by the community channel and I'm sure someone can set you up with an invitation on a test server, or send an email to and we can give you access to set up your own instance to test with.

@snikket_im That answer makes it sound like you're specifically going beyond XMPP, is that accurate, or is it just a question of which XEPs are implemented by the server and client? @liaizon

@pettter The ultimate goal of our project is to move people away from centralized silos (you know them) and onto decentralized open networks where they can control their communications and own their data.

In theory any open protocol could achieve this - Matrix and DeltaChat are both pushing for the same goal atop other (very different) protocols. We believe XMPP is the most suitable foundation for our goals, but diversity is good and the tech is just a part of what's needed. (cont...)

@pettter Breaking interoperability with the rest of would be actively harmful to the goals of the project, just as interoperability with other open networks would further those goals. (cont...)

As for "moving beyond XMPP", there's not a simple answer - XMPP is a broad and moving target. For a start, we're aiming to support only what is relevant for our use-case: secure, private and user-friendly personal messaging. More info at

Beyond that, choices need to be made on a case-by-case basis. Some examples...


For example revamping client authentication is something we really want to do, to simplify management of the devices that have access to your account. XEPs already exist for some of this, but are not widely implemented. If we adopt those one day, Snikket apps may not be able to connect to servers that do not support them. That's a case where we would prioritize the Snikket-first use-case in order to improve security. Other servers would hopefully catch up eventually. (cont...)

For XEPs that involve user-to-user interaction, we need to be more mindful of interoperability, to avoid problems between Snikket users and non-Snikket. In this case we would lean towards a traditional "progressive enhancement" approach. E.g. for reactions or stickers, those may be unavailable or behave different in clients that do not implement the XEP yet. What's important is that we let people communicate with as many features as we can, given the support of both parties.

@snikket_im @pettter great to hear y’all’s thoughts on this. Seeing the federated approach to communication taking off in all these different projects lately gives me a lot of hope that we will get there in the end.

@pettter That's kind of it. Sorry the thread got a bit long, but detail is important sometimes. Hopefully it clears up some questions.

If you haven't read the Products vs Protocols blog post yet, that may also give some additional background:

Snikket was started by @mattj - a strong believer in open source, open standards and decentralized communication. He's been working on and contributing to the :xmpp: protocol for many years. Not stopping now :) @liaizon

@snikket_im @liaizon @mattj @pettter Moxie: "The ecosystem is moving"
Snikket: "Help the standards move along with it"
Sign in to participate in the conversation

Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.