A few years back, the primary mode of communication for a team was via mailing lists (for example, those old Python mailman lists — remember those?) As time passed, Google Groups came to the rescue, and managing threads for team communications became a lot easier. Teams all around the world began to use it, and most were happy with its features.
In recent years, however, tools like Redmine and Trello have arrived, providing greater control over projects — with features for project management a step ahead of forums.
Slack is a collection of chat rooms, both public and private. It helps confine all your team communications to one place. If that was all it did, it would still be very useful, but it does so much more! If you’re interested, here’s an excellent article on the backstory of the app.
If you are the team lead, just head over to Slack and create your team. You can then invite your team members.
You can create public or private chat rooms, with the option of one-to-one messaging as well. There are mobile and iOS apps, which keep you connected on the go.
Here’s a bonus — you can customize almost everything. For instance, this is our customized message while the app is loading.
One reason why I prefer Gmail over any other email is its powerful search feature. With Google Groups, all the communications were confined to my inbox — and searching for something was very easy.
I dedicate a section of this post to search because the search feature of Slack is very useful. Just one search box lets you search everything that is visible to you, including attachments.
You receive a notification when someone mentions your name, or when someone mentions all the members in a channel (
@channel), but you can go one step ahead and set up notifications for keywords.
One downside is that this can create a lot of notifications, especially when you use a smartphone app. However, you can tone them down by lowering your notification level in ‘account preferences’.
If you’re an admin of your team, you have access to usage statistics about your team.
Unfortunately, you’ll need to upgrade to a paid plan if you need detailed stats. But the free version gives you enough for a small team.
Third Party Integrations
Learn PHP for free!
Make the leap into server-side programming with a comprehensive cover of PHP & MySQL.
RRP $11.95 Yours absolutely free
What takes Slack to the next level is the ability to add third party services. Slack recognizes that it’s just a communication tool and teams would depend on other services (like GitHub, Asana, Buildbot or Dropbox) for their day to day activities. By enabling these third party integrations, Slack helps you connect to all these services from a single place.
Here are three of my favorites.
1. Hubot, the chat bot
You’ll need to deploy Hubot to Heroku and then add the third party integration on Slack. Here’s a list of steps you can follow. You could have a look at GitHub’s documentation to deploy it to Heroku. We call our bot “Hodor”.
You can make your bot do simple things like list the top ‘x’ articles on HackerNews.
Or add a mustache to someone.
You can program your bot to do some fun things to. Remember iRobot?
All work and no play makes Jack a dull boy. Let’s play Hangman now, shall we?
2. GitHub — track your repositories through Slack
Often, developers integrate a mailing list with their Git repositories, which leads to a mail for every new commit. With Slack, you can integrate it with the application. All you need to do is specify which repositories to monitor, and select the the channels that are linked to the updates.
Activate GitHub under Integrations in Slack, and connect a GitHub account to it.
After you have connected a GitHub account, you can link repositories (and optionally branches too) to a channel and select the events that trigger a message. In this case, we go with the default events. Here’s how the updates appear:
3. Google Drive — share files easily
Another useful third-party integration is a cloud-based file sharing system. Sharing files among your team mates is a necessity, and if your team uses Slack, why open a different service for sharing files?
Integrating Google Drive is easy. All you need to do is activate the integration and connect a Google account.
Once you’ve successfully integrated it, all you need to do is paste a link to the file, and anyone on the channel can access it.
Slack can also be integrated with Dropbox, for those teams that prefer Dropbox over Drive.
More third party integrations
Slack provides more than 60 third party integrations at the time of writing this, and they are continuously adding more! Therefore, it’s not feasible to cover all of them. However, I will mention a few more that may be important for the functioning of your team.
Many developers use Travis CI to inspect any code that is pushed to the central repository. This helps in the process on continuous deployment. Slack provides an integration to link a channel to Travis CI and post the messages of the inspections on every push.
Sentry is a service which logs errors in your applications. This integration helps in reporting real time errors in Slack.
Pingdom is a tool that checks the uptime for your website. You can configure Slack to get Pingdom reports and post them on a channel.
Many organizations (SitePoint included) use Trello for project management. You can add this third party integration to link your boards to Slack. Asana, an alternative for Trello, is also available on Slack.
Slack is a wonderful tool. If you don’t use all its features, it could function as a great chat application, but at its full power, it’s just so much more. It may be too early to say this (since Slack launched just over a year ago), but Slack seems like it’s here to stay.
You may still be using Google Groups or ancient mailing lists, but I hope I have made you realize what you are missing without Slack. So when are you trying it out?
Do you use Slack? What are your favorite integrations and customization tips?
Jump Start Git, 2nd Edition
Visual Studio Code: End-to-End Editing and Debugging Tools for Web Developers