
The XMPP Improvement Project - flevo
https://gist.github.com/ValdikSS/30f866602413c036e4e6924c1895b838
======
flevo
So many years XMPP has been a protocol not suited for modern mobile devices
with unstable network connection. Messages could be easily lost (and you had
to ask for receiving acknowledgment yourself in another message), battery
consumption was very high. XMPP also has been barely usable on multiple
devices. While we had Message Archiving XEP since 2004, Message Carbons XEP
since 2010 and Message Archive Management since 2012, most desktop clients
still lack support of these functions giving you frustration when you want to
access previous conversation history that was made on another device.

Everything changed when Daniel Gultsch created Conversations. That's a modern
XMPP client for Android which has support for most current XEPs. Finally
mobile XMPP client that is usable, reliable, supports history sync and doesn't
noticably shorten battery life and is a proper competitor for other
proprietary mobile IMs.

Still, the situation with desktop clients is unpleasant. Only one client has
Message Archive Management support (Gajim), only one has support for outdated
and rarely configured on the server side Message Archiving support (Vacuum
IM). Not even mention Gajim UI problems that you can see previous conversation
history only in "history" menu, the chat window contains conversation history
only of that exact machine. To this date there's no client for OS X with MAM
support. Also should note that Gajim lacks MAM support for MUC.

We, a small group of people, want XMPP to be suitable for modern every day use
for casual users, power users and teams. We decided to improve that situation
by implementing missing XEP support in most popular desktop clients (Psi/Psi+
for Windows and Linux, Monal and Swift for OS X) and improving UI and overall
usability of said software. Our goal is making desktop experience as good as
mobile experience with Conversations.

The Immediate Goal

Make sure desktop clients support the following XEPs and implement what they
lack:

XEP-0184 Message Delivery Receipts XEP-0198 Stream Management XEP-0280 Message
Carbons XEP-0308 Last Message Correction XEP-0313 Message Archive Management
XEP-0363 HTTP File Upload Make various Linux distributions repositories,
Windows installers and signed OS X packages of software.

The Complete Goal

Implement additional XEPs:

XEP-0333 Chat Markers XEP-0163 Personal Eventing Protocol XEP-0384 OMEMO
Encryption

