In this post I'll detail my ideas on how to fix chat flagging. Most of them have been posted in some form before, but I think it is necessary to view those different ideas together as they interact at various points. I've also refined some older ideas and added more details.
I won't repeat the long discussions here on why chat flagging is in need of improvements, there are enough posts on this on meta. The main goals of my ideas are to reduce the drama the current system causes and to improve the ability to deal with problematic users in chat.
Fix the chat flagging UI
The current UI for flagging is confusing, there are two different places where the flagging actions are exposed, one only uses the spam/offensive flag without any indication that moderator flags exists. The other exposes both flag types, but the moderator flag option is less visible. My impression is that many users only know the spam/offensive type flag and use it for every situation, which is a problem.
There should be only one single flagging dialog, similar to the one on the main sites. It can still be triggered from multiple places, but it should always present a choice between the flag types.
Add more flag types
I propose to have the following types of flags with different behaviour:
inappropriate: removes the message but doesn't cause suspension
offensive/spam: removes the message and causes a short suspension
requesting external intervention: this flag is only visible to moderators outside the room
moderator flag flag for moderator attention
One thing the many complaints about the chat flagging system have shown is that people react strongly to being suspended for a perceived or actually invalid reason. It doesn't matter that the 30-60 minute suspension is a very mild punishment, any punishment that is perceived as undeserved leads very often to a strong reaction. There are many situations in which the suspension is not necessary and removal of the message alone would solve it. For this I propose to add the "inappropriate" flag reason.
The changes I'm proposing will make moderation more local, which has a certain danger. Differences in room culture are fine, but this can get out of control without outside intervention. This is why I added a flag specifically to request outside help. Maybe the general moderator flag would be sufficient for this, the main reason for the flag type is not the slightly different behaviour, but the documentation aspect.
The language here is not meant to be final, just to convey the idea of the different flag types.
Require users to view the context
Viewing the context can be very helpful to decide whether a flag is valid or not, I personally click through to the transcript every time before acting. I think this should be enforced in the software, and either the flag dialog should show a few lines of context or viewing the transcript should be forced before being able to act on a flag.
Escalate the number of users seeing a flag
This is the big change, the current behaviour of showing flags immediately to everyone is in my opinion responsible for most of the problematic aspect of chat flagging. The current behaviour has two consequences:
- it draws a lot of attention to incidents, often inciting further escalation
- only the quickest users get to decide the fate of a flag, anyone looking closer before acting is usually too late
What I propose is to only show the flags to all eligible users currently in the room, and only expand the visibility of the flag if necessary.
There are a few factors to consider when choosing the users that get to see the flag.
Currently being in the room is the prime criterion, those users very likely know the context already and are familiar with the room.
Activity is the second most important factor, chat flags need to be handled reasonably quickly, they should be shown to users that are likely viewing the chat window right now.
Familiarity with the specific chat room is very useful as well, so I'd use the number of messages posted in that room as a third criterion.
If a flag is not decided on in a short timeframe by the users that can currently see it, it should be shown to some more users. It is likely useful here to distinguish users taking no action at all on the flag, and users at least clicking on the flag indicator and viewing the flag. The number of users being able to see the flag should be expanded very quickly until enough users clicked on the flag that it can likely be resolved by those users (this obviously should take into account if the user is a moderator or not).
The goal is to show the flag to enough users that it can be resolved, but not much more than that.
Better tools for moderators
There are already some recent improvements to this aspect that help a lot, but it can still be rather time-consuming to find out what is happening when trying to investigate a situation.
It would be helpful to see important information inline in the chat window (or transcript). Seeing deleted messages inline would save a lot of time. Another useful thing would be the ability to see resolved flags inline as well, so quickly see which posts the whole thing is about (if there is more than one).
Another useful tool would be a list of recent moderator-relevant events in a room. Moderator-relevant events are mostly flags and now also kick-mutes, but timeouts and similar should appear there as well. Right now you pretty much have to be present when it happens, chat has no memory which can make it hard to figure out what happened if you arrive after the fact.