Extending XMPP core: Which XEPs are a must-have for 21st-century mobile messengers?

Continuing the discussion from Open Source duel: Kontalk vs Signal:

Hi, in my opinion the XMPP core (RFC 6120, RFC 6121 & RFC 7622) is not competitive enough for today’s expectations in mobile messaging.

I don’t have a complete insight into the available XEPs, but I would like to better understand which of the XEPs are indispensable for a mobile messenger comparable to WhatsApp or Signal. (Also see Kontalk’s specification.)

I’m looking forward to your opinions and ideas! :slight_smile:

The XSF made up some compliance suites (here’s the one for mobile clients) which is relatively modern. However time runs fast in this environment and there is always something new to implement or improve. A standardizing body needs time of course because of the XEP proposal and reviewing processes, which involves multiple people etc. but I believe it is good to wait a bit more to have a more solid standard to build upon.

Having said that, I’m afraid having a few more XEPs isn’t enough. Many server business rules are left to be decided by server implentors: some message delivery rules, connection policies, authentication and registration rules. I’ve written some patches to the Tigase source code because some things which are a must for mobile phones and modern messaging IMHO were not addressed at all.

I work on improving existing protocols and software because Kontalk is not my daily job and I can “relax enough” on the time I take to do that stuff, but I can understand some companies having very strict time-to-market rules and strict deadlines they must meet - so new protocols and ad-hoc software is born.

Summarizing (I’m not including security because that’s a whole other can of worms):

  • Mobile compliance suite as a start, with special care to session resumption (it is still a bit complex, this is currently being addressed with a new XEP called “SASL2”)
  • High reliability to prevent missed messages on very highly unstable connections, tipical of many mobile environments
  • Cheap, short-lived and quick-to-handshake connections (this is still a weak point for XMPP: Kontalk - or any other XMPP client fwiw - needs several roundtrips of data exchange before you can actually send a message)

All above points are important because they help improving reliability and energy saving.

1 Like