What if you could use one Slack account across multiple teams? What if Slack had threaded messaging? What if Slack supported markdown, or languages other than English? Mattermost is a self-hosted, open source alternative to Slack that shows you how Slack might look, feel and work with features that Slack is missing.
It’s written in Golang and React and runs as a production-ready Linux binary with MySQL or PostgreSQL under an MIT license.
Here’s what you’ll find:
One account for multiple teams
Because Mattermost is self-hosted, we offer users the ability to use one account across multiple teams, rather than creating one account per team.
That means users can easily communicate across teams without having to constantly switch context. It also means IT has a central place to manage all users.
At first, we had accounts the other way–one team per user account, which had many technical benefits–but we changed our model based on demand from users.
To keep track of complex discussions, users needed an easy way to comment on an earlier message.
Last year we added a “Reply” button that lets you add a comment on any previous message, and see all comments on a “threaded message” in the right-hand sidebar. This lets users move in and out of discussions within a channel, without losing context. Once you try it, it’s hard to go back to any other system.
To help teams stay organized, Mattermost offers click-searching on #hashtags.
Similar to Twitter and Facebook, you can add #hashtags to quickly categorize messages. When you click on a hashtag Mattermost brings up a list of messages with the same tag (and you can filter results by sender, channel and add keywords)
It’s particularly useful when you want to sub-categorize a discussion. For example: In the “Bugs” channel, you might use #defect (an error in the code) and #improvement (an error in the design) to categorize different reports, so you can filter on them in future.
Fast and easy formatting in Mattermost help users consume information more quickly.
When users can format a headline with just a couple of key strokes, channel content quickly self-organizes.
Advanced markdown–with tables, inline images, even code formatting with syntax highlighting–works just as easily.
You can even combine markdown headings with Emoji to change their sizing:
Users love Mattermost markdown for its power, simplicity and compatibility.
It’s a fantastic feature for any platform–and it’s an open standard that anyone can add.
There are 7 billion people in the world, only 335 million are native English speakers. Software can’t be global until it’s at least international. In addition to English Mattermost comes pre-packaged with Spanish, French, Japanese, and Portuguese and many more languages are under development.
Private Cloud Deployment
Mattermost is built for private cloud deployment, from supporting mobile app push notifications from behind your firewall, to running as a single Linux binary with MySQL or Postgres on a host of popular platforms, dozens of open source self-hosted integrations, to fostering a vibrant community of containers and orchestration integrations from Docker and Kubernetes to Cloud Foundry and Puppet.
Over two years ago, Slack announced a self-hosted offering but reversed course in 2015.
Self-hosting provides some enormous advantages, such as privacy, added security, and resilience to outages and DDOS attempts that can bring down public cloud services.
Most importantly, it lets you control your own data.
Mattermost can offer users a consistent aesthetic across your organization and your tools through deep personalization support.
In Slack, you’re limited to 8 color settings in the sidebar, and users can’t influence the rest of the UI. With Mattermost you decide on 21 different color settings, plus 11 fonts, whether you want text rendered fixed width or full width and many other options–you can even select the color of scheme of syntax highlighting in code blocks and attached files.
Themes can easily be ported from one user to another by copying and pasting in “theme codes” from one Mattermost account to another.
You can join the discussion on sharing themes in the Mattermost forum to import themes contributed by the community, or contribute your own.
Friendly Channel Names
When IRC was designed in the 1980s, channels could only be named with numbers and English characters–no spaces, symbols or other languages were allowed. Slack followed this pattern thirty years later, but we decided it was time for a change.
To make Mattermost feel welcoming to a diverse user base we let users name their channels with as few restrictions as possible.
Spaces, symbols, and characters from non-English languages work easily–and Mattermost automatically generates a sensible and editable URL name.
The user experience in Mattermost centers around channels, so we wanted them to be as friendly as we can be.
After its release, one of the earliest features added to Mattermost was syntax highlighting of code blocks.
Open your code block with three backticks and then specify your language (example: “`python), then close with three more backticks and your code renders:
You can even select the syntax highlighting theme colors you’d like to use to match the rest of your interface.
Of course, we had to include open source as an idea to improve. It’s an approach that provides enormous returns.
Huge thanks to the entire Mattermost community for making something people love. Your ideas and contributions echo on in the product, and we’d love for those ideas to spread.
Thoughts, feedback, questions? Please join us on the Mattermost forum to discuss.
(Editor’s note: This post was written by Ian Tien, CEO and co-founder of Mattermost, Inc. If you have any feedback or questions about What Slack might learn from its Open Source alternative, please let us know.)