A solid solution for corporate instant messaging and chats has become essential in many areas of working life. In addition, it is important to be able to participate in conversations without a platform barrier. Extensions like instant telephony or video chat complement a solution in a pleasant way!
Matrix Synapse – a good baseline
As a basis for the Element (aka Riot) Chat Service, the solution is based on the Matrix Synapse service, which is published under the Apache Open Source License and can therefore be operated by anyone. The underlying concept of the service is a distributed approach with Federation. This means that anyone who wants to run his own chat server can connect it to others, thus creating a large independent network.
Group chat and video telephony
Direct messaging and group chats are amongst the core functions of Element. Audio and video telephony 1:1 are also included. If needed Jitsi is used for group video. Here the integration is seamless and you can participate in conferences via Element Client, Jitsi Client or WebRTC.
The Element system offers many extensions that allow you to integrate other systems into the chat environment. If the offered solutions are not sufficient, you can even use open interfaces (REST) to extend the system, for example to integrate an internal monitoring tool or the Atlassian tools. Integrations for other platforms, such as Slack, are also possible with the tool. Other bridges, such as those to Facebook or WhatsApp can be very interesting for the user.
Matrix Synapse and as well as Element offer the possibility to encrypt chatrooms (direct or group). The messages are encrypted end-to-end. The verification of new chat partners or programs is done comfortably within the application by means of emojis, which are compared.
Instant Messaging Clients
For easy handling there are numerous client programs available. In addition to the WebClient, which is started via browser, there are also apps available for the desktop operation systems Windows, macOS, Linux as well as the mobile operating systems Android and iOS. There are also 3rd party apps that integrate the functions available (e.g. Rambox).
With communities you can create your own workspaces within Element to keep the overview. Not only members of your own matrix server can be invited to these communities, but also – as in other areas of Element – external chat partners.
Setup and installation
Setting up and operating Element as well as Matrix Synapse is very flexible since different types of deployment are possible. Either as a hosted variant, which then runs on the Internet with an provider or on your own server. We settled for the second option and use a docker based Ansible Playbook for configuration and installation. Here, in addition to the settings, the option is also provided to set up components that are not part of the core of the solution on the server.
Summary and forecast
We have made very good experiences with Element and the Matrix Synapse Server. Not only were we able to use features that are charged as premium features by other providers (like video telephony and unlimited chat rooms and histories), but we were also able to integrate our own tools like Icinga2 or the Atlassian Toolchain. It is important for us that data from our systems does not pass indiscriminately through the servers of others on the net, but that we retain the data sovereignty which is a given with Element.