Choosing Between 7 Messaging Platforms for Online Communities
In the old days, we use forum tools like phpBB, discuz, etc for community discussions. Since mid of the decade 2010–2019 (aka 2010s), numbers of messaging platforms became available. In this article, I will try to compare and share my experiences w.r.t. some of the popular messaging platform: Discord, Gitter, Mattermost, Microsoft Teams, Slacks, Telegram & Zulip.
This article assume you already have general idea of the stated platforms.
All the stated platforms provide free-tier and will be good for community use. Let’s have a quick look and do a comparison between these platforms.
As you can see, there will be different limitations for different platforms. For example, message quota for Slack will be 10k. That means the oldest message(s) will be removed. There are also other items I didn’t included in the table, e.g. storage quota, message formatting, integrations, etc.
If there is no cost concern, my preference goes to Slack — especially when we talk about using Slacks as an enterprise messaging platform.
- As the name, “Searchable Log of All Conversation and Knowledge”, slack did a great job — I can do search and get/search what I am looking for easily — I am old fashion — I prefer read / search / do my homework, before posting question(s)
- The UI is clean, able to open multiple workspace. E.g. I have ~30 workspaces
- Conversions got organized into threads (though a lot of ppl don’t use threads) — this is very important to me (again, I am old fashion) as it will be difficult to follow topics/conversions without threads — yes, most channels I joined got hundreds of new messages every morning I wake up
- lots of integrations, e.g. github, gitlab, jenkins, pagerduty, polls, etc….. or something just simple as REST
- both desktop app, web, and mobile app are available
- custom notification settings in mobile / desktop app
Yes, you might think I am a fan of Slack 😃. Let’s get back to the real world and see which one will be a preferred tool for a community.
Slack is good. However, if you really need to enable searches for ALL your past conversation, the whole purpose of searchable of ALL is lost. Another slack limitation is message formatting, e.g. cannot have table in slack.
To me (as a community tool), the importance will be in the order of: max number of users >multiple workspace (account) with multiple channels > message threading > message quota.
As a quick wrap up:
- I will put Telegram the lowest. Yes, it is good for real time chatting and continue using it as supplement but without multi-channel + too much spam (too easy for spammer) . it is not a good core message platform.
- I will forget about mattermost because of max number of user
- MS Teams will not be my cup of team until it support multiple accounts / workspace for the app version (yes, until it support multiple-workspaces)
- Zulip and Gitter looks not bad. People can keep exploring them. In terms of users experience, UI, message threading, I will go for Slack/Discord first. Zulip/Gitter will stay in 3rd/4th
- Yes, Discord / Slack remains in the top. For me, I go for Slack because of message threading. Discord is the runner-up.
This is just “my own experience” — you all are welcome to disagree with me. At the end of the day, you will need to choose what are your priorities, what is the most important feature for you.
Beside SaaS, you might also want to go with the self-managed option, that is host your own platform. There are different choices such as Rocket.chat, Mattermost, etc. Of course, by self-managed, you will need to source your own IaaS (cloud service) and DIY to do the installation, configuration, and more important, Day-2 operations. I personally won’t recommend self-managed option for a community, because:
- maintaining a stable services is not just a piece of cake, even though it might already be part of our daily job — I won’t recommend community members to do it. It is fun to setting up a server (at least I still feel it is interesting). However, I will only recommend people to do it for personal interest (or as part of your job) but not as a responsibility / accountability for the community. A stable service means we also need to think about now to maintain it 7x24, the monitoring, how to handle incident and outage, etc.
- there is no “real” free lunch. Even though you got free account from some cloud services, there are always limitation, like server processing power, bandwidth / traffic / egress. it is not suitable for “a stable service”
What is your favorite messaging platform? Please feel free to leave comments for, if you like, join the Cloud Study Network Slack Workspace for further discussions.