Is it appropriate to add auto capitalization on input fields where the user has to add first or last name text?
-
Duplicate: ux.stackexchange.com/q/23048/95?– Jørn E. AngeltveitCommented Oct 9, 2012 at 10:13
-
18An interesting read: Falsehoods Programmers Believe About Names– MarcoCommented Oct 9, 2012 at 10:37
-
We sometimes have a "do it for me" button next to the input, so the user can choose it if they're really that lazy. (No, I don't know the history of why it was added originally.)– IzkataCommented Oct 9, 2012 at 18:10
-
1Why force anyone to capitalize anyway? What's the harm in having lower case letters?– Ken LiuCommented Oct 10, 2012 at 2:13
-
4The most common surname in the world is 王 - how would you capitalise that?– KeithCommented Oct 11, 2012 at 9:47
7 Answers
Auto capitalization is impossible. What algoritm would you use to auto capitalize when a lady enters "cléopatra diane de mérode" as her name? You would probably end up with things like:
- Cléopatra Diane De Mérode
- Cléopatra diane De mérode
The only correct spelling however is "Cléopatra Diane de Mérode" (wikipedia). As you can see, capitalization of names can be a tricky thing.
If the user would enter her name with correct capitalization, you would probably turn the correct name into something incorrect. Auto correction can easily turn into auto incorrection.
This name was just an example to prove a fact. In reality, many names have strange capitalization.
-
22+1 for: "Auto correction can easily turn into auto incorrection", I liked that comment. Commented Oct 9, 2012 at 8:35
-
6In all fairness, the naive algorithm is 90% correct and with a trivial bit of work you go up to 99.x%. For instance, "dIANE" can be turned into Diane. For every dIANE who considers this wrong, there will be thousands of Diane's that appreciate it.– MSaltersCommented Oct 9, 2012 at 9:04
-
11
-
4In addition to providing an easy way to undo autocapitalization when you get it wrong, you log the failures. Degrading the UX for 99% of users to cater to the 1% is bad; but so is not being able to identify the long tail and working to reduce it. Commented Oct 9, 2012 at 13:53
-
7I guess the question may be how much cost is provided by both options. If you don't autocorrect the only people annoyed would be those who care about capitalization enough to be annoyed but not sufficiently to enter it correctly or correct it afterwards. In second case you annoy everyone who have non-standard name (and you need to code it). I would argue that there are more latter people then former. Commented Oct 9, 2012 at 18:43
I would suggest no.
Treat a person's name - in terms of capitalization, spelling, punctuation and spacing - exactly as the person does. [1]
There are a variety of cultures with names that does not use capitalization in all parts of their names.
It's true that most traditional English, American, north/central European names are written with capitalization of the first letter in all parts of their name.
However, in Eg. Latin and Dutch cultures it's very common with names that are written as
- Suzanna de la Cruz
- Nick van de Kamp
- Vincent de Paul
- João da Silva
If there is an auto capitalization for the input when the user fills in names such as these it could easily confuse and frustrate the user. Maybe even put her off enough to abandon the service.
Conclusion, it may be convenient for most western civilization users, but a bad experience for a considerable part as well. Let the users have full control of how their name is written.
-
It's possible to deal with autocapitalization, provided you know who's your audience... Commented Oct 9, 2012 at 12:00
-
2It's a good point, but I think you have to come to some compromise. For example, letting users enter whatever they want and having this pushed to the backend is a bad idea. You don't want a Bobby Tables incident: xkcd.com/327 Commented Oct 11, 2012 at 5:45
-
@shrodes haha, yea, that's a classic. Of course you still have to have a security feature that protects the system from any malicious user. Commented Oct 11, 2012 at 10:58
-
You have to keep context in mind here. I work in race timing, where we have to publish a professional looking set of results using information obtained from twelve-year-olds. If i don't run some auto-correction on user's name inputs, my output is going to be full of things like "MaXiMiLliAn" and "rosanna <3", which isn't acceptable. You can't always trust users to accurately enter their own names.– notatoadCommented Oct 14, 2012 at 20:20
-
@notatoad I go with Aric TenEyck's approach on this: "If your clients are unwilling to spell their own names correctly, it's not your job to correct them.". I don't think the OP is dealing with 12 year olds. Commented Oct 14, 2012 at 22:02
As others have mentioned, Dutch names like mine, even after they've been mangled into something English-like, can still have strange capitalization. If you tried to change my name to "Teneyck" after I entered it, you'd just irritate me.
If your clients are unwilling to spell their own names correctly, it's not your job to correct them.
-
4+1 for your last sentence. It's amazing how many people give their names and addresses to ecommerce sites entirely in lowercase, but as far as I'm concerned, that's their problem.– TRiGCommented Oct 9, 2012 at 16:03
-
1Of course the strange capitalization is the direct result of the mangling. The original Dutch surname would have a space before the E, i.e. "Ten Eijck" or "Aric ten Eijck". And as I noted in another comment, there's a fairly small set of rules for these prefixes (Mc/Mac for Gaelic names, about a dozen in Dutch, German and the Latin languages with a fair degree of overlap).– MSaltersCommented Oct 11, 2012 at 10:41
The best experience for the user is to let them review how their name looks on the site and allow them to change it whenever they are displeased. This approach is similar to GMail not asking for confirmation when deleting/archiving but giving you the "undo" option right after.
-
I call your "let the user change name when displeased" answer, and raise you a "design a solution so that the user is never displeased" answer. =) Commented Oct 9, 2012 at 14:05
-
11"the user is never displeased" is a story we tell our kids. Commented Oct 9, 2012 at 14:07
-
haha, touché! however, in this case with this feature, you can design a solution so that the only way a user is displeased is if they are simply displeased with their name, and that's a whole other matter. Commented Oct 9, 2012 at 14:10
-
@AndroidHustle It's not obvious if it is even possible. Consider that the very UX needed to handle the exceptional cases may displease the user. It's a safe bet that it's impossible please everyone. Commented Aug 2, 2018 at 19:00
Yes, it's good to suggest the autocapitalization, letting the user change something if that gone wrong.
Just be sure to define who your audience is: there are several algorithms to deal with particles like "de, da, e" in Brazilian Portuguese, for example: Lula da Silva, Pedro Bento e Silva, etc.
Similar rules can be used for "van, de, la" etc., and even for "MacRae".
References on how to deal with autocapitalization:
http://btb.termiumplus.gc.ca/tcdnstyl-chap?lang=fra&lettr=chapsect4&info0=4.03
http://forums.zotero.org/discussion/22585/proper-capitalization-of-personal-names/
-
1Down voting other answers just to try and bump your own answer is not a strategy that will make you popular in this community, just so you know. Commented Oct 9, 2012 at 11:57
-
4but down voting answers that I disagree and, in my opinion, over-simplify the question, is possible, no? Commented Oct 9, 2012 at 12:05
-
11I guess we have different approaches to that then. I see to downvote answers/questions that are clearly lacking in information or in other ways are pure speculations. I don't simply downvote because I'm of another opinion. I feel the solution you provide here is bad, it will make the user feel that the system is controlling the input. And there is no way for the system to distinguish a user who wants a word in their name written with a capital letter from a user with the same word to be written without a capital letter. This is simply a bad UX approach. Commented Oct 9, 2012 at 12:32
-
1
How about a simple rules-based defensive approach
- if a user takes the time to capitalize his/her name -> assume it's correct
- else (if all lowercase) ->
- if name consists of 2 terms -> assume firstname + lastname -> capitalize first letter of both firstname and lastname. This is not correct for lastnames like 'MacLeish' but 'Macleish' is arguably 'not worse' than 'macleish'. It however takes care of the majority of cases.
- if name has more than 2 terms -> don't attempt anything.
-
-
This falls in the 'don't attempt anything' category since
von Richthofen
(as a german lastname) plus a firstname would give at least 3 terms. So no autocorrection occurs. Not flawless, but better than trying :) Commented Oct 10, 2012 at 17:15
I would make a distinction between "autocapitalization" before and after the user types. On the iPhone when users "Add Name" in Contacts, the shift key lights up. If they don't want the name capitalized, they can deselect the shift key first. It does something similar when users type messages, at the likely beginning of sentences. I find this helpful - most of the time I do want names and the first word of sentences capitalized.
What the iPhone doesn't do is "correct" typing after I have typed a name. That sort of behavior steps over the line into the machine presuming it is smarter than the user - an annoying, classic violation of the principle of bias toward user control.
I just hope Apple hasn't patented the shift-key-light-up concept. --Jim
-
"I just hope Apple hasn't patented the shift-key-light-up concept." - Please, don't give'em new ideas. ;) Commented Oct 15, 2012 at 20:28