4 ms·
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
by bhouston 3y ago
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.
- klausa 3y agoMaking software that works across cultures (and especially _as many_ cultures as Apple's software does) is difficult. I guarantee you that every single one of those enum cases exists, because there is a language/culture where there is a specific word to describe that relationship; not "because an architect gave up".
- bhouston 3y agoI didn't know there were words for those in other languages. I guess I'd still prefer an expressive composable model for them so that I could reason about them. At least know who is related to who in which way, rather than these enums. But I guess that is outside of the scope for Apple - they just want that short name in the UX somewhere when adding a contact.
- secretsatan 3y agoLocalizing, this falls into the things you thought about x are true. This is the end result of a bunch of switches and ifs in a ui where your model, in very specific circumstances, boils down to a few words that most people understand without computer programming experience.
- mrbadguy 3y agoThe point is that you don’t need to reason about the relationship because the name, in the local language, tells you everything you need to know. Of course, if you don’t speak the language then that’s not useful but the code is written for the end user to be able to use the labels, not for the software or its developer to be able to parse the family tree :)
- NonNefarious 3y ago[dead]
- dcow 3y agoEven if it's modeled with more compositional finesse in the code, you still need a UI level label for this combination of relationships in some culture where there's an appropriate term for it, so you still end up with some label like this.
- ethansinjin 3y agoI think this was motivated by non-English languages which have separate terms for different relations than English?
- mjr00 3y ago> I am confused by the "younger" denotation, because it seems strangely specific to just the last relationship, rather than all of the links. In many cultures you address someone differently depending on whether they are younger or older than you. > This enum could have been replaced with data model where you set of a bunch of relationship links: How is that going to look on the user side? Most people just want to label their contact "Mom" and be done with it, they don't want to construct a family tree and say "this person is an older female parent" or maybe even "older elder female parent" if they have two moms. You might think "well Mom is clearly an exception" but that's a very North America point of view. A lot of cultures would find it weird if you could label someone as 어머니 but not 장모 because they're equally important.
- calibas 3y agoApparently, Chinese uses different words for "cousin" depending on whether they're older or younger than you.
- draw_down 3y ago[dead]