5 ms·
Is there any reason not to use a singular field for this? It seems so much simpler to just give the user one input field and it would cover all scenarios.
by bvda 7y ago
Is there any reason not to use a singular field for this? It seems so much simpler to just give the user one input field and it would cover all scenarios.
- wongarsu 7y agoApparently a single field works fine in a resume builder. But consider a more complex app that does all of the following: display the name in various lists, has a detail view on that user, greets the user, talks about the person in third person (a report or similar). In each of those cases you ideally want to treat the name differently. Even in English the detail view might show George Walker Bush Jr (the legal name as the person might input it), while in the list you have to safe space and revert to George W. Bush. Greeting the person as "Hello George Walker Bush Jr" is silly, you want to say "Hello George" or "Hello Mr. Bush", depending on how formal you want to be. In languages such as Japanese you might end up generating honorifics on the fly. You can't do that if you can't parse the name.
- bvda 7y agoAh interesting, I hadn't thought of those use cases.
- mbadros 7y agoI recall getting a chuckle out of the honorifics drop-down menu on the Rolls-Royce contact form. https://www.rolls-roycemotorcars.com/en-GB/information/contact-rolls-royce.html https://www.rolls-roycemotorcars.com/en-GB/information/conta...
- frenchyatwork 7y agoI would imagine that most software would work perfectly fine with two values: * What do you want to be called? * (for some cases) What is your legal name? Trying to decide what level of formality and/or honorifics is appropriate in a specific case seems insane. Just let the user decide.
- stevesimmons 7y ago> Trying to decide what level of formality and/or honorifics is appropriate in a specific case seems insane. I once worked at an Australian bank that had a massive SQL function, prob 500+ lines long, for getting the salutation right in mailshots. As well as the usual Mr/Mrs/Dr/etc options, it had decades worth of special cases, largely derived from complaints from VIPs. e.g. Retired navy officers, professors emeritus, former Members of Parliament, archbishops and rabbis, a rather pompous husband of a female Lord Mayor,...
- elefantastisch 7y agoExcept you are assuming you can reliably make decisions about how a person's name should be used based on your classification scheme for names. First, your classification scheme will not cover all users (see the famous https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/ https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-...). Second, your use cases will not match all users. You may consider "Hello Firstname" to be an appropriate informal greeting and "Hello Mr. Lastname" to be an appropriate formal greeting, but even for people having a first name and a last name, this is not universally true. The only person qualified to say how a name can appropriately be used is the owner of that name. If you need a greeting, ask the user how they would prefer to be addressed. If you need to show their name to others, ask how they would prefer their name to be displayed. If you need their name as understood by some government agency, ask for their name according to that government agency (note: this is not necessarily the same for all agencies; people do not necessarily have one single legal name). If you don't want to overwhelm the user, you can have a "Display name" or "Legal name" field depending on what is relevant to your application and use that as the default. But you should provide overrides for every case where you are using their name in a different context. If this sounds complicated, it is because names are complicated. I have seen too many people with names that don't fit the typical pattern of Firstname Lastname (composed solely of ASCII letters) get frustrated with systems that do not support them. I will not ever assume I can know how to manipulate or use someone's name without them needing to tell me. Nor will I assume their name must fit within some predefined character set or length.
- wongarsu 7y agoWhile you make good point I think I actually do pretty well on the falshoods with the scheme laid out in the grandparent comment. The cases I violate are: - I assume everyone has at least one name (not strictly true, but close enough to true for people using the internet) - I assume every name can be mapped to unicode (I don't even know how I would fix that assumption) - I assume all names fit in some fixed length (I give more space than the British passport and more than I can display in most situations) - Even though I don't assume that people have a first name or that people have a last name I assume everyone has at least one of the two I find all of these assumptions reasonable, and your scheme of "Display Name" and "Legal Name" shares most of these assumptions, or would share them in any reasonable implementation (You can't allow names that use gigabytes of space, so there will be some length limit, and most implementations will use unicode). Of course using a name after decomposing it isn't easy. I will concede that asking the user is easier and more reliable, but it does come with drawbacks as well.