Hacker News new | ask | show | jobs
by franciscop 3468 days ago
The original one ( http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-b... ) left me bafled. Then I realized you have to strike a balance; otherwise you cannot deal with names at all. The point where drawing the line depends on your industry/customers, but I'd safely say that it's too restrictive nowadays so these lists are useful somewhat and of course they are interesting.
5 comments

It's true that you have to draw a line somewhere based on technical and business constraints, but an important takeaway of the names article is that you almost certainly don't need to do anything with a name other than treat it as an opaque string that can be displayed back to the user. For example, I'm struggling to think of a good reason why user registration would require separate first name and last name fields, and yet this practice is overwhelmingly common. For that matter, why do you want my real name at all, considering that it can't be used as a unique ID anyway?
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.

>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?
That's easy, it's to make better marketing materials.

"Dear [first name]," flows better than "Dear [opaque string],".

That's what the marketing department may believe, but in reality that's super creepy. Let's not pretend that I'm on a friendly first-name basis with corporations, or that in reality I'm anything more than an autogenerated numeric ID in a database as far as the corporation is concerned. Furthermore, nobody but my mother calls me by my real first name, and this holds for half of my cohort. And why does any company think that their marketing correspondence is welcome in the first place?
> nobody but my mother calls me by my real first name, and this holds for half of my cohort

Really? I've been assuming that addressing people by first name--even people you've just met--is now the default, at least for the United States and Canada. Are you in the USA/Canada, by the way?

I know that it used to be rude to address someone by their first name unless you knew them well. You had to say, Mr. last-name or Mrs/Ms./Miss last-name. I know this from old movies.

But I thought that the etiquette has changed completely: First name is fine and last name sounds rather formal. Do others have a different experience?

For whatever reason, a large number of the people I know go by names that are not their legal first name. Some go by their middle; some drop letters from their first name in idiosyncratic ways; some keep the same pronunciation but have a different spelling; some change the spelling while leaving the pronunciation and then drop letters; some go by irc nicks even in person; a rare few just invent words that have nothing to do with their names and go by that. Maybe it's a unique symptom of growing up in an era where we communicate via online systems that demand unique usernames?
Could be. If you've heard of someone primarily referred to by their online pseudonym, it may be less awkward calling them that than trying to guess at how they wish to be addressed using their real name. It's still awkward though.
> Really? I've been assuming that addressing people by first name--even people you've just met--is now the default, at least for the United States and Canada.

This is incorrect. Calling people by something less formal than Mr./Miss/Mrs. <family-name> is certainly the current norm, but the alternative used is a personal choice of the person being addressed and often different from (sometimes, though far from always, a shortened form of) the legal personal name.

> I know that it used to be rude to address someone by their first name unless you knew them well. You had to say, Mr. last-name or Mrs/Ms./Miss last-name.

It remains rude to address someone by less formal terms until and unless you have sufficient contact with them to know the less formal appellation that they prefer you to use. It is more expected now than in the past that people will very quickly accept the use of less formal address and inform you of their preferred form.

It is also more common for businesses wishing to feign familiarity to presume that first name information from a customer registry, credit card, or other source is equivalent to stating a preferred form of address and consenting to have the businesses agents use that form; it is not, and quite a lot of people react badly to it. You would be well advised not to imitate those businesses.

I really really dont like being called "Joseph" in long form. I know there are some Matthews, Benjamins and a Sybille who agree...
I personally don't like the shift, even being in the younger crowd. Calling someone by their first name sounds not only presumptuous but leaves you in an awkward spot of guessing whether to use a nickname (you may heard they've been given) or their full first name. With some coworkers, it's fine 'cause we're on a friendly basis anyways, but if I don't know from Adam, I prefer people don't use my first name. It only lowers my respect for them.
Give me a genderless honorific and I'm right there with you. Otherwise, a quick correction to ask for use of a nickname seems easier and less embarrassing all around than presuming gender incorrectly.
> Really? I've been assuming that addressing people by first name--even people you've just met--is now the default, at least for the United States and Canada.

Nope.

> I know that it used to be rude to address someone by their first name unless you knew them well.

Correct.

> But I thought that the etiquette has changed completely: First name is fine and last name sounds rather formal. Do others have a different experience?

Outside of school/university it's simply presumptuous. Don't do it.

Perhaps it's regional. These countries are both huge, with a wide variety of social norms represented. Out here on the left coast, first names seem to be the norm, as the GP poster surmises.

I can't actually remember ever being in a business meeting/academic setting, where Mr. or Ms. was used, at any point. In movies, sure, but it really does seem quaint.

I understand what you're saying, but I find the first-name greeting stuff to be probably the least problematic of marketing behaviors big businesses can do. Send me your regular catalog of electronics parts, but it's got my name on it? Sure, whatev, Mouser Electronics.

Far creepier is the thing where they use your purchase history to make predictions about your health condition, like where Target would send out baby-related stuff when its algorithms discerned that customers were likely pregnant: http://www.businessinsider.com/the-incredible-story-of-how-t...

Compared to that stuff, "Dear Frondo" seems absolutely benign.

I've run into a couple of sites that ask for "nickname" or "preferred form of address", which you could store as a separate opaque string, if you really want that.
That's great, that's an even better solution. I like that. If I'm ever in a position to make a recommendation about this sort of thing again, I'll use that idea.
Yes, I'd so much rather have an explicit nickname field if a company wants to insist on calling me anything other than my username.
People's names is one area I think developers constantly bugger up. For example, my last name has a space in it, but half the websites I register on either:

1. Throw an error and won't let me enter my last name as it is supposed to be spelled.

2. Truncate the last part of my last name.

3. Try to be clever and end up shoving the first half of my last name into a middle-name field.

My preference for names, addresses, and other personal data is to stop trying to constrain people to preconceived "standards" and just let them enter their information the way they want it to be.

I'm a fourth, and occasionally the IV suffix gets horribly mishandled. I recently booked a flight on Travelocity and had to change arrangements by looking up the reservation on the actual airline air, but it turned out they had dropped the space between my last name and the IV, making it impossible for me to log in until I figured out what had gone wrong...
As a Spaniard I have two last names (no middle name, no one last name with space) but 0% of the non-spanish websites I have ever seen accommodate for this.

Normally I just use it with an space in the last name field, but then I get exactly the same problems you mention.

What I take from the names article is to make sure you understand your requirements. A blogging platform will have different requirements than, say, electronic medical records.
For EMRs, the HL7 FHIR HumanName datatype covers most of what's needed. Patients can have 0 or more names, each of which can have a full string representation plus 0 or more separate family / given / prefix / suffix components. And each name can be tagged with a usage type (official / maiden / nickname / etc) and validity date range.

http://www.hl7.org/FHIR/datatypes.html#HumanName

Interesting! Especially the inclusion of a time period field. That's important in time zone information, too.
Wasn't there one about time and timezones ?

So many mundane things have the "how hard can this be" ..

Yeah, the same applies to many of the falsehoods in this list. Some of them you have to get right; some of them you can probably ignore without causing practical problems.