Openfire has been selected as one of the Software Components for WikiSuite. Here are the general component criteria.
Why Openfire instead of the many options in this space? To properly explain this one, it's important to first distinguish the various "real time" use cases. All use cases need chat, most need audio and screensharing. However, there are some "key distinctive features" which make some tools great at one use case, but poor for another. Try it out now at http://wikisuite.chat/
Type | Predominant mode | Key distinctive features | Typical app |
Ongoing Team collaboration on projects | 1 to 1, many to many or emergent | Presence, and can escalate to audio / video / screensharing as needed | Skype |
Meetings / conference calls | Many to many | Meeting notes (meeting agenda, and live collaborative note taking for decisions) | Etherpad + phone call, or Skype |
Webinars / Scheduled Course | 1 to many | Presentation and whiteboard | BigBlueButton |
Community presence and support | many to many | web interface and desktop/mobile clients | IRC |
Help desk for team members (Remote Assist) | 1 to 1, but can be transferred | Share screen and remote control. Easier to install software on their computer. Team member must give permission to take control of computer (ex: for 30 minutes) | TeamViewer |
Help desk for customers | 1 to 1, but can be transferred | To route request to someone who is available. Canned responses. Difficult to install software on their computer. | Openfire Fastpath |
Remote Management | 1 to no one or 1 to 1 | Remote login and management, even unattended | VNC / Guacamole / RDP |
We picked Openfire for the following reasons:
We ultimately want WikiSuite to be awesome at covering all the use cases above, and we do so by mostly combining:
https://xmpp.org/about/technology-overview.html
https://xmpp.org/about/myths.html
Tiki Wiki CMS Groupware has built-in (but optional) integration with BigBlueButton since Tiki 5 (2010), and the two communities worked closely together for a tight integration and thus, for WikiSuite, this would have been the simple option.
While Openfire Meetings and BigBlueButton broadly share the same feature set (videoconferencing, screensharing, etc), there are fundamental difference. BigBlueButton is a distance education tool.
For WikiSuite, it's critical to also cover all the other use cases above.
The leaders of both projects (Fred Dixon and Marc Laporte) met 2 or 3 times over a few years to try to find a way to make it work. But ultimately, the basic DNA / drive / philosophy / focus which made BigBlueButton successful for distance education lead to some design choices (ex.: no XMPP) which are hard to change afterwards.
https://github.com/dropbox/hackpad
Apache OpenMeetings is an interesting option with a diversity of paid support options and quite a few features, however, the focus is more about scheduled meetings or classes than ongoing collaboration. For example, XMPP is not supported.
WebHuddle is inactive: https://sourceforge.net/projects/webhuddle/ and requires Java applets which are restricted by browers nowadays: WebHuddle "works in most web browsers enabled with Java."
This was the situation:
But then NextCloud reactivated the project: https://github.com/nextcloud/spreed/ (well done!)
There is discussion on XMPP: https://github.com/nextcloud/spreed/issues/826 and link to a client: https://github.com/nextcloud/jsxc.nextcloud but where is the XMPP server?
Hubl.in is part of OpenPaaS, and is a newer option. Social networking + videoconferencing + realtime collaborative editor + others.
This is WebRTC (which is great) but it doesn't handle XMPP.
https://github.com/linagora/hublin
Tox is interesting
Retroshare is very interesting
Not based on XMPP
Lots of chat features but what about videoconference?
Tigase is an XMPP server and it could have been the base
Tigase and Openfire are both written in Java.
License: Tigase is AGPL, Openfire is Apache
Openfire has more users and contributors
ejabberd is an XMPP server and it could have been the base.
ejabberd has two editions:
As of 2018-10, many features you'd expect for a typical project are only available in the Business Edition (eBE) (not Free/Libre/Open Source). This open core model is a disincentive for community contributions. In contrast, these features are Free/Libre/Open Source in Openfire. And if anything is missing in Openfire, we can contribute and everyone in the community will react favourably.
See also:
ejabberd is written in Erlang: not a deal breaker, but less known than Java, used by Openfire, Elasticsearch and Kibana.
Prosody is very good for a multi-tenant use case.
Prosody is written in Lua (not a deal breaker, but less known than Java)
Prosody is lacking a web admin panel
There is no WebRTC support or plugin
http://sdelements.github.io/lets-chat/
CandyJS is interesting. And we experimented with it to be the XMPP client and contributed the conversion to Bootstrap for responsive design.
But:
https://candy-chat.github.io/candy/
Organisations need to be in control of their data and software.