By Mateusz Bartkowiak

Let’s face it. We are living in an age where all technology players gather and process huge piles of user data, starting from our behavioral patterns and finishing on our location data. Hence, we receive personalized emails from online retail stores we have visited for just second or personalized ads of stores in our vicinity that are displayed in our social media streams.

Consequently, more and more people become aware of how their privacy could be at risk with all of that data collection. In turn, the European Union strived to fight for consumer rights by implementing…

by Piotr Nosek, Mateusz Bartkowiak

Have you ever tried to use Mnesia with datasets larger than your transient memory? Are you confused with Erlang data types stored within Mnesia? We know some of you were. That is why we answered these problems by introducing something that is familiar to mainstream developers and also efficient with larger datasets at the same time - i.e. RDBMS backends for our PubSub plugin. Now, lets bundle that up with full support for XEP-0178, as well as, a RabbitMQ backend for our Event Pusher for a more complete package. …

For many years MongooseIM and Vidyo’s real-time video platform grew together utilizing and expanding the capabilities of XMPP. Together we have created a highly reliable, secure and scalable infrastructure that assures high network and error resilience, geo-redundancy, high service availability, and minimal downtime. On top of that Vidyo sponsored many of the open source features our community is enjoying today! In this case study, we are proud to share the story of what has been achieved. is the only video collaboration platform that provides a multi-party experience without the compromises of peer-to-peer, or bridged calls. Its Video API allows…

by Piotr Nosek

Who will find this interesting

If you’re considering XMPP for your project but you are unsure if it can provide the functionality you need, you’ll eventually end up here:

I’m pretty sure you’ll be quite intimidated by such a long list of extensions. In some cases, it will be pretty easy to find what you need. If you look for PubSub functionality, you’ll quickly notice “Publish-Subscribe”. Sometimes it’s not so obvious though. XMPP developers already know that in order to synchronize outgoing messages between several devices, they have to enable “Message Carbons”. Not very intuitive, isn’t it?

The aim of this…

Tutorial Part 2

by Andres Canal

First steps: XMPPFramework

Build a complete iOS messaging app using XMPPFramework is a tutorial that shows you how to build a fully functional instant messaging iOS app using the very cool XMPPFramework protocol and Swift3. In this part, we are going to get our hands dirty! To recap on the theory, or if you just landed here randomly, have a quick read through the first part, then get your Xcode ready and let’s start!

In this issue we are going to be integrating the library to our project, creating a connection with the server and authenticating. The XMPPFramework library is…

Tutorial Part 1

by Andres Canal

YAXT??! Yet another XMPP tutorial?

Well, this is going to be another tutorial, but I’m going to try to make it a little bit different. This is an XMPP tutorial from an iOS developer’s perspective. I’ll try to answer all the questions I had when I started working in this area. This journey is going to go from no XMPP knowledge at all to having a fully functional instant messaging iOS app using this cool protocol. …


Highly scalable instant messaging platform that allows app builders, startups, and Fortune 500 companies to build cost-effective communication solutions.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store