from Hacker News

LabelContactRelationYoungerCousinMothersSiblingsDaughterOrFathersSistersDaughter

by atulvi on 9/21/23, 7:56 PM with 263 comments

  • by mercutio2 on 9/22/23, 1:45 AM

    Responding to a variety of questions made over the years about this:

    This is a constant intended to be displayed after localizing the constant. Its localized value will primarily be displayed to users whose preferred languages have a short word describing the relationship.

    But it ALSO needs at least some comprehensible localization in EVERY language, because I can send you a vcard for myself labeling this specific type of cousin (because that’s how I think of her), and I don’t know in advance what languages you use.

    The primary customer of this family of constants is a localizer, who by virtue of localizing Apple software needs to know English, but may not read or understand Chinese.

    The constant embeds everything that an English-speaking localizer needs to explain the relationship in a different language. That’s why something like the proposal here[0] (just use the Chinese name for this relationship) would not be an improvement.

    A fully generic DSL to describe relationships wouldn’t help localizers know which relationships are actually used in the real world.

    [0] https://news.ycombinator.com/item?id=28716546

  • by mercutio2 on 9/22/23, 12:08 AM

    If you are a native English speaker and are surprised a relationship label might translate with difficulty into another language/culture, consider:

    Brother-in-law

    It’s my sibling’s husband, OR my spouse’s brother.

    In many non-English-speaking cultures, that juxtaposition appears bizarre.

  • by prosody on 9/21/23, 9:00 PM

    Of possible interest to HNers, kinship terminology of different cultures is a subject that has a very elegant taxonomy. It was a major line of inquiry in early modern sociology, which tried to link other attributes of how societies were structured to how they named relations. https://en.wikipedia.org/wiki/Kinship_terminology
  • by dang on 9/21/23, 8:34 PM

    Related:

    CNLabelContactRelationYoungerCousinMothersSiblingsDaughterOrFathersSistersDaught - https://news.ycombinator.com/item?id=28712667 - Sept 2021 (132 comments)

    CNLabelContactRelation​YoungerCousin​MothersSiblingsDaughter​OrFathersSistersDaughter - https://news.ycombinator.com/item?id=20341855 - July 2019 (176 comments)

    Oh no. Am I going to have to figure out https://news.ycombinator.com/item?id=20341959 again? Tweaks to HN title escaping since 20341855 are showing up just a bit there...

  • by Apocryphon on 9/21/23, 8:11 PM

  • by waltbosz on 9/21/23, 8:43 PM

    LabelContactRelationFathersBrothersNephewsCousinsFormerRoommate
  • by vinay_ys on 9/22/23, 5:07 AM

    In India, even before we get to cousins, we have distinct terms for father/mother's siblings of same and opposite genders. Same gender elder/younger siblings of your parents have different pronouns that translate this way in Kannada (Language of Karnataka state):

    senior-father - ದೊಡ್ಡಪ್ಪ (doddaappa) for elder brother of father,

    senior-mother - ದೊಡ್ಡಮ್ಮ (doddammA) for elder sister of mother,

    junior-father – ಚಿಕ್ಕಪ್ಪ (chikkappa) for younger brother of father,

    junior-mother - ಚಿಕ್ಕಮ್ಮ (chikkammA) for younger sister of mother.

    Their spouses get the same seniority title with appropriate gender.

    Then, opposite gender siblings of your parents get pronouns that are more conceptually closer to uncle/aunt. But here, there's no seniority distinction.

  • by henshao on 9/22/23, 1:37 AM

    As someone of asian descent, I find it interesting how so many of these comments have such a stereotypical software engineer's "why don't they just XYZ" statement and its pretty eye opening.

    I know I'm guilty of this at times too, but this example is really funny to me, and I guess I'll try rein in my assumptions that people are irrational in the future.

  • by mulmen on 9/21/23, 8:27 PM

    Why though? Where does this actually get used?

    This seems to represent two different relationships. The mother’s sibling could be a brother. For the father a sister is specified. What about the father’s brother’s younger daughter?

    The description says younger daughter in both cases but the name doesn’t specify. So what’s the class for the older daughter of the mother’s sibling or the father’s sister?

    And if age is relevant what about the father’s older sister’s younger daughter, etc.

  • by satya71 on 9/21/23, 8:49 PM

    English so inefficient when expressing human relationships.
  • by trothamel on 9/21/23, 9:06 PM

    Is it time for CNLabelFathersBrothersNephewsCousinsFormerRoommate? Perhaps as an alias for false?
  • by ubermonkey on 9/21/23, 9:05 PM

    Dang.

    I always thought it was awkward that both [male spouse of sibling] and [male spouse of spouse's sibling] are both called "Brother-in-law" in American English usage, but this level of specificity is bananas to me.

  • by cultureswitch on 9/25/23, 10:14 AM

    After understanding the reason this exists, am I alone thinking that this named constant probably shouldn't exist and rather that such relationships should be described by literal constructions of a small set of basic family relationships? That is, instead of saying grand-mother you would build a value such as "MotherOf(DirectParentOf(Me()))"
  • by RedShift1 on 9/22/23, 4:07 AM

    If this exists, there's probably also a LabelContactRelationYoungerCousinMothersSiblingsDaughterOrFathersSistersDaughterInstanceManagerFactoryInterface somewhere...
  • by oytis on 9/22/23, 7:47 AM

    For someone on Android - why do they have these constants at all? If people need to add metadata to remember who their contacts are, why not free text field?
  • by BLKNSLVR on 9/21/23, 9:20 PM

  • by true_religion on 9/22/23, 1:59 PM

    I translated this into: Matrilineal-descent cousin. As in either the cousin from your mother's line, or the cousin from your aunts on your father's side. In my culture, we have matrilineal decent inheritance so this is person is who inherits your non-personal property. They're one of the most important people in your lives.
  • by jdthedisciple on 9/21/23, 8:51 PM

    There is even

    CNLabelContactRelationElderCousinMothersSiblingsDaughterOrFathersSistersDaughter

    https://developer.apple.com/documentation/contacts/cnlabelco...

  • by smukherjee19 on 9/22/23, 10:22 AM

    Interesting! Reminds me in Japanese how you can (almost) tell what a sibling is composed of just by looking at the kanji characters. These are ALL read as "kyoudai":

    兄弟:Elder brother, younger brother

    姉弟:Elder sister, younger brother

    兄妹:Elder brother, younger sister

    The 4th remaining case is 姉妹, and is read "shimai".

  • by yegle on 9/21/23, 8:59 PM

    https://play.google.com/store/apps/details?id=com.blogspot.r... FWIW there are handy calculators for situations like this.
  • by secretsatan on 9/21/23, 9:33 PM

    I’ve always been terrible at diagnosing family relationships, what would be the end result in english? ( or any other language )

    Edit: or is it a word or phrase that doesn’t exist in English?

  • by helsinkiandrew on 9/22/23, 7:32 AM

    So what is the language that has the same word/phrase for MothersSiblingsDaughter and FathersSistersDaughter (but presumably not FathersBrothersDaughter)?
  • by bhouston on 9/21/23, 9:04 PM

    This project seems like an architect just gave up and said fine, you get an enum value for any relationship you can think of, what do people want? And this was one suggestion.

    This enum could have been replaced with data model where you set of a bunch of relationship links:

    Relationship:

    - type: parent (up), child (down), sibling (sideways)

    - gender: male, female, ...

    I am confused by the "younger" denotation, because it seems strangely specific to just the last relationship, rather than all of the links.

    If you have a lot of relations, it would be easier to just create a family tree then you can skip having to have multiple duplicate links being created for say each cousin.

  • by wruza on 9/22/23, 12:13 AM

    Someone who started it probably regretted it later. If these enum values don’t differentiate something in os/ab code, then it should be just a text field, a boolean or an enum of a different kind that reflects the difference. On its own it’s just an unreasonable complexity.
  • by 29athrowaway on 9/22/23, 4:23 AM

    ChatGPT gets deeply confused with those kinds of relationships.
  • by flaghacker on 9/21/23, 8:33 PM

    What value does this label have for English localization?
  • by m3kw9 on 9/21/23, 10:46 PM

    Why
  • by jandrese on 9/21/23, 9:19 PM

    Dark Helmet:

      Before you die there is something you should know about us, Lone Star.
    
    Lone Starr:

      What?
    
    Dark Helmet:

      I am your father's brother's nephew's cousin's former roommate.
    
    Lone Starr:

      What's that make us?
    
    Dark Helmet:

      Absolutely nothing! Which is what you are about to become.
  • by shmerl on 9/22/23, 12:29 AM

    This looks horrible. Snake notation please!
  • by musicale on 9/22/23, 6:56 AM

    I'm convinced that autocompletion is a curse that enables this madness.