6.0.0-git
2020-01-28

Diff for Project/Chat between 2 and 3

[[toc]]

+ Horde Chat Module

The idea is to integrate or develop some chat solution that allows Horde users to chat either in a separate application or from a widget that is displayed inside the regular applications.

++ Bugs

https://bugs.horde.org/ticket/4574
https://github.com/jsxc/jsxc/issues/61
https://bitbucket.org/mhxp/conversejs-horde

++ People

Jan

++ Description

As requested by several users and one customer, Horde lacks some chat/instant messaging solution. Suggested features:

* Internal only, with Horde users
* Access to chat history
* Group chats
* Voice/video chats
* Widget on-top of other applications

There are two categories of possible solutions:

# Standlone, proprietary clients that bring their own server.
# Clients for existing chat protocols or backends (IRC, XMPP etc)

The latter is preferred, because we wouldn't have a vendor-lock-in and building on top of existing standardized solutions if better following Horde's paradigm of "integrate with what's there".

Two other categories are:

# Complete chat applications. This is the kind of chat you get on chat websites.
# Integrated (widget-like) applications. Those can be integrated into existing applications and run partly on top of those. This is the kind of chat found on social networks.

Again, the latter is preferred because you wouldn't have to switch between the chat application and the other Horde application that you are currently using.

Other points to keep in mind: look and feel, ease of integration with existing web applications (other examples), conflicts with existing Horde JavaScript!JavaScript code, maintenance status, customization possibilities.

Without having investigated //all// items, it boils down to an XMPP server with Converse.js, JSXC, or Jappix on top. Pending any unforeseen problems, and due to the nice UI and video/audio chat support(!), the winner is:

**JSXC**= **JSXC!**

[[image https://bugs.horde.org/h/ansel/img/screen.php?image=1&t=ShadowThumb&b=none]]

++ Resources

* Feature request to create Horde ingegrator for JSXC: https://github.com/jsxc/jsxc/issues/61
* Working POC for integrating Converse.js: https://bitbucket.org/mhxp/conversejs-horde

+++ XMPP Clients

* Converse-JS: https://conversejs.org/
* Candy: http://candy-chat.github.io/
* Jappix: https://github.com/jappix/jappix
* JSXC: https://www.jsxc.org/

++++ Not further analyzed

* Kaiwa: http://getkaiwa.com/
* !SparkWeb: https://igniterealtime.org/projects/sparkweb/
* Stanza.io: https://github.com/legastero/stanza.io

+++ Standalone clients

* AJAX-Chat: PHP, !MySQL https://github.com/Frug/AJAX-Chat#help
* phpfreechat: PHP, Filesystem http://www.phpfreechat.net/

+++ Other clients

* Rocket.Chat: Slack alternative https://rocket.chat/

----
Back to the ((Project|Project List))