I’ve noticed that recently the forums have become quieter, while the chat is quite (more?) active. As a reminder, to support asynchronous workflows and prevent interruptions, whenever possible it’s important to prefer asynchronous tools over synchronous ones. Ie, pick the forum over mattermost.
Async communication takes more time, but aside from avoiding interrupting others, it also makes for more consistent conversations, allows a wider portion of the team to see it, and allows to keep discussions public when they don’t need to be private.
The forum is an async tool, clearly. But it also has a higher “barrier to entry” than chat - your post must have a subject line, a category, be public on the open internet, be above a specific length, and will result in an email notification being sent to the entire team.
In this particular case, I just wanted to make a small, off-hand comment: (“I didn’t actually realize that putting out a proposal for improving the CC experience meant committing to implementing that proposal myself ”) and it doesn’t really matter to me who sees it (it’s not super important). So if my only choice is to make a forum post or nothing at all, I’d probably do nothing. That’s why chat is convenient for small, little conversations like that. (I didn’t ping anyone.)
prefer asynchronous tools over synchronous ones. Ie, pick the forum over mattermost.
Here’s the thing: Mattermost doesn’t seem like mostly synchronous tool to me. Because of my timezone, most people are offline when I use it, so replies usually take 12 - 24 hours anyways. It’s the exception, not the rule, that I can get someone to reply quickly on Mattermost. (Though if I really need it, I know I can usually ping @here to find someone who is online.) To me, the difference in async vs. sync is not Mattermost vs. Forum, it’s “@mention on Mattermost” vs. not @mentioning. And Mattermost vs. Forum is more about the complexity of the topic and the depth of engagement I want, rather than urgent vs. non-urgent.
I feel there is a similar situation on the Open edX Slack: if things are urgent, people generally send a DM or ping people on the channel. But if things are non-urgent and short/simple, they post on Slack, and if they’re non-urgent and long/complex or super important, they post on the forum.
My basic approach is something like:
Urgent
Not urgent
Important and simple
Mattermost (mention)
Forum
Important and complex
Post on forum/Jira/etc , ping on Mattermost
Forum
Unimportant
Mattermost (mention)
Mattermost (no mention)
Anyhow I did such a big post because I don’t think this is actually clarified in our handbook and I think it’s worth reviewing a bit. I also think that if people gravitate toward chatting on Mattermost, that’s a hint that Mattermost is a better tool for that than the forum, and I personally think it can play two roles as both sync and async communication. I can definitely adjust my practices if that’s not optimal though.
I discussed this a bit with @antoviaque in our 121 today, and thought of a couple more points that are relevant to the discussion:
Currently, our forum has very few categories (Discussions, Announcements, Tips & Tricks, etc.). And in particular, there are no cell-specific categories. So if I want to share an important update with a particular cell, I often gravitate to Mattermost because I can post on e.g. #Falcon without notifying everyone else in the company. If we want to get people using the forum more, it might help to have more focused categories and in particular cell-specific ones, so people can adjust their notification preferences accordingly.
The way that our forum has " - Public" and " - Private" versions of most categories is awkward. It would be much nicer if we had a way to just mark individual topics, individual posts, or even small parts of individual posts (e.g. a client name) as private, while keeping the rest public. This would also reduce the number of categories so there isn’t duplicate -Public and -Private versions of each one. Perhaps if there isn’t an existing plugin for this, we can make one?
Mattermost lets me mark things as unread, which is very important for my flow. At the beginning of the day, I skim over all the notifications and for things that are not urgent, I mark them as unread so I can deal with them later. I can’t really do that on Discourse itself; I have to use my email notifications as a proxy, which is kind of sub-optimal. A nicer way to flag read/unread on Discourse could be helpful, but for now that’s a big benefit of Mattermost for me. I know others may not use that same “skim and mark unread” workflow though. (That’s also how I deal with Slack, which has a super nice “Unreads” UI for burning through your mentions and leaving some unread very efficiently.)
We love when people from the broader community jump in and join the discussion, and this only happens on the forum. Finding ways to encourage more of that would be great.
I do that as well (though sometimes it gets out of hand). Slack has a nice feature “Remind me”, and Mattermost now has one as well (it was broken for some time) - it’s worse than Slack’s implementation and the button is only present in the Desktop UI (at least I don’t have it on IOS), but it does the job.
Forum does have “Mark unread” button at the bottom, I tried it, but it doesn’t seem to work (or may be it does something I’m not expecting).
The forum is an async tool, clearly. But it also has a higher “barrier to entry” than chat - your post must have a subject line, a category, be public on the open internet, be above a specific length, and will result in an email notification being sent to the entire team.
Yes, and this is a good thing. Using an async tool forces to think a bit more before interacting, and makes our interactions more open. While a post in the forum will send an email to everyone in the team, this email is clearly flagged as not urgent unless it pings someone personally - and even then that allows 24h to reply.
On the other side, a notification in the chat can interrupt everyone working at that time, and at the same time be more closed: interaction is often limited to people working at that time, and it can’t be public.
What about posting that comment in the forum thread where we discussed the summit? That is useful feedback, and maybe you wouldn’t have been the only one to understand it this way - it could have been useful to both the summit organizers (I would have missed your comment on the chat if someone else hadn’t pinged me), and to others who might be unsure about this?
For being on pacific timezones from time to time, I see what you mean - but it’s not the case everywhere, and a ping or a channel with activity can be quite distracting. You can disable desktop notifications to avoid the distractions, but then it’s hard to know when to go read something, or we lose the ability to be reached more synchronously when it’s really needed. It’s also helpful to increase transparency by keeping discussions more open, and that also points to preferring to use the forum.
I agree that there are many ways to use any tool - but some tools are better at some things than others, and forums encourage much more async discussions than chat.
No, I think the reason why we tend to move toward chat is that it’s more convenient, especially to the person initiating the conversation, not that it’s better. It’s for sure easy to go and just say something in a chat, grabbing more immediate attention to it - it gives an impression of making progress quickly. It’s a bit like how meetings multiply like mushrooms in organizations - that’s what people think by default to get things done.
But just like writing a document and putting it up for async review is harder than scheduling a meeting, discussing something async in the forum asks for a bit more than typing in a chat. But in both cases the result is better, especially for the group as a whole (and the world thanks to the open part).
So I would really like to keep the roles assigned to the tools, based on the response time needed:
urgent (<24h): chat
normal (24h): jira, email, forum @ping
low urgency/importance (between 24h and 14days): forum
We can however try to make posting on the forum easier:
Currently, our forum has very few categories (Discussions, Announcements, Tips & Tricks, etc.). And in particular, there are no cell-specific categories. So if I want to share an important update with a particular cell, I often gravitate to Mattermost because I can post on e.g. #Falcon without notifying everyone else in the company. If we want to get people using the forum more, it might help to have more focused categories and in particular cell-specific ones, so people can adjust their notification preferences accordingly.
Good point - I have created the corresponding categories:
Each cell can feel free to edit and manage those categories - actually any team member who asks can be made forum admin, and create teams or categories as needed.
The way that our forum has " - Public" and " - Private" versions of most categories is awkward. It would be much nicer if we had a way to just mark individual topics, individual posts, or even small parts of individual posts (e.g. a client name) as private, while keeping the rest public. This would also reduce the number of categories so there isn’t duplicate -Public and -Private versions of each one. Perhaps if there isn’t an existing plugin for this, we can make one?
+1 - there is the ability to do this in many issue trackers, giving the ability to limit the visibility of a given individual post within a thread. We could have a task about that Happy to give it a budget if someone takes the discovery.
Is it? I use emails for that, and it doesn’t work too bad. Your mailer gets the whole thread, and know exactly what email you have read and which you haven’t, and allows you to set this at will? And when you come back to a thread with unreads, clicking on the link to read it in the forum brings you exactly at the last message you read? We could try contributing an “mark as unread” button on discourse, but I don’t know how much I would use it personally. I find it easier to store all the state about things I need to read in my mailer, this way I don’t need to jump between different tools to know what I need to do.
It would be good to be able to open the chat too, as even when we limit chat to urgent discussions, we still lose the ability to open the urgent discussions to others. Mattermost’s open core being the problem here, as the ability to open a room publicly is a… closed source feature requiring subscription. An irony for an open source project, but that means we would probably have to fully move to matrix to solve it. (Which I would actually be in favor of, I have been using matrix with element for a while in various projects, and it works well - though it is orthogonal to the topic from this thread.)
AFAIK, from the forum code I’ve read (for discourse, cs_comments adn others) generally forums don’t track individual read status of individual posts. They track what is the last time you visited a thread and assume everything posted after that is read. So at best you can roll back, but I think it would be quite difficult to add support for marking individual posts as read or unread.
However, if you want to track a particular message to reply to etc, you can bookmark it, and even set a reminder for it. I’ve used it a few times in that past and it works quite well.
Do you think we could install it and simplify our categories to just a “default public” category for each, and then allow individual posts/topics to be private if needed?
@braden The plugin looks interesting, and I would love to add a way to tag individual topics (or better, individual posts) as public/private, it would be less akward than the duplicate categories that we have now
I’m unclear how this plugin works though, or what it does exactly when it is activated in a category. Do we get to choose individually on each topic if it is public or private? And when it is private, do everyone see it, or just the admins?
@antoviaque Ah, I think I misunderstood. It turns out it does not let you set it on individual topics; it still makes every topic in the selected category private. It just allows the author of the topic to see it as well, even if they’re not part of the authorized group. So it doesn’t really help us.