Mattermost vs Slack
When comparing Mattermost vs Slack, the Slant community recommends Slack for most people. In the question“What are the best Skype alternatives?” Slack is ranked 11th while Mattermost is ranked 15th. The most important reason people chose Slack is:
You can upload a file to any channel over HTTPS simply by dragging and dropping.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Can be self-hosted
You don't need to rely on someone else's servers, you can host Mattermost on your own server.
Pro One-line Docker install
With Docker set up, you can install Mattermost with the following command:
docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform
For other cases, installation instructions can be found here.
Pro Similar to Slack
Almost all features of Slack are available in Mattermost.
Pro Free - OpenSource
You can download and use it as free for self-hosted server.
Pro Mobile apps for android and iOS
Pro You can change theme
Pro Desktop app for MacOS, Linux and Windows
Pro Browser notifications
Pro Mark-Down support
Yes, it supports markdown.
Pro Drag & drop files in channels
You can upload a file to any channel over HTTPS simply by dragging and dropping.
Pro Fantastic search functionality
You can deep search messages, files and snippets. Given Slacks integration into many external services, Slack is good enough to act as the central search interface for your entire team.
Pro @mentions
You can ping people to get their attention even if they are not online by @mentioning them. Slack supports desktop notifications.
Pro Very polished user experience
The entire Slack interface is polished and intuitive to use. There are very few bugs or inconsistencies in the UI and it's very fast to use. There is nothing in particular that is new with Slacks implementation of team chat, but the execution of the groups (called channels), search, external service integration and notifications is close to perfect.
Pro Apps for iOS, Android, Windows Phone, Mac OS, Linux, and Windows
Slack has apps for iOS, Android, Windows Phone, Mac OS, Linux, and Windows to give you the full functionality of Slack with some extra features not found on the website on most major platforms.
Pro Supports multiple teams
You can be signed into multiple teams simultaneously and quickly switch between them.
Pro Freemium plan
Free forever, only restriction on searchable message archives, up to 10k of your team’s most recent messages and 10 apps or service integration. Great for trying out first.
Pro Robust integration with a huge number of tools
Slack integrates with tools like Trello, GitHub, Dropbox, Mailchimp, and dozens of others, so you can have a centralized event feed of your project right alongside your chat. This is tremendously useful for keeping context with your discussions.
Pro Emoji reactions to limit excessive posts and notifications
Pro Multiple channels for different groups
Pro Syntax coloring
Pasted code can be colored based on syntax.
Pro Edit messages easily
It allows you to change what you sent by hovering to the message and selecting "Edit message" under the ellipsis (...).
Pro GIFS
easily embed gifs with /giphy
slash command.
Pro IRC connectivity over SSL
Pro Flexible, granular notification settings
Notifications are handled separately for mobile and the web app. You can receive notifications for all messages, just direct messages, or based on filters, and you can have different settings for different channels: you don't have to get notified every time someone pushed to GitHub or every time someone posts to off-topic chat, unless you want to.
Pro Inline link previews (photos, mockups, etc.)
When a link is added, some content in the link is shown such as image - like how Facebook does it when you share a link.
Pro Slackbot extensible chat robot
The "Slackbot" can is an extensible robot that can be set you remind you about tasks, auto respond to certain phrases and a variety of other functionality.
Pro Dev team is invested, responsive, and friendly
Having submitted both feedback and support requests for bot development, I can personally attest that the team takes feedback seriously, and responds quickly to communication. This is vital for any closed-source or hosted project.
Pro Shows local time of each participant
You can click on the profile of a user to see their local time. An especially useful feature when members of your team are working in different timezones.
Pro Self chatting
Creative implementation which is very good for personal journaling or drafting/collecting ideas. Previously, to do this, users needed to create a private channel with themselves. Note that some other team-chat apps may disallow creating group/channel with no 2nd person(s).
Pro Can Create Diagrams with Creately
You can just create flowcharts, org chart, mind maps, UML charts, infographics and many more by typing /creately new <document name>
Pro It can surprise you
There's a checkbox in preferences under advanced options that may surprise you.
Cons
Con No easy End-to-End Encryption setup
Con Features not available out of the box
Difficult to setup the many features it offers. The easy docker installation is for the application only, not it's feature sets. Requires a license for full-set of features.
Con Centralized
Con Poorly made iOS app
Built natively using React it suffers from unresponsiveness, input lag, and sometimes broken services. Coupled with a bad user experience.
Con Poorly made Android app
The Android application is just a badly wrapped web-view which does not perform well and has no form of offline caching whatsoever.
Con Self-Hosted
This doesn't work for every type of company. Mainly great for those concerned with privacy, security, compliance and control of your data/information.
Con "Native" desktop apps are web apps
While it's great that Slack provides installable apps for Windows, macOS, and Linux, they're just the Slack web app wrapped in Electron shell. This means they don't offer the same level of native UX that a truly native toolkit app would.
Con Expensive when you need to upgrade
At $6.67 per user / month (or $8 if billed monthly) , Slack is significantly more expensive than the competition if you need features such as unlimited integrations (more than 10) or unlimited message storage (more than 10,000). However, the free version of Slack includes unlimited users.
However if you need only unlimited messages you can use storage services like https://slarck.com to upload then browse and search your entire message history, while staying in Slack's free plan. So with a combo of Slack+Slarck this con is not that major.
Con No self-hosting available
If you are worried about third-parties getting access to your data you should consider self-hosting. With self-hosting you are in control over where your data is stored, who has access to it. You will also not be vulnerable to exploits of a third-party provider.
Con Hidden max limit of free users per channel
Slack says that their free accounts support an unlimited number of users, which is true. However they don't mention that there is an undisclosed maximum number of users per channel (8462). For a large open source community, this is something to keep in mind.
Con Proprietary (non-free/libre)
Con Linux client is very RAM intensive
Con Slow and lags sometimes
Con No E2E encryption
Data is sent of SSL only, not E2E encrypted.
Con API doesn't allow custom widgets in chat
Con API is overall very poor
Can't do much with integrations.
Con Awful performance and constant glitches, since it is Chromium-based
You will experience a lot of hangs and glitches and it eats immense (for as basic as UI is) amount of RAM.