Recently I’ve started to use Slack for actual business purposes - its original design intent - and I continue to be mystified by people’s love of it. Previously I only used it in the decidedly sub-optimal context of public communities, mostly for software projects like Roam, and it didn’t surprise me so much that it worked poorly there. After all, it was designed for smaller and more internal discussions where some of its features or limitations probably made more sense. But as I’ve been using it now more in its intended role, I just keep running into things that seem really unintuitive or poorly thought out to me. It’s quite possible - even likely - that I’m just a person who won’t “get” Slack, just like I still haven’t “gotten” why people love Twitter. I use Twitter, sure, but I still kind of hate it.
Anyway, Rob Haisfield over on Twitter (an excellent follow btw!) asked me what I disliked about Slack’s threading implementation recently, and after I grumbled about that for a while, it turned into a general critique of Slack’s UI and UX. I figured it would be great content for the get-off-my-lawn section of this digital garden. So the following is, at least initially, drawn directly from this Twitter thread (I’ll clean this up soon…):
Preface: I have a couple decades of exp. in both real time and async, from un/threaded forums to AOL IM, ICQ, Skype, Hangouts, & now Slack & Discord (+ Discourse). I’ve used a lot of systems, these are my personal preferences, but at least informed by a lot of experience FWIW.
For me, the thread indicator is just surprisingly small & indistinct. It’s not easy to see when skimming a Slack channel that you’re catching up on. They’re easy to miss stuck as they are with tiny icons just below the reacts. Info presented (replies, date) is good, just small.
Threads don’t show up in any other place AFAIK, unless you participate, then they’re in your threads view. Other systems e.g. show a list of recent threads within a channel. This helps surface them and their activity.
Threads are also, AFAIK, anchored to the time of their original creation, so unless you’re following a thread, you won’t really notice that it’s been updated/had new messages. In essence they break the time line of the conversation in an opaque and inaccessible way.
With no other ability to reply to a specific part of a message, you either lose context (i.e. “I’m replying to this specific part of text”) or you maintain it but force a branch. Threads “silo” the conversation and feel “heavy” for that reason and I’m reluctant to use them.
Also I should mention, they lack a “subject” or “topic”, and that’s something that is helpful in forums. Arguably you could do something similar in Slack. If you could give a thread a topic and there was a topic list showing them, I think I’d like it better…
Anyway, there may be other particulars of it that some further contemplation would surface. But the bottom line is threads in Slack viscerally feel:
- “Heavy”, high friction to initiate
- Difficult to find
(unless you know what you’re looking for)
All that said, I think these limitations (or design/feature choices) might make more sense in a smaller business environment. So far I have only ever used slack in the decidedly out-of-scope context of software communities, where I think it’s a bad choice.
I’m also not a Slack expert, so may be missing things that would address some of my concerns. But if that’s the case I’d say those things are not as discoverable as might be ideal…
I’ll just keep this thread going then, I guess. Next-up: why the heck does not mark-as-read when I reply to the only new message in a channel (creating a new thread in the process)? I’m in “All Unreads”, and it’s still asking me to Esc/press “Mark as Read”.
Is Slack really this dumb, or have they been chastised for trying to be too clever with automatic read marking in the past? I looked around in options, but I don’t see a way to adjust this.
Ironically I actually dislike the available “mark as read” options for channels in, too. I want something like “Start me where I left off & don’t mark the channel read”. The default does leave unseen messages unread, but marks the channel read, which seems inconsistent. The option “Start at latest but leave unseen messages unread” actually does leave the channel unread, which is a weird choice to me, since it is otherwise no different than the default “start where I left off”, except that the unread messages are above rather than below.
Can it really be that unread Threads don’t show up in “All Unreads” view!? I need to verify this, but if so, that’s just absurdly stupid in my view. Yes, the Threads link is highlighted to show unreads, but still All Unreads should be ALL, right?
I can expand a collapsed thread, but I can’t re-collapse it in Threads view?
I can mark messages “read” in “All Unread” & they disappear, but threads don’t show up in All Unreads & I can’t mark them as “read” & have them disappear in Threads view? WTF? Wouldn’t be so bad if threads just showed unreads in their parent channels!