Modern XMPP


Modern XMPP is an independent project launched to improve the quality of user-to-user messaging applications that use XMPP. XMPP is a mature open standard for internet messaging. If you are reading this, you have probably heard of it.

We are developing a handful of simple documents aimed at people who wish to build on top of XMPP. The recommendations are derived from healthy discussions between developers from multiple XMPP projects and other members of the XMPP community.

Our recommendations highlight only the XEPs you need to implement for a modern messaging application, ignoring historical cruft and excessive backwards-compatibility.

We also intend to provide a comprehensive set of guidelines for UI and UX design. Developing a client was never just about the protocol. In fact in most cases the protocol is a secondary concern. Having a concrete set of guidelines will help to provide a more uniform user experience between different applications, ensuring they use the same terminology, and provide interoperable feature sets.

Times change, and we expect our recommendations to evolve over time. Our guidelines will be versioned, and thus make it possible to identify and weed out software that falls behind the times.

Current status

It is early days. We are still building the foundations of what will become the initial set of documents. Nevertheless, we already have a bunch of stuff documented that developers of XMPP software (both new and experienced) will find useful. This includes design guidelines and lower-level protocol implementation recommendations.

If you're interested in joining us, our primary discussion venue is our channel which can be reached at:

Contributions to the docs can be made through Github modernxmpp/modernxmpp.