Skip to content

Pronouns #7

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 5 commits into
base: master
Choose a base branch
from
Draft

Pronouns #7

wants to merge 5 commits into from

Conversation

toastxc
Copy link

@toastxc toastxc commented Jun 16, 2023

@toastxc toastxc mentioned this pull request Jun 16, 2023
3 tasks
@insertish insertish changed the title Pronouns for revolt's backend Pronouns Jun 16, 2023
@insertish
Copy link
Member

Can we rescope this as a feature instead of just for the backend?

Copy link
Member

@insertish insertish left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Initial comments for improvement

Comment on lines 22 to 27
This change will modify:
- core/models/users
- core/db/util/bridge
- quark/models/users
- core/db/models/users/ops/mongo
And possibly more
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This part is not necessary, just an explanation of what is changed API-wise.

Comment on lines 29 to 35
For the backend, pronoun data will be stored as such.
```rust
// User's displayed pronouns
#[cfg_attr(feature = "validator", validate(length(min = 1, max = 5)))]
#[serde(skip_serializing_if = "Option::is_none")]
pub pronouns: Option<Vec<String>>,
```
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


# Rationale and alternatives

This feature is non essential, users can use their bio to display pronouns as well as their display name (as they have done in the past). The main alternative here is changing nothing
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Proposed client implementations include displaying pronouns in-line in chat messages as opposed to just adding another field in the profile.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

^ this would be the biggest reason to have a dedicated text field for pronouns imo. it can be a hassle to check everyone's profile to make sure you're using the right pronouns (especially if the chat is particularly active and noisy), but having it displayed right there as part of their messages would be incredibly convenient.


# Drawbacks

Mocking users for displaying pronouns on their profile and creating fake pronouns as a joke is very common and seen by some as hateful, There must be a system built into the pronoun system to avoid this. That would take some time and may not be worth the effort.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pronouns should be restricted to a set database that we can easily accept contributions to, similar to Instagram.
This database shall also contain localised pronouns.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would also be nice if the database was consumable by downstream clients, and had information such as where the pronoun must be positioned for a language.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

discord's implementation of a fully free form text box is just begging to be abused. while it gives the user complete control over how their pronouns can be presented, it also means people can just, not use that space for pronouns at all. there's already dozens of examples of this textbox being filled with jokes, random quotes, fake "verified" tags, and other random things completely unrelated to pronouns.

that said, i think allowing the user to type their own pronouns is still the way to go, but the text box should simply be more restricted. i kinda like how pronouns.page does it, allowing you to type your pronouns, but requiring them to be in specific formats and only allowing a certain set of words.

Copy link
Member

@insertish insertish Jun 16, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

I genuinely don't know what they were thinking...

From my perspective, they rushed this feature out to distract from the username change.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When stated that pronouns should be localized, does that mean that the inline pronouns will be treated like UI and translated according to which language the user has on the client? Or does it mean the selection of pronouns for the user's own pronouns will be based on the user's choosen language?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i assumed they meant it would be the former, translated based on the viewer's set language

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, I see. If it is in fact the former that was planned, that makes me wonder how to address people who prefer different pronouns depending on the language being spoken. For example, there is someone who uses they/them in English, but another language they use doesn't have an equivalent they can use/like. That person speaks with someone else who has their UI language as the non-English language which tries its best to translate they/them. However, the first person either has no options for gender neutral pronouns in that language and uses certain gendered pronouns instead, or has to use a loose translation. Not sure if this is out of scope to select pronouns per language since there is no textfield for customization, but maybe this can be considered as there was a link posted earlier about how Discord's pronouns aren't thought through in non-English languages.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

discord's implementation of a fully free form text box is just begging to be abused. while it gives the user complete control over how their pronouns can be presented, it also means people can just, not use that space for pronouns at all. there's already dozens of examples of this textbox being filled with jokes, random quotes, fake "verified" tags, and other random things completely unrelated to pronouns.

that said, i think allowing the user to type their own pronouns is still the way to go, but the text box should simply be more restricted. i kinda like how pronouns.page does it, allowing you to type your pronouns, but requiring them to be in specific formats and only allowing a certain set of words.

i think revolt should go with something like how gamejolt handles pronouns (its like a list of pronouns that could be selected in order of preference):
image

@insertish insertish marked this pull request as draft June 16, 2023 12:38
@Flam3z
Copy link

Flam3z commented Jun 16, 2023

I just dont think we need a dedicated box for it as the "about me" section does give alot to put with alot of customizations. Just dont want an influx of unfunny newborns with the pronouns hit/ler. Maybe have the feature be server sided like nicknames. Also agreeing to the way of having it only appear on the chat messages as insert proposed.

@JackDotJS
Copy link

JackDotJS commented Jun 16, 2023

Just dont want an influx of unfunny newborns with the pronouns hit/ler.

this can be easily solved by not using discord's atrocious implementation of a fully unrestricted text box. it's already being discussed here: #7 (comment)

@insertish
Copy link
Member

Just to be clear this is an early draft, it won't be accepted as a free-form textbox.
We're looking into the best way to provide an open database for this.

Also, pulling through the early concept we had from the original discussion thread:

Screenshot 2023-06-16 at 14 09 21

@insertish
Copy link
Member

Beyond free-form input, I think it's important we avoid the mistakes Discord made with localisation, and take other languages into careful consideration: https://www.reddit.com/r/discordapp/comments/14a5b23/the_new_pronouns_field_is_so_badly_adapted_to/

@Flam3z
Copy link

Flam3z commented Jun 16, 2023

Just to be clear this is an early draft, it won't be accepted as a free-form textbox. We're looking into the best way to provide an open database for this.

Also, pulling through the early concept we had from the original discussion thread:

Screenshot 2023-06-16 at 14 09 21

Thats exactly how i pictured it in my head, quick and simple, looks good on the eyes for an early concept. If the design stays that way for the most part i dont think anyone would have an issue with it as its not as intrusive on the eyes and does not get in the way of anything regarding messages.


# Drawbacks

Mocking users for displaying pronouns on their profile and creating fake pronouns as a joke is very common and seen by some as hateful, There must be a system built into the pronoun system to avoid this. That would take some time and may not be worth the effort.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Understandably some users may be targeted for putting pronouns on their profile publicly, we can try our best within platform moderation however:

  • Some users may not want to be outed to other users they have added / talk with on their account.
  • Some users may not want to broadcast this information to everyone by default.

We should look into:

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure how per-server pronouns would work. I can see it being abused. I think it should be a case of pronouns being on a profile or not. Anyone determined to out somebody or otherwise view their pronouns would likely just be able to click the user's account and view it there. While I don't see much of a point being able to change them per server I do see a case for being able to enable/disable their visibility per server.

Copy link
Member

@insertish insertish Jun 16, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh yeah in retrospect those two appear to be mutually exclusive, i.e. if you didn't have a visibility toggle it would be nice to override it per server, otherwise I guess it doesn't apply? Disregard for next message.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Though, maybe you have a case where, you want to show your pronouns on all servers, but you're only out to one of those servers. In that case you may not want to update your pronouns globally.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is a valid use case I hadn't considered. I think that could be very beneficial. This would also require some changes to how the 'Server Identity' popup works.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe that Revolt should be safe from bigots and groups who would target people based on pronouns, and while it is possible to engineer a bot or otherwise to target groups with gender neutral pronouns I think the solution should be moderation, not changes to per-server identity or privacy.

As a moderator of Revolt Lounge, I have absolutely no idea why you would think Revolt would be safe from bigots and groups of bigots? I genuinely don't understand this comment.

The point on bots is probably a bit unrealistic, or rather, a server that decides to add such a bot is probably run by someone who would be targeting people anyway so it doesn't matter too much.

While per-server pronouns are an option (as they can be set in the server identity field) I'm not sure if this is the best solution; as generally speaking users have the same pronouns on every server unless I'm missing something

I think per-server pronouns are important for anyone who wants to engage with friends or communities but has yet to come out and therefore would prefer to use certain pronouns in certain places. The assumption is that there would be a default set of pronouns that you select and then you have to manually override them for each server to get different ones - rather than set them up per server.

My point on prompting before you join would be more like "Do you want to use your default settings for this server? Otherwise, you can override them now." Not, "Enter your details from scratch to join this server."

Speaking of friends, how should pronouns be displayed to friends or in DMs? Does there need to be per-friend pronouns? Could there be 2 groups of friends, that could see different sets of pronouns when speaking to you? Should these settings override any per-server settings? Is this getting a bit complicated? ... Probably, but it's all good stuff.

Friend groups; Normal and Trusted. Normal sees one set of pronouns. Trusted sees a different set. Pronoun settings for friends overrides any per-server pronouns to ensure you don't accidentally out yourself to a friend you haven't come out to yet if they join your lgbt server.

If you'd like to take it one further... (going a bit wild here). Any amount of friend groups (trusted, family, work, minecraft, guild, etc. custom groups) where each group can have a different identity much like per-server identities. And an option for these identities to override per-server identities - or, at least, pronouns and bios.


So, went a bit off course there but the main point is that I think it's important to protect people who have yet to come out but still want to explore their identity in safe spaces/servers.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While Revolt is not perfect for moderation, generally the team is very fast to respond to bigots and is fairly responsible. We have very little tolerance to bigotry and trolling on the lounge server but unfortunately due to its size and publicity it attracts some bad eggs. I say that Revolt is a safe place for LGBTQIA people because the core team is committed to fighting and removing harmful content with many new projects under development to automate moderation as well as increase the number of active moderators in different timezones.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The server override idea is being considered as it could be a part of the server identity field without much modification, although questions of privacy are still being discussed.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe that Revolt should be safe from bigots and groups who would target people based on pronouns, and while it is possible to engineer a bot or otherwise to target groups with gender neutral pronouns I think the solution should be moderation, not changes to per-server identity or privacy.

i'm sorry, but i really, really do not like this kind of thinking.

while i do believe platform moderators are perfectly capable of handling issues like this, preventing problems is always going to be better than solving them after they've already happened. this goes for so many issues in society as a whole, and it's incredibly frustrating to see people continue to stick with "we'll just deal with it if/when it happens".

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am tempted to agree with the actual proposal here too - I can think of plenty of instances where you might not be out to certain groups of people (especially IRL friends/family) or might want to hide your identity to lower suspicion/avoid mistreatment - if nothing else, a per-server toggle on whether to show them would be a good start imo

@rethyria
Copy link

I'm all for this change but I do want to raise one concern regarding the point on bots.

There was a point raised that bots could use pronoun-specific language to refer to people - which is cool. However, is there potential for abuse by using bots to target people with certain pronouns, particularly they/them and neopronouns?

Again, all for the change and I don't think this should be used as a point against the change itself. It's a concern specific to bot usage. Additionally, (I'm not sure how this works), could a bot be used to track a user across servers? Therefore circumnavigating the pronouns-per-server settings?

@JackDotJS
Copy link

is there potential for abuse by using bots to target people with certain pronouns, particularly they/them and neopronouns?

Additionally, (I'm not sure how this works), could a bot be used to track a user across servers? Therefore circumnavigating the pronouns-per-server settings?

these are definitely valid concerns, ones i would also like to see addressed.

my only suggestion would be to just, completely disallow bots from accessing pronouns altogether. though idk if that's really possible, and it's a pretty nuclear option to begin with.

@Inky1003
Copy link

Pronouns are language-dependant, so If someone put a javanese pronoun, it would be a mess to translate to (i.e.) a mother language other than english.

I think It's easier to not implement that, and who really cares about be called by wrong pronouns to be free to put that in bio.

@toastxc
Copy link
Author

toastxc commented Jun 23, 2023

Thank you for everyone who has contributed to this RFC.
Really great ideas, I'll be implementing them to the RFC tonight and tomorrow.

@insertish
Copy link
Member

Ok I'm no longer sure where the screenshot came from, I believed it to be Instagram, anyways let me briefly describe how it worked in the screenshot:

  • Users may pick from a list of pre-defined pronouns (we could maintain an open source list here)
  • Users may choose up to 4 or so pronouns to show on their profile
  • Users may pick a language and pick pronouns from that specific language (this is what I mean by localisation here)

As opposed to just translating a single pronoun to multiple languages, this would probably not work well.

@aisuleep
Copy link

Users may choose up to 4 or so pronouns to show on their profile

Since the main goal of this feature seems to focus on the pronouns being inline, should the users with more than 1 pronoun be able to at least choose and show 2 different ones (i.e. she/they rather than just she/her) ? maybe it could be done automatically where the first 2 pronouns in their list show inline, and the rest are visible through their profile.

@Flam3z
Copy link

Flam3z commented Jun 24, 2023

Users may choose up to 4 or so pronouns to show on their profile

Since the main goal of this feature seems to focus on the pronouns being inline, should the users with more than 1 pronoun be able to at least choose and show 2 different ones (i.e. she/they rather than just she/her) ? maybe it could be done automatically where the first 2 pronouns in their list show inline, and the rest are visible through their profile.

If the feature comes to be in this way. It could be 2 box options like [She/Him] or [They/Her] which i still vouch for insert's mockup for how it would look next to server nicknames as an option.

@patataofcourse
Copy link

patataofcourse commented Jun 25, 2023

while i do understand a freeform pronouns box is very easily abused, there should imo be an option for custom pronouns since some people use obscure neopronouns that maybe only they or a small group of people use (also stuff like not well known languages or conlangs
there's also the benefits that having a proper freeform box has (a friend of mine has "any pronouns but please vary") but if the pronouns are going to be displayed w messages, keeping it short is prob for the best anyway so

@DarkRTA
Copy link

DarkRTA commented Jun 25, 2023

I consider the potential for abuse with a freeform text field to be somewhat of a non-issue. Communities are more than capable of removing bad actors from their guilds, and I'd imagine most people who abuse such a thing would be quickly banned from a lot of communities much like they already are with abusive usernames or the likes.

That being said, having a properly localized set of pronouns one could pick from and then a "custom" option if someone uses something that's not in that list is likely the way to go. A predetermined list is going to exclude someone no matter what you do.

@toastxc
Copy link
Author

toastxc commented Jun 27, 2023

To clarify: pronouns will be represented inline with a users name as 'She/They' however each pronoun is individually selected, not as a group.

So a user could have She/They' or She/Her/They/Them'.

Comment on lines +44 to +51
Additionally, there will be database changes for pronouns to be fully implemented. The `Collection` shall contain an entry of every supported language (represented by an abbreviation) with an array of every valid pronoun for the language. This collection must also be accessible as an API route.

```bson
{
"language": "<string>",
"pronouns": ["<string>", "<string>", ...]
}
```

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For what should this be exactly? Set a list of pronouns to choose from based on the language you use?
Isn't that a bit limiting? Would apreciate some clarification here.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The purpose for the collection is to stop trolls from using the feature to enter joke pronouns, as for language I've decided that it'll start with English only.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That determination should be up to a community to manage, not for the software itself to set restrictions.

Copy link

@Andre601 Andre601 Mar 13, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the end is Revolt not just a software, but also a Service-provider, as they themself provide a platform for you to join.
As such do they also have a responsibility to keep the platform safe and welcoming for people. And allowing this field to be anything a user wants only calls for abuse by other people, which can impact others negatively.

Communities should be able to manage things, yes. But I don't think that something like Pronouns should be left to them to handle.

This is all personal opinion and not a reflection of the Revolt Team's views and opinions!

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This could also be applied to a person's username, bio, all the comments they make, all the photos and videos they post. Server moderators are responsible for their communities today.

It can also be said in reverse, if someone wants their pronoun added and Revolt as a service as a whole does not approve it, that person will not feel "welcomed" to the Revolt service as a whole. Whereas if each server has the capability to either maintain an exhaustive list or turn off the restrictions, that person can feel at home in those communities.

@Zomatree Zomatree added New Feature An RFC for a new feature Draft This RFC is not finished yet labels Sep 28, 2023
@insertish
Copy link
Member

while i do understand a freeform pronouns box is very easily abused, there should imo be an option for custom pronouns since [..]

I consider the potential for abuse with a freeform text field to be somewhat of a non-issue. Communities are more than capable of removing bad actors from their guilds, and I'd imagine most people who abuse such a thing would be quickly banned from a lot of communities much like they already are with abusive usernames or the likes.

That being said, having a properly localized set of pronouns one could pick from and then a "custom" option if someone uses something that's not in that list is likely the way to go. A predetermined list is going to exclude someone no matter what you do.

Had a thought about this recently, and honestly this is probably the way to go, the average user probably won't be bothered to help update the actual list. Though, having a list is good anyways since it can at least normalise the inputs.

@aisuleep
Copy link

aisuleep commented Jan 1, 2024

while i do understand a freeform pronouns box is very easily abused, there should imo be an option for custom pronouns since [..]

I consider the potential for abuse with a freeform text field to be somewhat of a non-issue. Communities are more than capable of removing bad actors from their guilds, and I'd imagine most people who abuse such a thing would be quickly banned from a lot of communities much like they already are with abusive usernames or the likes.
That being said, having a properly localized set of pronouns one could pick from and then a "custom" option if someone uses something that's not in that list is likely the way to go. A predetermined list is going to exclude someone no matter what you do.

Had a thought about this recently, and honestly this is probably the way to go, the average user probably won't be bothered to help update the actual list. Though, having a list is good anyways since it can at least normalise the inputs.

I agree that this would be the best way to go, as it has a predetermined list of pronouns and a choice for custom pronouns. There were talks of issues with Discord's implementation of a text box, however as the plan for Revolt's appears to stick with pronouns being inline, those issues would not apply. Instead of being like Discord's where pronouns are just an extra text box in the bio, these would be visible in chat, thus not a redundant feature and yet still inclusive.

@toastxc
Copy link
Author

toastxc commented Jan 2, 2024

My original idea for this was a 'searchable drop-down box' but it turns out those are more custom than I thought.

https://autumn.revolt.chat/attachments/pwQhuCCG-XOglv5YfbjGd0a3V8T3u7rNoGYaI-on3z/Screencast%20from%202023-12-28%2019-59-40.webm

@aisuleep
Copy link

aisuleep commented Jan 3, 2024

My original idea for this was a 'searchable drop-down box' but it turns out those are more custom than I thought.

https://autumn.revolt.chat/attachments/pwQhuCCG-XOglv5YfbjGd0a3V8T3u7rNoGYaI-on3z/Screencast%20from%202023-12-28%2019-59-40.webm

does the RFC include detailed talks about how it will appear in the UI too? If so, based on the demo Toast shared, I wonder if the custom text box should force the slash between them or not. Thinking specifically in the case that someone prefers no pronouns used, it may be confusing having the slash between however "No pronouns", or the like, is said in the person's language. Although, maybe it's a mistake for me to even consider something labeled as custom would have such restrictions.

@JackDotJS
Copy link

My original idea for this was a 'searchable drop-down box' but it turns out those are more custom than I thought.

https://autumn.revolt.chat/attachments/pwQhuCCG-XOglv5YfbjGd0a3V8T3u7rNoGYaI-on3z/Screencast%20from%202023-12-28%2019-59-40.webm

why are neopronouns enabled separately?

@toastxc
Copy link
Author

toastxc commented Jan 4, 2024

My original idea for this was a 'searchable drop-down box' but it turns out those are more custom than I thought.
https://autumn.revolt.chat/attachments/pwQhuCCG-XOglv5YfbjGd0a3V8T3u7rNoGYaI-on3z/Screencast%20from%202023-12-28%2019-59-40.webm

does the RFC include detailed talks about how it will appear in the UI too? If so, based on the demo Toast shared, I wonder if the custom text box should force the slash between them or not. Thinking specifically in the case that someone prefers no pronouns used, it may be confusing having the slash between however "No pronouns", or the like, is said in the person's language. Although, maybe it's a mistake for me to even consider something labeled as custom would have such restrictions.

The slash by itself is a design bug (out of laziness for the most part), I think that the default option for pronouns would be None, not just a slash.

@toastxc
Copy link
Author

toastxc commented Jan 4, 2024

My original idea for this was a 'searchable drop-down box' but it turns out those are more custom than I thought.
https://autumn.revolt.chat/attachments/pwQhuCCG-XOglv5YfbjGd0a3V8T3u7rNoGYaI-on3z/Screencast%20from%202023-12-28%2019-59-40.webm

why are neopronouns enabled separately?

There are many different neopronouns, I don't have a list in front of me but given that most users will not need them is the reason. It would take much longer to scroll through.

@toastxc
Copy link
Author

toastxc commented Jan 4, 2024

For the initial implementation of the pronoun system I only intend on including English (for now), with the flexibility to localize later.

@toastxc
Copy link
Author

toastxc commented Jan 4, 2024

I've got another demo, based on feedback and ideas (neopronoun functions are unchanged). This isn't an offical GUI but more of an example of how it could work and if ppl like it :3

@aisuleep
Copy link

aisuleep commented Jan 4, 2024

I've got another demo, based on feedback and ideas (neopronoun functions are unchanged). This isn't an offical GUI but more of an example of how it could work and if ppl like it :3

If I am correctly understanding the idea of a predetermined list and the custom textfield for pronouns not already in the list, wouldn't it be more fitting if it weren't a dropdown? Wouldn't something fit more like a "select all that apply" and an "other" option where you can type in your own if necessary. In order to add more custom pronouns, there could be a plus button at the end or it could automatically make another "other" option, when the previous is used.

@toastxc
Copy link
Author

toastxc commented Jan 5, 2024

I'm hesitant to add a 'custom' button, since such systems are often abused. In the example provided the list is predetermined with no custom input.

@DarkRTA
Copy link

DarkRTA commented Jan 6, 2024

I'm hesitant to add a 'custom' button, since such systems are often abused.

I rarely actually see this happen in practice. The farthest I've seen people go is put something that isn't their pronouns in this box, and there are various ways you could mitigate that besides just not having the option at all.

If someone does find a way to be abusive even with some mitigations, it takes less than 10 seconds for a community admin to remove said abusive person from their community.

@toastxc
Copy link
Author

toastxc commented Jan 7, 2024

I've seen people on Revolt set their pronouns to 'hit/ler' and other troll phrases (although not as often recently).

But if user generated input is something that's wanted, wouldn't it make more sense to give users a free-form textbox?

@DarkRTA
Copy link

DarkRTA commented Jan 7, 2024

I've seen people on Revolt set their pronouns to 'hit/ler' and other troll phrases.

Yikes. I hope those users got banned.

But if user generated input is something that's wanted, wouldn't it make more sense to give users a free-form textbox?

There's a benefit in having some default options since it'll help with localization efforts and help set a standard for whats actually expected.

I guess there could also be a way to localize with a freeform text field too, but that just seems like it'll be quite fragile.

@toastxc
Copy link
Author

toastxc commented Jan 7, 2024

Can you please explain the benefits of localization? I'd also like to know why a text input could be fragile I don't understand.

@Andre601
Copy link

Andre601 commented Jan 7, 2024

Can you please explain the benefits of localization? I'd also like to know why a text input could be fragile I don't understand.

I mean... It may be beneficial if "He/Him" in english shows as "Er/Ihm" in german... Instead of just one language that not everyone may understand.

And.... you just gave an example before where people insert questionable things as a "joke" that for others may actually be insulting.

@DarkRTA
Copy link

DarkRTA commented Jan 7, 2024

Can you please explain the benefits of localization?

As @Andre601 put it, it would be nice for things to be shown in the user's native language if possible rather than always in english.

I'd also like to know why a text input could be fragile I don't understand.

This is specifically in regards to localization. If you try to blindly localize the content of a freeform text field before displaying it, its entirely possible for your attempt at localizing the content of it to be worse than just leaving it alone.

@aisuleep
Copy link

aisuleep commented Jan 7, 2024

Can you please explain the benefits of localization?

As @Andre601 put it, it would be nice for things to be shown in the user's native language if possible rather than always in english.

I'd also like to know why a text input could be fragile I don't understand.

This is specifically in regards to localization. If you try to blindly localize the content of a freeform text field before displaying it, its entirely possible for your attempt at localizing the content of it to be worse than just leaving it alone.

Yeah, I agree with the localization of the text box probably not being possible/helpful. It feels like it will just bring the same issues discord had, as mentioned above, when iirc trying to translate pronouns like "they/them" into other languages and it not making much sense outside of English. Although, I still expect pronouns like "they/them" to still be a thing for the English selection at least, as it is commonly used in the language. If a language can translate "they/them", then it will, but if it doesn't, it stays as "they/them" like a custom field would. Perhaps, letting the community add pronouns for their language can be a thing after all (to maximize translated pronoun sets), leaving the custom field as a backup for if the user's pronouns are not already listed.

@toastxc
Copy link
Author

toastxc commented Jan 9, 2024

Designing a system with localization for pronouns is not something that I can do confidently without quite a bit of documentation, but based on this feedback (which i really appreciate btw) I have an idea of what to do moving forward.

  • A pronoun drop-down list with pre-defined entries, along with a custom field
  • In the case that the language has a direct translation for the pronoun, AND the pronoun specified is a part of the pre-defined list, it will be translated. Otherwise displayed in English.

Communities will manage malicious use of the custom field as they do with other parts of the user personalization fields.

On a more technical level, the backend will supply the front end with a list of pre-defined pronoun options to populate the drop-down in the appropriate language (if applicable), with a custom option still available.

@toastxc
Copy link
Author

toastxc commented Jan 19, 2024

I've got another demo, not sure if this is the best way to do things but it works.

I'm having issues self-hosting Revolt entirely, the last working version I have of the backend is 80 commits behind so this change may take a while...

@toastxc
Copy link
Author

toastxc commented May 7, 2024

My contribution to this RFC will be on hold until license/CLA issues are resolved, if anyone else would like to take over the project, feel free.

@Amazingca
Copy link

Just to add my two cents to this — and apologies for the late addition to this discussion — overall I think a designated pronoun field for the user is a good idea.

I spend most of my time on Discord and frequently check the pronoun field on peoples' profiles. In minimal instances — I'd say about 5% of the time — the field does not in fact have pronouns but instead something else. There are some people I know who do have preferred pronouns but instead use the field for an entirely different purpose.

Speaking on that, I would agree that having a pre-defined pronoun list (as like Instagram's where you can mix and match) would be the best way to make sure that the field is used properly. Localization would also be a similar matter, and there would be an optional localization option per each pronoun that exists — or at least to the most accuracy. There shouldn't be an overbearing limit to how many pronouns you can select from the pre-defined list. Overflowing the UI is a possibility but I've honestly never come across a profile on Instagram that has done that. But then again, I rarely use the platform. There could be a "request to increase pronoun cap on profile" feature, but I think it should be tested first without a cap to see if that functionality really needs to be added.

I would say though, neopronouns are an area where there needs to be some consideration into implementation. If someone is interested in adding a custom pronoun that doesn't already exist in a predefined list, there should be a quick and easy way to get new ones approved and added. Not everyone is familiar with OSS contribution flows, and while I would assume that some majority of Revolt users are tech-savvy, it's best to assume that they aren't for accessibility. On that note, there should definitely be some infrastructure in place that facilitates pronoun requests and approvals, even if it's not directly within the client. It is likely that open-sourced pronoun lists already exist, which would make initial support much easier. That would also take the strain off of the contributors to Revolt to have to maintain those lists and build infrastructure around it.

On the side of displaying pronouns, displaying it next to the user's name — more specifically in servers — is a must in my opinion. I can't count the number of times I've opened up someone's profile in servers so I could get their pronouns. In DMs, I don't think this is necessary as user count is limited; in most circumstances you talk to and are more familiar with these people. Visually speaking, there are some considerations in terms of making sure that this is accessible across all clients, but overall I'm not too worried. Most notably, the display next to the user should be as visually similar — from a UI standpoint — to that of the one in the profile. This way everything is unified. There could also be an option to disable this functionality on servers, but by default it should be enabled.

@m-doescode
Copy link

As some have mentioned, I think it'd be important to have a built-in way to add pronouns that doesn't require contributing via github. I was thinking something like a combo box where you select your pronouns from, next to them you have the language in brackets. Then next to it is a plus button which adds another set of pronouns.

If the pronoun you're searching fro doesn't exist, it suggests "Request new pronoun "..."" which when clicked on shows up a dialog box that allows them to enter their desired pronoun and affecting language and submit it. Until then, it is displayed with an orange box indicating it hasn't been approved yet, and can only be visible by them. Once it is approved, it is added to the list for everybody.

@Giwayume
Copy link

What would make the most sense to me is a built-in list that comes from another existing source that's already tackling this problem (not maintained in this project) + each server can add overrides. Like described above, if a custom pronoun is added by both a user and a list maintained in a server, it displays to members of that server.

  • Each user can have a setting which they toggle to allow custom pronouns to display to them on profiles they view through DMs.
  • Each server can have the same setting to allow any custom pronoun be used in the server instead of maintaining an override list.

What I don't want to happen (especially for 3rd party hosting) is to put the maintenance burden on the application itself to dictate what a person can and can't call themselves. Leave it up to communities.

Additionally, displaying pronouns next to usernames should be a per-user preference toggle that is off by default if it is added as a feature. Most people will not appreciate the extra space taken up on their screen on mobile. The reason just showing it in the profile "works" is similar to why in a real life conversation you establish what to call a person before having a conversation with them instead of everyone announcing their pronouns before every sentence they speak.

@Giwayume
Copy link

Giwayume commented Mar 13, 2025

I also think this whole attempt to moderate pronouns is futile, because there is nothing stopping a user from ignoring the pronoun field and just adding it in the "information" field or "display name" like they do today (which is likely what they will do if they don't see what they want in the list).

One of the big rules of usability is "you can't force user behavior".

@Andre601
Copy link

I also think this whole attempt to moderate pronouns is futile, because there is nothing stopping a user from ignoring the pronoun field and just adding it in the "information" field or "display name" like they do today (which is likely what they will do if they don't see what they want in the list).

One of the big rules of usability is "you can't force user behavior".

I would argue that there is a difference between an info field (aka Bio) and a pronouns field.
When I look at pronouns, I expect actual pronouns and not "Pronouns: Robot Chicken!" or something weird like that.
Where on a Bio, I don't expect any specific format. It's their Bio so they can put there what they want.
I mean, IRL you also don't go to make an ID and then have the freedom of putting whatever into the gender thing now, do you? Same should apply here with pronouns.

Also, I can see a benefit here, which is the ability to have the pronouns be translatable, meaning that while a user with language english sees Pronouns: He/Him, a user with german language could see Pronomen: Er/Ihn, which makes it that little more accessible to people.

@Giwayume
Copy link

Translation is a good reason to have a predefined exhaustive list that works for most people, not a reason to not accept custom pronouns. Many of them are made in English and have no equivalent in other languages.

Equating the problem to an ID suggests there is a governing body for pronouns, which there really isn't. I would prioritize an individual's capability to express themselves. Moderation is always going to be a community concern.

@zyllian
Copy link

zyllian commented Apr 25, 2025

There can never be a complete exhaustive list of neopronouns since they're ever-changing. Instagram's lack of custom pronouns means I have to not only drop one of my more unusual ones on there but also disallows me from using parentheses around she, which I prefer only as a fallback. Presets are useful for localization but the only way to allow people to fully express themselves within a pronouns field is allowing a custom input. Additionally, the order of pronouns is frequently considered important to those who use more than one set.

I don't see how allowing a custom input would increase moderation requirements any more than they already are when both custom names and bios exist.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Draft This RFC is not finished yet New Feature An RFC for a new feature New RFC A New RFC PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.