go-gitea / gitea

Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD
https://gitea.com
MIT License
43.85k stars 5.38k forks source link

[Feature Request] Optional pronoun field in profile #13990

Open Alch-Emi opened 3 years ago

Alch-Emi commented 3 years ago

Hi all!

Summary

I'm proposing to add a new field to the user biography, specifically for pronouns. Like the website, location, and bio fields, the user would not be required to use this field, and if they elected to leave it out, the field would not be displayed. If the field is set, it would be displayed alongside a small icon, such as octicons-comment-discussion. Input to the field would be 64 characters of free text.

Demo

Motivation

The process of building software, especially in a community-focused open source environment, makes inevitable the need to refer to other contributors in the third person. This creates a problem, as English, and many other languages, have multiple third-person pronouns to refer to users. On the internet, there's often no easy way to tell which is appropriate.

While using they/them pronouns (as in, “Alex mentioned in their review that…”) for every user of the site works, it might not be the ideal solution, especially as users become more integrated into projects, and people still don't know how to refer to them.

Considerations

Other Discussions & Notes

I was unable to find any other issues or pull requests discussing the addition of a pronoun field, nor any other additional or custom field. The closest related issue I could find was #4339, calling for the addition of a user biography. This issue has since been implemented and closed. The only criticism of the request was that it may be out of scope. To address this concern in relation to this request, I do not believe that this should be out of scope for the project. I would suggest Gitea is just as much about discussion and collaboratively building code as it is about the code itself, and that the knowledge of how to correctly refer to your fellow collaborators is just as important as knowing things such as their location or website, if not more so.

I'm willing to try to implement this feature myself, but I'm opening an issue to get some advice and input from the community, and to respect the Gitea contribution workflow. I'd be happy to address any concerns or accept constructive criticism, such that this thread might be a better resource either to me or a future developer

jolheiser commented 3 years ago

It seems like a user could just put this in their bio, no?

techknowlogick commented 3 years ago

The bio field is free form to cover this case, just like you are achieving in you GitHub profile currently.

Alch-Emi commented 3 years ago

Respectfully, I'd like to appeal the decision to close this. While the bio field absolutely works to convey pronouns, and I'm happy that it's an option, I see it as a stopgap at best.

While people can use the bio field to convey pronouns, people typically don't use the bio field. I think adding a specific pronoun field would encourage users to share their pronouns, which many people would find beneficial.

Additionally, if a user chooses to use the pronoun field to share their pronouns, they are forced to either cram their bio into the space after their pronouns, or cram their pronouns into the space after their bio.

I do recognize that for most users, this will be a small change, but I do think it will be a net positive for many users. I'd argue that UX is often the summation of many small things just like this.

I think that this would provide a lot of benefit to a lot of people, with next to no cost for most other users. I am also more than willing to do the devwork if that itself is a concern.

I'd at least like to request that the issue be kept open so that we might discuss it.

techknowlogick commented 3 years ago

This is exactly the purpose of the bio field to provide biographical information on who the user is. If the issue is that no one uses something, that's not a vote of confidence for adding yet another field that won't be used. If the issue is that users need to cram in information into the bio field, then the field should be expanded to accommodate this. Unfortunately, UX can also be negatively impacted by having too many fields so adding new ones we need to be careful.

Alch-Emi commented 3 years ago

Thank you for the response. While I do see where you're coming from, I believe you've overlooked some key things.

If the issue is that no one uses something, that's not a vote of confidence for adding yet another field that won't be used.

I don't believe that this is true, nor that this reflects the current attitude of Gitea towards other fields. As I interpret it, you're suggesting to justify a feature, if another feature can be used to that end, then users are using that feature to that end. In this case, this feature is invalid because the bio field can be used to that end, but only a few users are using it that way. If this is the case, I'm happy to open up a new issue to remove the location field. This field can easily be replaced by the bio field, though I doubt too many users would immediately use it for that.

If the issue is that users need to cram in information into the bio field, then the field should be expanded to accommodate this.

I think I may have used poor wording here. I meant to refer to visual or cognitive cramming of one's bio. For example, the following bio does not run up against the space limit, but is very much crammed:

[he/him] An entrepreneuring FOSS developer (22 y/o) [Student, CalTech]

In this sense, cramming is solved not by extending the field itself, but by allowing users to present their information in a more ordered fashion, in this case by adding more fields. I'm not arguing that we should add an age field, a job field, and a hair color field, but add a select few specialized fields for very important information, as has been done with Location.

Unfortunately, UX can also be negatively impacted by having too many fields so adding new ones we need to be careful.

I wholeheartedly agree, and Gitea's exactly-as-much-as-it-needs-to-be UI is the biggest reason I love it over GitLab and GitHub. I've been working in Gitea via a friend's instance for a while, fell in love with the UX enough that I've started the process of working on my own instance, and will be migrating my projects over soon. I wholeheartedly understand the need to avoid cluttering the UI. However, I think that this change, between the fact that it only actually shows up when filled, but provides a very important service, falls squarely on the "worthwhile" end of this spectrum.

techknowlogick commented 10 months ago

Re-opening as we now have the user key/value table which means this could be implemented without needing a migration or another column.