Collaborative tools are on the rise. The idea is to limit the use of email, and to allow exchanges through a medium that will be easier to follow and will make it easier to archive information. Among these tools, we find in particular Rocket.Chat, Slack and Mattermost.
I only looked at it briefly, because in the pursuit of self-hosting tools I wanted a tool that could be installed locally and not in SaaS mode. But it is very complete. There is a team management, channels, there is a fairly advanced file management allowing in particular to find the files shared by a particular person, it integrates an assistant in the form of a bot, it can link to tools third parties… It was created by the founder of Flickr, and is widely used in the business world. It is undoubtedly the richest tool of the three.
While looking for an open-source and locally installable equivalent, I came across this article by Korben which quickly presented Mattermost. So I installed it and quickly tested it. One of the ways of doing Mattermost is to partition the teams rather strongly, and thus have the possibility with one tool to have several instances. With the advantage and the disadvantages that they are very compartmentalized between them. The functionalities are quite rich , the installation is rather simple, either quickly with Docker, or by following the installation guide which for having followed it on Ubuntu is very well done and precise.
While continuing my research on the subject, I came across Rocket.Chat. This is the choice I made. Both for home (the opportunity to install it on my recently received Raspberry Pi 3), but also for a specific need at work. The features of the tool are very rich, it notably allows in addition to the standard functionalities of these tools (public channels, private channels, instant messaging, file sharing, etc.) to perform WebRTC and screen sharing. Another nice feature, when you copy a link, it will show you a preview of it. It also allows communication with third-party applications through webhooks. As we use Jira, this would allow us to create a bridge between the two tools if necessary. I was also able to test the Rocket.Chat Android application (these three tools offer their mobile application available on the various stores). It generally takes up the desktop interface, with some mobile-specific features. Like being able to take a picture and post it to a channel.
In short, these three tools should make it possible to find your happiness. Between the SaaS or local mode, the fact of being able to do WebRTC or not, or the fact of strongly partitioning your teams or not. From what I saw quickly, Slack is the most successful. But the other two tools apparently have a dynamic development team behind them and are rapidly expanding with new features.