XMPP for group chat, logged in on multiple devices

published Jan 17, 2015 08:09   by admin ( last modified Jan 17, 2015 08:09 )

For a non-profit I am evaluating different options for a group chat, meant to replace the current Skype chat. Currently I am looking at ejabberd, a server for the XMPP protocol. The users of the Skype chat would like the new chat to have the following properties:

  • Encrypted communication
  • Good clients on Windows, iOS, Android, Linux and preferrably on more stuff such as web browsers
  • The Android client should be better than the Skype Android client (which has historically been very slow at updating ongoing group chats)
  • One should be able to be logged in simultaneously from several devices, under the same user name, and be able to switch between them transparently

 

So how does ejabberd handle these demands?

Simultaneous log-in

Ejabberd is better at handling a user logged in simultaneously from several devices than OpenFire - another XMPP server - in our tests. While being logged in as the same user, both Kopete and Pidgin (Linux XMPP clients) have no problem seeing each other's posted messages in a group chat, while Xabber on Android will not see their postings, but can post, and its postings are seen by the other clients. Ths is not a big problem, the only drawback is that while being on the mobile phone, you won't be able to see you own postings made in the past, if they were made from another device.

There might be some way to reconcile this, it probably has to do with priority levels for each client. Here is some further reading, although I could not seem to make a difference by tweaking the priority settings. Having chat history stored on the server may also mitigate this; will see if ejabberd can do that.

The XMPP Android client should be better than the Skype Android client

Xabber seems to update instantaneously. Still have to check if it can pull history from the server. I tried a slew of other XMPP clients on Android but did not find one that worked well with group chat.

Clients on all major platforms

Seems to be well supported

Encrypted communication

I initially turned this off since Pidgin does not accept self signed certificates. I then turned it on, and well, Pidgin still balks. Xanner an Kopete are fine. So off it is till we get the chat server to a domain name for which we would like to get a certificate. The three clients otherwise had no problem with encrypted communication so it will likely turn out well.