Hacker News new | ask | show | jobs
by smallnamespace 3465 days ago
But sometimes your government expects names to be broken into given and family names (the US, Japan, and China all seem to make this assumption -- every government form I've seen from those countries wants your name fully broken out).

I've no direct experience with, say, Russian or Latin American governments, but cultures that use explicit patronymic or matronymic names might expect that broken out as well.

If you ever need to submit user data to the government (e.g. for tax reasons), and you don't ask your user to break the name apart, then you will necessarily be guessing, which seems strictly worse than just asking them how their name might split.

At the end of the day, if you operate in a given culture, then you need to address those cultural norms. Bending over backwards to support every possible edge case seems unwise if they also happen to disagree with those norms.

2 comments

>I've no direct experience with, say, Russian or Latin American governments, but cultures that use explicit patronymic or matronymic names might expect that broken out as well.

In Ukraine we either have three fields in government forms (Family name, Given name, Patronymic) or two (Family name, Given name), for example on ticket booking forms. Or just one, but you should write names in FGP order.

Funny thing is that patronymic part is left out in transliteration, so in travel documents you see FGP form in Cyrillic and FG form in Latin letters. Transliteration algorithm is a bit funny, so people tend to have different Latin spelling of same name. And even different Cyrillic spelling of same name, depending if it's written in Ukrainian or Russian - Ukrainian, because Russian doesn't have dotted and double-dotted "i", the use "и" instead.

In past the formal way to address people used given name and patronymic, but that's not that true anymore.

In documents, sometimes full FGP form is only used at the start of the document and subsequent uses just include family name and first two letters of given and patronymic name. Tha is the only thing you can safely do automatically. Signatures also use this short form.

Other thing is that, male and female version of patronymic and family name can differ, so you can't even compare names, not just process them automatically.

And the good thing with patronymic names - combination of three names and birth date uniquely identifies 99.7% of voters, so this really matters.

I'm explicitly disregarding government websites here, since the government has a legitimate reason to care about my full name (and gets to define what a "legal" name means), and also 99% of the websites that I sign up for are unrelated to the government. There's no reason for a social network to report the names of all its users to a government agency automatically, and I'm skeptical that even my bank would have such a requirement.
I don't mean reporting all the names, but for example if you ever transmit payments there is a KYC process, and if you are a bank you must report any suspicious money laundering activity.

At the end of the day there are cultural conventions around names, and various agencies use them. I don't see why software should be explicitly culturally neutral, unless your audience is explicitly a global one (and even then, I think localization is preferable to just sticking names into a single field).

There is significant engineering cost to implement localization correctly. If you're a bank or in another market where you interact with a government, then you must bear those costs. If not, why not just use an opaque string and spend your engineering dollars on your actual product?