bluesky-social / social-app

The Bluesky Social application for Web, iOS, and Android
https://bsky.app
MIT License
8.27k stars 1.11k forks source link

Always show self-labels #5470

Open MetaflameDragon opened 4 days ago

MetaflameDragon commented 4 days ago

When self-labels (nudity/suggestive/adult) are set to Show in Moderation settings, it is much harder to see if the author of a post applied a particular self-label on it. This information can be desirable if e.g. the user wishes to keep all adult content visible without a spoiler, but does not want to repost or engage with posts labeled as adult content.

I propose adding a small footer that says "Labeled as [Nudity/Suggestive/Adult content] by the author", similar to what is already shown when a spoiler is present. This would be shown at all times, even when no spoiler is present.


Proposed example

Footer is always shown, even when the spoiler is revealed or Nudity is set to Show image

Current example (web UI as-is)

Footer is shown only when the spoiler is active image Footer disappears completely when the spoiler is revealed or Nudity is set to Show image


This special treatment should remain exclusive to self-labels, as they're effectively a higher rank of label, being inherent to the post itself and entirely in control of the poster. (This is to say that this feature should not apply to other specific labelers, even Bluesky Moderation, which understandably already receives "special treatment" by the official Bluesky app.) Having an easy way to display labels affecting a particular post would be a different feature (and would need different considerations etc.)

There are a few more points worth addressing in this case: wording, how this would affect the existing "Labeled by the author" footer, and how this would pair with third-party labelers (including Bluesky Moderation).

For wording: the Moderation settings and Post content warning modal currently disagree a little bit - in particular, Adult Content (former) and Porn (latter). Porn is very direct in what it describes, while Adult Content feels a lot broader (though the description clarifies that). I think it would make sense to follow what's currently displayed on spoiler warnings, so Non-sexual Nudity, Sexually Suggestive, and Adult Content.

The existing "Labeled by the author" footer could be simply merged with this feature, meaning that the same footer would now add self-label context and remain visible when the spoiler is revealed (or not present at all).

Other labelers could probably follow similar logic to how it works now - if a self-labeled post would not be spoilered due to a user's Content filer settings (e.g. Adult Content is set to Show), but another label would spoiler the post, it would show up as a second footer line. This line could remain the same (Labeled by Labeler Name.) or further clarify (Spoilered by Labeler Name.), but the former could be enough for now.

More concerns: UI clarity (why does it say "Labeled as Nudity" but doesn't spoiler the post?), slightly longer footer with self-label + labeler (imo 2 lines aren't too bad though?)

eevee commented 3 days ago

One wrinkle: if one of the self-labels is applied by moderation (which I assume is possible), I'd want to see that as well, since I still know it's safe to share.

Also there's the oddball "suggestive (cartoon)" label that's only part of the moderation service and can't be self-labelled (though I'm not entirely clear on why it exists, especially when there's no corresponding label for explicit artwork).

MetaflameDragon commented 3 days ago

Bluesky Moderation doesn't apply self-labels, but those three specific labels are integrated into the default client and appear under the same category as self-labels. It's worth debating whether these Bluesky Moderation labels and self-labels should be split up (even if close to each other within the same UI).

Since Bluesky Moderation gets special treatment, those three categories could get special treatment in this interface too. For the purposes of spoilering, it won't matter if Bluesky applied the label when the author self-labeled already, so it would first show whether the author themselves self-labeled, and otherwise show if Bluesky Moderation applied the matching label (not sure how to approach a potential label mismatch, if that can even happen practically; probably worth showing the stronger of the two if either applies a spoiler, prioritizing the self-label.) This should still achieve the desired goal of making it easier to predict whether a post would be properly spoilered for other people if I myself don't have the category set to Warn (specifically relating to the three common self-label content warning categories).

As for all the other labels provided by Bluesky Moderation: I think such a feature should be implemented separately, a good way of doing it would be introducing an option for post label badges (in addition to profile badges, though there's a risk of UI clutter.)

eevee commented 3 days ago

Another possibility would be to add a fourth mode for labels: hide, warn, note, show. Then nobody needs special treatment; end users can set it for whichever categories they want to be careful about.

Maybe call it something better than "note", though.

MetaflameDragon commented 3 days ago

Badge is the term that profile labels currently use, for posts it could be something like a note, yeah.

The reason I'd treat self-labels & their matching Bluesky Moderation labels separately is because they are a far more common category as a label in my opinion, and it would just re-use the current "Labeled by the author/XYZ" UI.