I’d like to preface this rant unbiased and fair comparison with the following: I’m a software developer, and a nit picking one at that. It was immediately apparent that Teams was trailing behind Slack. After years of enjoying Slack (despite them taking 6 years to implement a desktop dark theme), Teams felt clunky, disorganized, and disappointingly immature coming from the largest creator of professional corporate software the world has ever seen. Given that Teams comes from the tech titan that is MicroSoft, they should be all the more embarrassed by this paltry offering.
Let’s start with the frustration of setting your status and using an emoji
So, you open up “Edit Status Message” and you want something fun like “working remotely 🏡” or “lunch 🍕”. Both of these are out of the box included with Slack. The good people at Teams, in their infinite wisdom, couldn’t fathom making a few clickable presets, so you must type every single status you want to set. No recents, no suggestions, just type it every time. What a wonderful age of feature rich technology we live in.
So, accepting your fate of carpal tunnel syndrome coming in a few years earlier because of this, you type “working remotely” and use `windows key` + `.` to open the emoji popover, and type house to filter down to a few options. You choose one, hit enter, and then, you hit escape. That’s when you’re hit with one of Team’s secret treasures: escape closes _both_ the emoji popover *and* the set status message popover. Wow, stellar stuff MicroSoft!
So, you then must repeat the above process, thinking now there’s now way you make it past 40 without reconstructive wrist surgery, and think that repeating the windows key + period combo should close the emoji popover. You know in your mind that it doesn’t, but you just can’t accept there’s no hotkey shortcut to close this popover. Must you click on the X close button every time? The answer is nay, and I will show you my secret power here.
The solution: enter TWO emojis, then use backspace to delete one, which also closes the emoji popover.
If you’re thinking it’s ridiculous, that this production product surely cannot have such a flaw, you’re not alone. It’s true, and I would ask anyone who can prove me wrong to call me out. I’m not holding my breath.
Oh, and for those of you who are wondering how this works in Slack: hitting escape successfully dismisses the emoji popover while leaving the status message modal in place.
Point 1 for Slack.
Moving on, let’s touch on memory and resource consumption
Double – from my limited ability to compare the two (a surface go laptop), Teams pulls up to 1.1 GB of RAM when channel surfing. Slack barely ever peaks for 500MB. Slack is also faster in loading new channels, and presents a smoother experience (my opinion). Teams struggles to keep up,
Triple – I pushed Teams up over 90% CPU utilization! I had to work harder to get Slack to push itself over 30%.
Teams appears to have been so poorly optimized for its own, native, home operating system (Windows). Slack works great on any OS, and certainly outclasses Teams in terms of performance on Windows.
Point 2 (and 3) for Slack.
Teams, Channels, and how they sneakily collapse without asking
Have you ever wanted to have channels that you’ve joined to just hide automatically? I haven’t, but if you have, Teams is the perfect choice for you! Let’s back up a little first.
The assumed team structure structure using Slack is that everyone is part of the same unit, with differentiated access channels depending on factors like role, projects, interests, etc.
Teams scopes this out further, assuming that everyone joining is a part of an organization, but must be broken into teams, and from there you can have channels. It’s not a way of grouping channels, it’s a way of separating users.
I much prefer Slack’s approach here, I believe Team’s teams is too abstract to be useful.
The layout, then, is that channels are organized under teams, which is one of the sidebar options. If this sounds a little cluttered, that’s because it is. You can click on the team names to expand/collapse the channels underneath. Teams takes is a step further in the app though: clicking on other teams will RANDOMLY COLLAPSE another team. This is completely intolerable, as now I have to click twice to get back to that channel, if I just wanted to quickly bounce between a few channels.
You also cannot drag/drop or rearrange your channels like you can with Slack. Slack allows you to create group sections, and choose how the channels are organized. Teams gives you zero customization options.
Point 4 for Slack.
The Layout
No contest, Slack has it all in one view: Channels, DMs, Threads, and Activities (Mentions and Reactions) all in one view. You switch between them like you’re changing channels. It’s very simple.
Teams doesn’t do this. DMs (Chats) are in a completely separate tab view from Teams/Channels, same with activity. More clicking to get to the same thing. More context switching, more view loading. More inefficiency.
Point 5 for Slack.
The uselessness of Team’s Activities
Imagine getting push notifications on your phone, tapping on it, but it doesn’t drop you into the app or context of that notification. It just tells you about it. That’s exactly the experience using Team’s Activity notifications. You get to see what happened but, unlike Slack’s notification which take you to the context when clicked, clicking on an Activity notification opens a milquetoast version of the message/conversation you can reply to, without the rich context of the rest of the channel.
Point 6 for Slack.
Channel Names (better get it right the first time)
So you go to create a channel (project-thing), only to realize you didn’t make it a shared channel, or some other kind of channel. You figure, no big deal, I’ll just delete this one and recreate it the correct way, using the same name since I’ll be removing this channel.
In a sane world, that would be the end of it. In Teams world, once a channel name has been used, it is protected in perpetuity, meaning that the handy name of project-thing must now be changed. To fix this, you actually have to rename the old channel (z-trash-1), delete it, then the name project-thing will be free to use again.
This kind of janky fix is unintuitive, and unnecessary. Say I really wanted that channel back, I would choose to free up the name when that channel was deleted, then bring it back as project-thing-1 or project-thing-(restored) and rename from there.
Point 7 for Slack
Wrap up
It’s fair to say that Teams is lacking compared to Slack. It might be even fair to say that Teams and Slack are in different echelons when it comes to collaboration tools.
Slack and Teams go beyond being just chat clients, they are the future of work. ChatOps, the practice of setting up workflows and status updates to all be delivered via chatbots and web hooks, is the future of work. Slack does it best right now, but there’s much room for improvement. Perhaps MicroSoft will rise to the occasion to fill that void. Perhaps not. I’m not holding my breath 😉