[Kolab-devel] kolab and real-time communication (chat, etc)

Aaron Seigo aseigo at mykolab.com
Mon Nov 21 11:16:13 CET 2016


On 21.11.2016 10:52, Mihai Badici wrote:

> I still use in some installations the old converse plugin with ejabberd or openfire (the second look more advanced ldap side). The plugin need to be changed for sure but you want to change the server too?

"Want" is probably not the right word. The challenges with the existing
XMPP servers lay in two places. 

First, they are not small, easy-to-integrate systems. The best we could
manage is a jabber server that connects to a given ldap system. This
would not really give us real-time communication in Kolab, it would give
us real-time communication alongside Kolab. 

As an example: ejabberd / mongooseIM (a fork of ejabberd), probably the
best option in terms of scalability and features, does not provide a way
to map to Kolab's multi-tennant concepts. 

Adding other features and integration points (such as creation of chat
areas for document editing) would be quite a bit of work. Particularly
when we eventually add the ability to do one-time anonymous invite
links. 

We want to provide real-time communication as an integrated feature in
Kolab, not as something just bolted on to the side. And we want to do
that in a simple to manage way. Kolab is already complex enough. Adding
"now just manage this entire other complex server as well" on to the
side of that is troubling. 

The other set of problems come from XMPP itself. Frankly, it is a
horrible protocol. 

It regularly routes messages to devices inappropriately (several of us
here have jabber on phones, tablets, multiple computers .. all
potentially logged in), has elected to elevate federation over other
features when the implementations might conflict (despite the fact that
for all intents and purposes a federated XMPP world is well and dead at
this point), does not provide support for end-to-end encryption except
as an add-on hack that requires clients to do absolutely everything
(meaning client disparity is the norm there), etc. etc. etc. 

All of this is wrapped in a verbose XML stream, for which existing
implementations offer limited means of adding to. mongoose IM is
probably leading the way there at this point, but it still is not
sufficient for our needs. 

So we get to choose: 

 a) something existing and proven which is quick to slap on right now to
get us XMPP (only) 
 b) something that is easy to install and manage which we can integrate
perfectly with Kolab's features today and in the future, and which will
eventually deliver basic XMPP 

We have chosen ease of management and integration over a quick fix. Put
another way, we have elected to provide an amazing user experience even
if it means a bit more work. 

-- 
Aaron Seigo 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kolab.org/pipermail/devel/attachments/20161121/739b7cc3/attachment.html>


More information about the devel mailing list