Slack is an amazing tool that liberates office productivity from the inefficient tyranny of email. Except when it goes down, when it becomes a single point of productivity failure.
Slack is down. Chaos reigns! pic.twitter.com/XOgqUc7Fts
— Parker Molloy (@ParkerMolloy) January 9, 2018
Earlier this week Slack decided to take a little time off, grinding a lot of my process down to a screeching halt. Now this doesn’t happen all that often for Slack. I’ve been using it regularly at work for about 16 months, and this is maybe the second outage of any considerable length. Still, it got me wondering if I could privately host Slack. That way I’d at least be able to blame myself when it inevitably goes down.
After a quick Google search, what I found was Mattermost.
Slack By Any Other Name
Anyone familiar with Slack will find Mattermost remarkably similar. All the design cues from its SaaS brethren are present. On the left is a familiar channel and direct message pane. The right is dominated by the chat conversation for the currently selected channel. You can add emojis, use the same text formatting, and even paste in GIFs (which is very important for any Slack alternative).
In fact, there are a few major usability differences. One is in the channel selection. In Slack, these are defined with a hashtag, which can be used to provide a link to another channel in chat. I haven’t found an easy way to do this in Mattermost. That being said, it’s a feature in Slack that I’ve barely used. The other major difference is threading. While Slack’s implementation of threaded messaging is both a little clunky and late in arriving, I still prefer it to Mattermost. By default, the app dumps threads into the main chat conversation. These are linked back to the original threaded post, but it’s neither all that obvious and hard to follow in the line of a conversation.
But overall, especially for a free community edition, it’s a remarkably full featured suite. From a usability perspective, switching over from Slack should be relatively seamless.
Tryouts and Deployment
As a pure SaaS application, Slack has the benefit of being extremely easy to try out for prospective users. It’s free to start, just signup with a team name and you’re good to go. Being a private cloud Slack alternative, Mattermost would seemingly have an uphill battle just to get people to try it out. But Mattermost has a whale-sized ace up its sleeve in the form of a dead simple Docker trial install. This can get you up and running on your laptop in a minute or two.
docker run --name mattermost-preview -d --publish 8065:8065 mattermost/mattermost-preview
After the pull, you’ll be up and running Mattermost locally. It’s a pretty limited experience. But unless you’re coming at it with no experience with Slack, it gets the point across. Their main obstacle is showing they can do a private cloud version of Slack. Providing a quick and easy trial that shows the similarities in UI, formatting, and behavior goes a long way.
Mattermost also plays to the crowd when it comes time to putting it in production. Basically it’ll run any which way you want it. They’ve got support for running a production version with Docker, Ubuntu, Debian, RHEL, Oracle Linux, and CentOS. If a local server isn’t your cup of tea, Mattermost can be deployed easily on Bitnami, which can run on any of the major public cloud providers.
All of this can be done with the free Team Edition. They also offer an Enterprise version (much like Slack), that offers customer branding, 2FA, and better management and configuration.
Apps and Plugins
Much like Slack, Mattermost can be run as a web app, locally on macOS and Windows, and on mobile iOS and Android apps. That’s the good news. The bad news is that it seems the mobile experience is more hit or miss. The reviews for both smartphone apps are not great, around 3 stars for each platform. Looking at the comments, there are complaints of slowness, inability to upload files, and general bugginess. One of the major strength of Slack (at least for me) is how smoothly you can move from desktop to mobile and not miss a beat.
It’s possible these performance issues are a result of the more varied install base for the Mattermost app server. This is where the benefit of Slack’s SaaS platform comes to the fore. Without switching over to it full time, I can’t personally comment on the quality of the mobile experience. But it could well be a deal breaker for many looking to make the switch.
As far as app integration go, Mattermost is again a mixed bag. Quantity has a quality all its own, and Mattermost doesn’t have nearly the number of bots and apps you can find on Slack. That being said, Mattermost is an open source project, so there are a number of integrations on GitHub. And it has Zapier support, which does open the possibilities. From my browsing, these tend to be pretty developer-centric. But being an open platform does have long term advantages.
Do You Need It
Let’s face it, as annoying as this week’s Slack outage was, it’s very much the exception. It would be one thing if the service crashed like mid-2010’s Twitter, with constant Fail Whales. At least from my experience, Slack is reliable enough that I can’t really justify moving away from it simply based on a single incident.
But being privately hosted has a number of other advantages for Mattermost. The biggest is that there are no limits to storing files or chat history (or at least, it’s only limited by your own storage). This is one of my biggest headaches with Slack, and for a lot of organizations might be a killer feature, especially since you don’t have to pay extra for it. Theoretically, this could move Mattermost from strictly a Slack replacement, and encroach into Dropbox territory.
Mattermost is definitely worth a look for any group that needs control and doesn’t mind doing some upkeep from time to time. Whether it’s performance and features are worth the tradeoff from Slack will probably require a bit of testing. But for people concerned about putting all their productivity eggs into a SaaS basket, it’s nice to at least have some options.