Although not yet as common as email, instant messaging or chat is a very powerful and important tool for team communication. In recent years, messaging apps have become the core application of the mobile internet. In business, there are a number of reasons that instant messaging in the form of team chat has gained massive popularity.

For those companies and teams that do work collaboratively and creatively, team chat is essential. It strikes a balance between synchronous and asynchronous communication. It is also more casual and, in a sense, faster than email.

Instant Messaging & Chat at a Glance

Type Interruption-Level Style & Tone Used through Popularity Reach
real-time medium to high casual app / browser medium individual / group

Best Use Case for Instant Messaging & Team Chat

Instant Messaging is real-time communication and a very useful part of team communication. Chats you have with your teammates range from asking and answering work related questions to social "hanging out".

Features of Instant Messaging & Chat Software

Persistent Chat

In the context of instant messaging and chat software "persistent" means that all individual and group conversations are saved and accessible (over time) and searchable for later reference. It also allows group chats or rooms to be monitored in order to notify users, i.e. when mentioned in the conversation (often via @mention ).

Persistent chat is an important feature for professional use.

Making use of search is a theme I have laid out in more detail in the article Become a Master at Search and also in The Shortcut Principle.

Automation and Bots

Most chat applications offer integrations (APIs) for use with chat bots. Typically a bot has its own account in your chat app and is treated as a user just like your teammates. The bot either responds to messages sent directly to it (also via @mention) or simply monitors different rooms and is triggered by specific keywords.

Bots can be used for a variety of tasks, ranging from providing previews for posted links, image search, answering mathematical questions or calculating and posting a graph showing the latest sales data. Depending on your use case, bots could also compile software releases or, in case of Github, even make changes to the entire web infrastructure to mitigate an attack:

 A simple Hubot command can reroute our traffic to their network which can handle terabits per second.

Bots are so useful for these kinds of tasks because the chat is always at your fingertips. Typing a simple command is often way faster than clicking through some kind of intranet. Additionally, the commands are usually “natural” language, so asking for a graph of yesterdays sales could be as easy as @bot graph sales yesterday.

Apart from performing productive tasks, bots are a lot of fun and often times help shape the company culture. Replying with an animated GIF every time someone uses an already overused reference can make for a good laugh, especially when nobody expects an automated reply.

Pre-Formatted Messages

Another important feature is sending of pre-formatted text, which is especially useful for code snippets or quotes. Code can get syntax highlighted automatically and it’s easier to spot a section you’re looking for when quickly scrolling through the message history.

Syntax highlighting in HipChat

Depending on the application, it may automatically detect these types of special content while others need it to start with a flag like /code or /quote.

Software and Applications

There are a number of different services and applications that provide you and your team with the ability to exchange instant messages (chat).

Kato.im

Persistent Free Paid Used through Extendable Supported OS
yes yes $? / user app / browser yes Windows / OS X
iOS / Android

Kato’s slogan is "We’re fixing business communication". What I like even better is the CEO’s statement:

 "Saving people. From email."

We recently switched to Kato and are more than impressed with what it does and how it does it.

It’s our new favorite team chat app.

Unfortunately, Kato will be shutting down on August, 31st 2015. As the CEO told us, the team will move on to further working on Sameroom.io. We will soon publish some more information about how you can use Sameroom to increase your team’s productivity.

Our team is going to follow Andrei’s recommendation and give Fleep.io a chance. We are also going to let you know how we like it in a few weeks.

Update: Fleep is not going to be our team’s new home. The product is moving in a direction that doesn’t appear to be very useful to our needs. We will have to work with Slack for now.

Some things that we particularly enjoyed using Kato:

  • Clean design
  • Multi-column chat view — so good
  • Markdown support
  • Keyboard shortcuts
  • Awesome direct customer support (chatting with the team and CEO himself)
  • Noise control to adjust notifications
  • Our chat bot Ben also found a new home here
  • iOS app available

HipChat

Persistent Free Paid Used through Extendable Supported OS
yes yes $2 / user app / browser yes Windows / OS X
iOS / Android

HipChat is the IM our team used to work with. Some of HipChats features we liked include:

  • The free plan now has unlimited users; the paid plan is reasonably priced
  • Desktop and mobile applications are available
  • Files can be shared within HipChat via drag & drop (everything gets stored on Amazon S3)
  • The chat rooms (for 1-on-1 chat or groups) are persistent and searchable
  • A bot can be part of our team and help us automate certain things right from the chat window
  • GitHub can push notifications directly into our chat rooms

Slack

Persistent Free Paid Used through Extendable Supported OS
yes yes $8 / user /mo app / browser yes Windows / OS X
iOS / Android

Slack has gained a lot of users in a very short time. It has popularized integrations for chat apps.

Fleep

We are just starting to move from Kato to Fleep. It was recommended to us by the CEO of Kato. And since we’ve really fell in love with Kato, we will follow his recommendation and check out Fleep.

I will update this guide as soon as we have some more experience with the team chat app.

Skype

Persistent Free Paid Used through Extendable Supported OS
no yes $9.99 /mo app / no Windows / OS X
iOS / Android

Everybody seems to have a Skype account these days. Unfortunately, Skype is shit – that’s a professional assessement, not just an opinion.

Why, you ask? The main reasons are:

  • Skype is not designed for text chat; it’s a video call software with text chat capabiltiy
  • Skype chats are not persistent
  • Skype does not allow users to send messages to users currently offline. Because of the way the protocol works, messages can be "pending" and will only be sent when both user are online simultaneously. This often leads to incoming messages when logging in that have been sent some time ago.
  • Skype often does a poor job at syncing messages between devices (desktop, smartphone, multiple machines); messages don’t appear as expected.

Hall

Persistent Free Paid Used through Extendable Supported OS
yes up to 5 users $3 / user / mo app / browser yes Windows / OS X
iOS / Android

Hall is "the all-in-one communications app for business & teams".

Hall provides text-based chat as well as video call / video conferencing features.

Google Talk / Hangouts

Google Talk, now integrated in Hangouts, can be used as an instant messaging service. It is, however, not necessarily a professional solution since it requires the user to have a Google+ account which often times leads to conflicts between personal and professional accounts.

A Comparison Between HipChat and Slack

With the last update to the HipChat Mac client, our team was at first not very happy with the layout changes at first. We took the chance to give Slack a try. Here’s what we found out.

We installed and used the "native" Mac client as well as the web application. I will get to the mobile iOS version later.

Smaller Screens and Narrow Window Sizes

The first thing I wasn’t happy with, is how the client reacts to window resizing. I realize that some people would never mind the following, because they are never using the kind of screen size and splits I do. For those of you, who do, read on.

There are two major problems:

  • The left sidebar won’t go below a certain width, no matter what.
  • The text in the chat gets cut off and continues out of sight. Weird.

Here are some screenshots to illustrate what I mean.

You can see the application window. Slack which just stops to adjust to the chosen window size. The text is not readable anymore.

I have also no way to reduce the width of the sidebar or, better, get rid of it if that what the user wants.

I have also made some screenshots of HipChat’s application window. It has a certain minimum width, but the text keeps readable. I can also temporarily remove the sidebar if I don’t need it.

Chat Functionality

There are no major differences in the way the chat works. It’s possible to address specific people in the channel or room using the @-sign plus their name.

Attachments

Both apps support sharing attachments per drag & drop. In HipChat, the attached files become part of the chat like any other message. In Slack, uploaded files can have their own stream of comments and create some kind of mini conversation thread of their own. This might be useful for discussing some design draft, but in our experience it was unnecessary and sometimes rather confusing.

Rooms and Channels

In Slack you can also use hashtags to point or refer to other channels. Using a channel hashtag won’t push or link the message to the channel mentioned though.

In HipChat you have rooms.

Bots and Integrations

Slack has a lot of preconfigured integrations that make it easy to connect for example Asana, GitHub and a bunch of other services with one click to either receive notifications for a service on a specific channel or even interact with them (eg. add a task to Asana).

HipChat supports integrations of some form as well, but the setup currently requires more work and is more complicated.

Additionally, both services support adding bots to further customize very specific tasks. While Slack has a bot by default, its capabilities are a little limited. Our team has a custom bot that has its own user account and listens for commands in specific rooms.

One specific capability we added (and customized to fit our needs exactly) is that when posting a URL to a task in Asana, our bot grabs the task title and some meta info and returns it back to the room. Some services offer this by default for Tweets for example, but now it works exactly the way we want it to. Custom bots give you this freedom but of course require custom development of some form.

Security and Privacy

As with all hosted services, privacy is something that should be thought about from the beginning and that can quickly become a major concern. Your messages are transferred through and stored on somebody elses server and therefore there is the potential of leaks and full disclosure of internal messages. This is the case with every hosted service though, even email.

Just recently for example it was discovered that it was possible to see all Slack teams for a specific domain, allowing everybody to "spy" on their competitors or even companies like Google or Facebook (which apparently use Slack internally). While no messages were disclosed, things like this can happen and will happen.

Matthew Guay (@maguay) published a comprehensive article on the current options for team chat: The Best Team Chat App for Your Company.