We tried running the blog for some time in early 2013, right about the time when we released Xabber for Android under GNU GPLv3 license. We could not keep up at the time. It was mostly because Xabber was not our primary project at the time (it came to existence as a salvaged part of one failed project, maybe we'll tell this story later), and while we loved XMPP, we didn't know what to do with our nice little client.
The world was very different then: there were lots of XMPP-friendly services around, including most internet giants: Google, Facebook, AOL and many others offered support for it in one form or another. Naturally, we were thinking about making some kind of multi-protocol client like Pidgin out of Xabber. Now I'm glad we didn't have the resources to down that road.
Anyway, in 2013..2015 Xabber was mostly on life-support, adding features now and then when some people paid us to add some feature. That way Xabber gained support for OTR, (old) message archive, and some other relatively minor features. In the same time, we were exposed to working with XMPP in an environment that is not very well suited for XMPP as it was designed in 1999. It was too reliant on the persistent connection between a client and a server and had many problems when a client had to go from WiFi on a mobile data connection and back. We also did some XMPP-related projects on the side, including making an XMPP-client for iOS for one of our customers. This experience clearly showed us, that to make XMPP work great like other popular messenger apps out there it needs to evolve in a very different way than it did before, we just lacked the resources to do it by ourselves.
Things changed a couple of years ago, and after making yet another XMPP client for yet another platform (this time, a browser) we finally resolved to do what was necessary: our own XMPP server, that would implement all features we gravely missed when we were making client apps for different platforms. Since the alpha version of Xabber Server is almost ready for release, we feel we need to explain what we did to XMPP, and why we did it.
Soon we'll publish a series of posts that will give our overall view on the state of XMPP in 2019, and a detailed overview of our extension protocols:
- Session management (Right Proper Tokens!)
- Reliable message delivery
- Rich message formatting
- Sending Media files
- Voice and Video calls
- Message deletion and retraction
- Client synchronization
- Good Group Chat
Stay tuned for updates.