You may have heard of Mastodon, a federated microblogging platform that’s being pitched as an alternative to Twitter, and interoperates with many other platforms using the OStatus and ActivityPub protocols.
One of the features that’s quite heavily promoted is the content warning feature, allowing people to put potentially sensitive topics behind a warning. Technically, content warnings are implemented using a summary field – essentially a subject line. Generally, this feature is well-liked, but it causes a significant amount of strife, and I think things could be so much better.
The biggest problem with content warnings, in my opinion, is simply the debate over what should be put behind a content warning. Some people believe that nothing should be hidden behind a warning, some people believe that if a topic is sufficiently important it shouldn’t be hidden, and then some people literally want to see things like food or posts in all caps hidden. Compounding matters is the fact that each Fediverse instance is its own community, with its own norms, yet they’re all federated together, and people try to impose their own norms on everyone else. There are some norms that have been roughly settled on (for instance, many people agree that putting US politics behind content warnings is healthy), but they’re not universal – ultimately, people have different things that they can and can’t handle.
A couple other issues I’ve seen… “CW fatigue”, like alarm fatigue, is a real problem – when everything is CWed, you just start popping open every CW, only to find out, no, you really didn’t want to see that. There’s also the whole thing where you may forget to put a CW on, and the only way to add it is to delete and rewrite the post to add one. And then there’s the problem of… CW boosts, or rather their non-existence.
Mastodon terminology for repeating or retweeting a post is “boosting” that “toot”, and in Mastodon, boosts purely repeat a post to your followers – they don’t provide the opportunity for adding context (ala Twitter’s quote tweets) or a content warning of your own. The cited reason for this is to “prevent abuse”, citing a trend of Twitter users using quote tweets offensively (by quoting someone that they disagree with, and putting a mocking or worse comment as their own body text). However, I’d argue that the lack of ability to add content warnings or add context can make things worse, and doesn’t actually solve the cultural problem that Twitter has.
Also, it ultimately means that a lot of manual work is required to effectively make a CW boost or add context to a boost properly – for a CW boost, I end up replying to the post (removing the @s) with the text “See parent post”, a link to the parent post to be sure, and a CW on my own reply, then I boost the reply. For adding context to a non-CW boost, I reply to the post (also removing the @s) with “LB:” and my context, and then boost that reply.
And, none of this stops abuse, either – I’ve seen plenty of the abusive behavior cited as a reason not to implement quote boosts, just done by posting comments along with the URL of the post that would be quoted, or by posting a screenshot of that post. (For that matter, even on Twitter, the worst of it seemed to be done that way, so as to not alert the target of abuse where the abuse came from.)
But, ultimately? I think the way that the Fediverse has gone about content warnings has been all wrong.
I think the way to do it is tags – and taking advantage of the federated nature of the network – not using the post summary for it.
There’s fairly decent support for hashtags on the Fediverse already – being a common feature on Twitter, the Fediverse platforms inspired by it copied the functionality.
So, the first level of a solution is this: use hashtags liberally, and modify the various clients and/or servers to allow users to set their own lists of hashtags that will be put behind a content warning – everyone gets the content warning that they personally need, without having to harangue everyone into content warning everything, and causing CW fatigue. There would be a period of rockiness while the communities involved settle into a consistent taxonomy for this, but ultimately, I think everything would eventually resolve itself. Additionally, I feel like tags should maybe be a separate field from the post body (especially if it’s just a wall of tags lumped together), and that enables the second level of my solution anyway. And, tags should propagate to replies by default.
Now, inevitably, someone will forget to tag something that should be tagged, or not even realize that something should be tagged. This is where my tagging system becomes federated tagging. So, for starters, I should be able to send an activity that adds tags to my existing posts, and anyone who saw the existing post in a timeline will see it gain that tag (and if appropriate for that user, it automatically becomes placed behind a content warning). Similarly, my instance’s moderation staff should be able to do the same – if I post something that’s not considered acceptable for viewing in most workplaces, slapping a #nsfw (or similar, I know some people aren’t comfortable with that wording) on that post is warranted.
But, why stop there, at just me and my instance’s mods being able to tag things? Other instances may federate with mine, but have differing norms, so they may well want to tag my posts as they come in, sometimes even automatically. (Pleroma, another Fediverse platform, has a Message Rewrite Framework that actually rewrites incoming posts and can support adding tags, which is often used to tag posts from certain instances like switter.at, an instance made for sex workers. It doesn’t work the way I’d like, but the concept is there.) And, for that matter, anyone that sees my posts should be able to tag them, so that if their followers see the post, it’s automatically CWed appropriately.
So, basically, anyone should be able to send an activity to add tags to any post, and existing following relationships will ensure that the scope of that activity is appropriate. Nobody (not even myself) would be able to add those tags to my post directly, but if I added some, you’ll see all of my added tags, so it’ll look as if I did add them directly. Instance administration will be allowed by their server to add the tags to any post, so if it’s my own administration, everyone will see it as if it was added directly, and if it was remote admin, all of their users will see it as if it was added directly. And, if a user puts it on… only their followers will see the tag be added, at which point they can safely boost (because their followers are also the audience of the boost).
I’d also be for a tag promotion mechanism – maybe I’m told about the tags that have been added to my post by others, and I can elect to add those tags myself, so everyone gets them, if I didn’t think to tag something. Maybe that promotion mechanism could be as simple as boosting the activity that added the tag – once I do that, I’m saying “yes, this tag is now canonical, treat it as if it’s my tag” – and anyone else could boost that as well if they agree with the added tags (some behaviors may even have that automatically happen – for instance, I could see, if people you follow tagged something, and then you boost that post, you’re also boosting those tagging events).
Just a thought that might make things much better for the Fediverse…