At our company we had used hipchat for a little over 2 years, back when it was charging for when you had more than 5 users. I had previously tried to get the founders to try slack (since it was all the buzz) and failed. Since nothing was broken, I decided that hipchat was good enough for the team.
Recently, around the beginning of this year, one of my co-founders had become very impressed with slack as a company and as a product. He gave it a whirl and got the team to decide to switch to slack. Personally I wanted to try out slack and with the recent outage they had and friends jumping ship, I was pumped to make the switch.
Quickly after making the switch I realised that Slack didn’t get everything right. Its odd how both Slack and Hipchat have serious deficiencies yet none of them seem to be tackling them. They seem to be more focused about adding new emoticons than to make life easier for their customers.
In this post I want to highlight what each of them do well, and what they both really suck at.
TLDR; HipChat wins!
Slack has way more integrations than hipchat, but as the saying goes, its quality over quantity. Other than the twitter & hangouts integrations, all of the slack integrations we use really suck!
For example, the Jenkins integration, slack added a whole bunch of features to that integration that make it a total pain in the behind to make it work properly. To add proper notifications into our existing jenkins build I have to click exactly 8 times (not including actually getting into the jenkins build config). The jenkins api is not that friendly so scripting it (which is something I did for our bitbucket integration) was not something that was favourable.
On the other hand hipchat’s plugins are simpler to configure, they have sensible defaults and a way to globally configure defaults so that I don’t have to tell the plugin that I want to be notified for these three types of failures and two types of successes for every single jenkins build.
That being said, sticking with the jenkins example, none of them just have the option of saying enable this for all my builds from the defaults area. You still have to go into each build and do something. For us, where we have over 50 repos all with automated tests and some with deploy builds. It is quite a nuisance.
Another horrible example is the slack trello integration, we love trello and we make a board for each sprint. Slack wants us to create a new integration each sprint as we have to hardcode the board name into the settings. That is a total waste of time and no one did it. After the first sprint was over we no longer saw trello notifications. Many people on the internet are making their own trello-slack integrations, but what’s the point of having one in the first place! Again quality over quantity; figure out your customers pains and fix it!
TLDR; Slack Wins
Slacks Interface is much cleaner than hipchat. There is just some little things that are great about the chat interface. And to be honest, thats what it was meant for. The integrations are very important for a dev team but this is the core. Small things like typing indicators and status bar messages saying who is typing in a group chat is really cool. Also the ability to copy paste code and having it paste properly, annotating files that are uploaded (Slack uses comments for that), and even the search interface make slack better at the basic chat interface side of things.
Slack also allows for much more flexibility with different connection mechanisms, like turning on an irc endpoint for example. Hipchat allows only for a jabber endpoint (AFAIK).
In terms of mobile app, they both tie. HipChat’s mobile app is quite good and it came a long way from where it started. I remember when we first started with hipchat I had to download their beta app since the prod one simply was crap. Both apps though have their quirks (different ones). I would say none of them blew me away. They are both normal android apps, nothing special. There is definitely room for improvement and winning more customers via a better mobile app.
Since we are talking about chatting HipChat had one simple old school feature that slack just doesn’t want to add. To be able to chat with yourself. It is important for sharing links to read later or todos. To work around this we ended up creating private groups with only one member.
TLDR; HipChat wins by far! Slack seems to not be trying
Follow on from the interfaces conversation, both hipchat and slack have web clients. Needless to say everyone wants an app even if the webclient is good. A chat app just works better. The web app is good when you are on the road, on someone elses machine etc, but not for keeping in touch with the team.
Slacks idea of an app for poor windows users (they have more problems than not having a slack app, like keeping their sanity or not going crazy by clicking too much on their poor mice), they also do not provide a linux app! Both things that hipchat has.
Bigup for hipchat for providing not only linux apps but prebuilt binaries for major distros. I love(d) my debian packages for hipchat and how they auto updated. Even though the app had bugs like taking them ages to figure out how to put the icon in the status tray properly, it was still way better than a company telling its windows and linux users to use a chrome bookmark as their app! (yes thats what slack says!)
TLDR; its a tie
They both have notifications that go to your email when you are offline and don’t have a mobile app. Both notify you on your mobile if your on the phone. Hipchat is a little better where it will send you an email if your app doesn’t seem to be connected. Slack is better at buffering the messages so they go out in less emails.
[Rants] What just simply isn’t right
Hipchat Video. WHY!? There is millions of alternatives, but I am only going to mention one: Google Hangouts. I love what Slack did by integrating into google hangouts. TBH, that was pretty much the feature that attracted me to slack, being able to create a hangout and share it with the group. Slack uses a weird link though (hangoutsapi.talkgadget.google.com) which doesn’t allow you to switch the logged in user, which is cumbersome. Still they are on the right track.
Slackbot is the probably the most useless bot ever in terms of a chat bot. If I was slack I would scrap it without thinking and give people migration scripts to hubot. I am sure everyone is using hubot or an irc bot and no one is bothering with slackbot. What a waste of screen space when i see that useless bot. I just realised as I am writing this that you can X them out from the list of connected users, but they still show up in the “+1 More” section.
Personally think that a move back to hipchat may happen for us. Especially if hipchat starts fixing what is clearly broken. Both products need to focus on whats real, CHAT! make sure the communication piece is down and working properly. Integrate things that are already working well like google hangouts. Make integrations as easy to plugin as can be; They are called integrations for a reason!
I have recently learnt that buffer moved from hipchat to slack then back to hipchat. So we won’t be in bad company if we decide to do that. Who knows perhaps slack will use their recently invested money to blow me away and fix all their integrations and add a linux app and get this going for real!