simonoppowa / OpenNutriTracker

🍴 OpenNutriTracker is a free and open source calorie tracker with a focus on simplicity and privacy.
https://simonoppowa.github.io/OpenNutriTracker-Website/
GNU General Public License v3.0
272 stars 42 forks source link

Bug: App only supports binary genders #80

Open peppergrayxyz opened 3 months ago

peppergrayxyz commented 3 months ago

The app only supports two genders and also assumes all people of these genders have the same calorie formula.

Suggestion:

bbb651 commented 1 month ago

Correct me if I'm wrong, but I think for calorie tracking what matters is biological sex rather gender? I think it should be renamed to reflect that, but I don't think "other" makes much sense, maybe a "prefer not to tell". I agree that just having a slider is better though, maybe it should show up only after you select an option, already set on the default value, to keep the interface simple for those who don't care to touch the slider.

peppergrayxyz commented 1 month ago

The label in the app says gender. Changing the label to 'biological' sex, wouldn't help without specifying what you mean (e.g. gonads, sexual organs, chromosomes, hormones). Your caloric demand mostly depends on hormone levels, which is different for different people. But also other factors, e.g. on menstrual cycle. The model calculation middles these values out for endo cis people. But I don't think over engineering data entry would help. The App just shouldn't push labels on people they don't use.

From a usability point of view, I think the default calculation makes sense, but data entry could be generally optional/skippable. I think the slider should always show up with the value being set based on the data that was entered. If no data is being entered, you get the demand of an average person. This would neatly integrate in the demand for custom calorie goals. If you already know your calorie goal, you don't have to enter data altogether, but just move the slider.

fabian-kir commented 1 month ago

I can understand why this might be an issue for a production version, however for no I think this issue should not be prioritized as most people, and even those who are affected, will probably understand why this information is important and can estimate which choice would better suite them. Maybe it would be enough for no to give an explanaition below:

"! If none of the conventional gender definitions apply to you, please choose the one that comes closest biologically. We would like to point out that we do not want to discriminate or exclude anyone by this selection. We are working on increasing the number of choices."

Maybe a member of the nonbinary-community wants to rewrite this notice, so that no one is being discrimnated!

peppergrayxyz commented 1 month ago

Yeah, something like that could be a quick fix! Often gender related things can be fixed, by being more specific, hence I think adding a description is a great idea. Since the underlying issue is reference values, I would actually propose to explain this fact, i.e. something along the lines "Reference values for the basal metabolic rate (BMR) calculator are currently only available for cisgender individuals. Please choose what comes closest to your metabolism."

With that in mind, I'd propose to rename the field from "Gender" to "Metabolism". Since we don't have any additional information to compute the value for non-cisgendered people, the label for a third option could be "average", i.e. just take the average between the male and female reference value. The part with "We are working on increasing the number of choices" is something we can't promise I think, because I'm afraid there is currently no calculator for non-cisgendered people and even if there was, I'm unsure people would be aware of the data it needed to be fed with. So they'd have to go with a custom calorie target anyway.

I think this would fix the issue also long term with minimal changes, mostly by changing the semantics of the field without changing the implementation / algorithm. Most people probably won't care or even notice, that the label is called Metabolism instead of Gender, but for those outside the gender binary I think it's a subtle but import differentiation.