6 ms·
What a Dead Man Named FM-2030 can tell us about the future of user names
- BerislavLopac 14y agoOf course, the obligatory article about programmers and names must be linked to here: http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/ http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-b...
- MrMcDowall 14y agoThanks for reminding me of this!
- WayneDB 14y agoThat article seems like a bunch of useless pedantry to me. "...refer people to this post the next time they suggest a genius idea like a database table with a first_name and last_name column." So what's his suggestion then? Take this list of "bad" assumptions and try to build around them? Hogwash. Questioning whether you should design around someone not having a name is like asking if you exist. I know companies that have been making millions for 15-20 years with this genius idea. You know what's so genius about it? It's simple, the developers understand it and it works for a great, great majority of cases.
- dwb 14y agoIt's not pedantry when a significant proportion of people on Earth are affected by at least one of these falsehoods. Obviously it's very difficult to design a system that doesn't fall foul of any of these, but we could at least strive for better. Just having "first name" and "last name" fields is really quite culturally insensitive. It pretty much worked when only Americans and Western Europeans were using computers, but the online world is a lot bigger now. A comment by the author gives examples of humans who don't have names, but certainly exist: "Someone born into slavery in the Sudan, a woman born in rural China, an American baby recovered after being born into a toilet, a feral child, an amnesiac, etc, etc." It's not quite so important for a social network to deal with this, but a government system, for example, should be more rigorous. Whatever the system, if we can be more global in our attitude, so much the better.
- Cushman 14y ago> A comment by the author gives examples of humans who don't have names, but certainly exist: "Someone born into slavery in the Sudan, a woman born in rural China, an American baby recovered after being born into a toilet, a feral child, an amnesiac, etc, etc." I don't know if this is a peculiar idea, but in those circumstances perhaps a "Generate Name" button is the useful feature.
- makomk 14y agoI think that's effectively how this is handled at the moment.
- BerislavLopac 14y agoOnly if that name is intended to become official. If not, rather make sure that the field accepts a null value. ;-)
- Dylan16807 14y agoI'm not going to communicate with you by pointing. Stop being a special snowflake and come up with a name, even if it's local to the service. No null values. Your name can be 'null value' though if you like, win yourself some geek points.
- vacri 14y ago"an American baby recovered after being born into a toilet" Does anyone seriously believe that this person will go through life with no name? There are placeholder names for unidentified people, the baby will get one of these until someone takes authority for it and names it.
- WayneDB 14y agoIt is too pedantry, when at the end of the article you're suggesting that anyone is sub-genius for simply not caring about the same things that you might! Especially when a significant proportion of developers are not going to be adversely affected by most of these falsehoods (many of which are just the same assumption worded differently). "Obviously it's very difficult to design a system that doesn't fall foul of any of these, but we could at least strive for better." If your goal is to achieve some nebulous goal of being "better", then sure. Otherwise, please tell me exactly why am I wasting my time? There has to be a reason, for instance if I'm building a global system that actually cares about acquiring exact/full/legal names and every name you've ever had. "It's not quite so important for a social network to deal with this, but a government system" There you go. You almost hit the nail on the head, but again - if your government system is not concerned with collecting every data-point about the person's name, then why should it care?
- BerislavLopac 14y agoThe point of that article is not to define any definite solution; it's just to remind the programmers that there is a nonzero number of cases when any of the assumptions on the list (and any that are missing) will be wrong. Of course that one should cover most and not all cases, but they should be flexible enough to anticipate a surprise of that kind.
- andrewcooke 14y agohave an upvote from someone with a single surname living in a country where the default is to have two...
- WayneDB 14y ago"Just a reminder"...sure. It's funny how "just a reminder" always sounding patronizing, particularly when there's no good solution that covers every base. Not only is the tone super pedantic, but the author berates people for creating simple databases based on their simple assumptions. Fuck that. Not very agile. It's not like we can't update it if there's a large demand for change in the way names are collected.
- antidoh 14y agoI have a one-word legal name. Some people have two, three or more names. Now what?
- Dylan16807 14y agoPut the name you like in 'First' and anything remaining in 'Last', it'll work well enough.
- antidoh 14y agoI usually use the same name in both fields. My question was more rhetorical to the person I responded to.
- WayneDB 14y agoShould I care? If I am designing a system that requires only a full legal name...then it depends on the law of the target region. If it's for almost anything else...I'm not going to waste my time unless there are more than a few complaints. My entire point here is that if it's really important to the system being designed, that the correct answer will occur to you naturally. Honestly, if we design a system that requires full legal names and we don't look into the laws of the target region, then we're probably not too bright.
- antidoh 14y agoSo tell me, is two names United States, or any US state's law, or is it just a common assumption? Do programmers routinely look up the law for common assumptions? I'm guessing no. And by the way, the tone of your responses in this thread is the first time in my years of HN participation (under various user names) that I've wished for a plonk file. Everything you've said has the core of a relevant argument, wrapped in condescension.
- WayneDB 14y agoYou're missing my point. If the legal exactitude of the name is relevant to some functionality, then yes I do think that most decent engineers will naturally tend to want a reference of some sort. Otherwise, they just change whatever broken thing they did if and when it becomes a problem. It doesn't make them any less intelligent than the author of this article. The cutesy way that list was written and that comment at the end of the article was what I was responding to earlier, but anyway...what exactly did I say to you or anyone else that was so condescending? I'm not saying that I'm not slightly intense at times, maybe I ask a lot of rhetorical questions... Sorry.
- webjprgm 14y agoWhat you need is to separate components of a name that can be used separately. If your app wants to say "Welcome John" in some places and "How can I help you Mr. Smith" in others, you need to have FirstName and LastName fields. If you also want to say "Account details for John A. Smith" then you need another FullName field. You can't have just FullName, because parsing the name for it's components is incredibly complicated. (E.g. some people have last names with spaces in them.) A suggestion below says FullName and PreferredName, which would probably work for many applications.
- roc 14y ago> "Future generations are going to find it impossible to register themselves on social networks with their actual birth names, because older generations have used them all." Only if we presume: 1. Registering people with the same name is difficult-to-impossible. -- And/Or -- 2. Systems that future generations care about will have been invented at some problematic chunk of time before they attempt to register for them. As to 1) I believe even Facebook can handle the multitude of "John Smith"s fairly painlessly. And 2) is borderline laughable.
- MrMcDowall 14y agoIn regard to your first point, yes of course they can handle multiple equivalent names for display, but if you want to use Facebook as your Identity, then there can be only one. The person at http://www.facebook.com/john.mcdowall http://www.facebook.com/john.mcdowall is not me, nor is john.mcdowall1 and so on.
- BerislavLopac 14y agoSo? Why don't you simply use your phone number, nobody else has the same one as you. Why would identity be restricted to names?
- MrMcDowall 14y agoDid you read the post?
- BerislavLopac 14y agoI did, and I don't get your point. Since we already have multiple people with the same name, I don't see how a name is relevant when it comes to uniquely identifying a person.
- MrMcDowall 14y agoIt's not about having people with the same name, or identifying a person uniquely for the purposes of a program. It's about people changing their legal birth name in the future to a unique choice that means something to them so that they can have a single identity across all social networks or communities. They will want to do this because social networks and communities will be so ingrained into every day life, so much so that their online identity will have more meaning to that person than their legal birth name.
- Tichy 14y agoI actually find that interesting. Why can't we change our names at will? Is it because government needs them as a unique ID (combined with birth date and what not)? If governments had other IDs (and they do have social security numbers), why bother keeping track of names?
- MrMcDowall 14y agoI think mostly it is because of the legal status that names convey - contracts can only reference tangible names for people or organizations in them, not abstract concepts. So I guess it's not the Government who would and do happily use SSNs to identify us, but the legal system.
- pavel_lishin 14y agoIANAL, but I believe that in the United States you're free to use whatever name you like so long as it's not done for fraudulent purposes.
- antidoh 14y agoEssentially true.
- drzaiusapelord 14y agoSure you can. When I worked at a large non-profit we had a name change request from our affiliate members for a user named "Jack." That's right. Just Jack. He said that was his legal name. In Active Directory or LDAP, names (or lack of) are just attributes. So I just put 'First Name: Jack' and give him 'jack' as his username.
- cookingrobot 14y ago> "How would you process a credit card payment for someone who has only one name?" The Sripe API doesn't require a name at all, so they're clearly ahead of the curve here!
- MrMcDowall 14y agoYeah, Stripe doing it like a Boss :) That said, you know there's programmers out there not using the Stripe Button and coding forms by hand that will have validations on them for the First and Last name because they think it's the right thing to do. I've seen it.
- adolph 14y agoName information has been optional for PayFlow since the olden days (Signio I think), so there isn't much of a curve to be ahead. Pg 27: https://cms.paypal.com/cms_content/CA/en_US/files/developer/PP_PayflowPro_Guide.pdf https://cms.paypal.com/cms_content/CA/en_US/files/developer/...
- nzealand 14y agoI worked with a guy called "Comet." That was his full legal name. He logged a bug against the HR system, because it insisted on both a first name and a last name.
- dickfickling 14y agoJust a note for the author of this piece - FM-2030 played in the Olympics in 1948, not 1984.
- MrMcDowall 14y agoWhoops! Thanks :) That really would have been Transhuman...
- mephi5t0 14y agoHow's that new? What about Seal, Madonna and Louis C.K.? Programmers should already handle that. Handling 1 name instead of 2 is a lot easier than let say change your system because instead 2 now you need 5 because people decided to have 3 middle names. Running out of IPs and upgrading Internet to 2.0 version sounds more complex than shrinking names from 2 to 1 IMHO. is it enough for a specific situation (security, verification, banking, etc.)? Probably not. But I am sure there will be plenty fo ways to do so. Every other man in China is Li or Lee and they somehow managed to deal with it :)
- antidoh 14y ago"Programmers should already handle that." Except they don't. I have a one-word legal name and I have rarely found any online from that allowed me to have less than two names. I realize I'm an edge case, so I just make up something for the other field. Ironically, I practically begged Google+ to allow me to use my real name, which they require for their "fine dining experience" (<cough>advertisers<cough>), but they refused because it was less than two names and looked fake. They may have finally worked that out by now, I left the building long ago.
- pixl97 14y agoMy name is "Robert'); DROP TABLE Students;--" https://xkcd.com/327/ https://xkcd.com/327/