89

I have noticed what seems to me as rather strange user behaviour when completing web forms. Our system is used by solicitors and will-writers to submit client information. Sometimes, certain users use all capital letters for entries like the client's name and address. As these values are subsequently used to write to those clients, it can result in rather ugly and unprofessional letters being produced.

I realise we could sanitise this input and proper case the data entered but I fear that way could lead to much wider problems.

So, does anyone know where this behaviour comes from in the first place? What would be the best way to politely tell the user to enter data in the correct case? Should we pop up a warning if it's all in upper case?

In the end I decided that if I detect more than 50% capitals I replace the normal save / cancel buttons with a message with an example of how it will look in a letter and a I am happy with that and I want to change it options. I could have asked the user for alternatives, but it seemed to fit the form better to just add these options. Swapping the buttons out also looked good but this was made easier / smoother as the form uses backbonejs model events so it's super quick and dosent look jarring.

20
  • 16
    I realise we could sanitise this input and proper case the data entered - no offense intended, but no, I think you cannot reliably do that. What you might be able to do is make the input uniform, but like that, it is probably not "sanitary" and even less likely "properly cased". Commented Dec 12, 2014 at 12:27
  • 7
    @snotwaffle: "van" should not always be lower-case - that is precisely one of the issues :) And while we're there, thoroughly look at the list and also see the more peculiar versions such as VanDyke (in one word, with an inner capital). Commented Dec 12, 2014 at 12:37
  • 9
    You should see solicitors as morons, not users. They will write entire paragraphs in all-caps (and in a deliberately unintellegible babble), that's just what they do. Take any kind of software license file or the warranty sheet of any product you bought as an example. The intent is probably to emphasize importance, but who knows. In any case it makes everything unreadable to everybody else.
    – Damon
    Commented Dec 12, 2014 at 13:03
  • 7
    You should find the users having all uppercase addresses in your database and send them a "generic" survey. I am pretty sure people doing this are in the 60+ age, who thinks that some human needs to read the form manually. Uppercase letters are easier to distinguish from eachothers than lowercase
    – xeor
    Commented Dec 12, 2014 at 13:46
  • 12
    Are these also billing addresses, I know I've seen places say "Exactly as it is on the card" for billing addresses, and any credit/debit card I have has the name in all caps.
    – Mateo
    Commented Dec 12, 2014 at 19:13

11 Answers 11

68

Users enter information in upper case either intentionally, or unintentionally (e.g. they happen to have CAPSLOCK activated). Several other answers mention a variety of reasons for why the user may be doing so intentionally. If it is unintentional, then the user probably wants to know about it, and correct it.

As others have mentioned, designing an algorithm that 100% accurately converts from upper case to proper case is effectively impossible. It is impossible because the proper case of a name with exactly the same spelling can vary depending on various factors including national origin, culture, the cultural history of the person's family, personal preference, etc. In other words, the same name can be capitalized in multiple ways. This is particularly true for nobility particles, etc.

However, you can, algorithmically, determine a limited set of possible common ways that a name will be capitalized.

What to do when you get a name: Offer a pop-up with choices from which the user can select:

For your system it is better to have the user enter a version that is in proper case. After the user has entered a name, I would pop-up a selection for the user to choose the name to use from a selection of possible capitalizations, or edit the name to what they desire. I would show the pop-up either always, or only when detecting that the name entered was not in proper case (e.g. that has greater than 50% upper case, or has fewer than one upper case letter per word).

For example:

User entered: JOHN VON DOE

Then a pop-up like:

Example pop-up

Have the text in the usage example change based on the selection the user has made so they get immediate feedback as to what it will look like.

By presenting a pop-up you get the user to provide you with the proper capitalization of the name at the time of entry and inform them of the desire to have names entered in that manner. Having the immediate feedback to the user that the format they used is not desirable in this system will result in them learning to enter the names in proper case for your system. Having the option of keeping the name exactly the way the user entered it permits them to override what the system thinks might be desired with what they entered. Having the textbox populated with the entry that is closest to what may be the correct capitalization should result in the user having to put the least effort into any addition editing.

Ultimately, you need to let the user specify the exact capitalization to use as they are best qualified to provide you accurate information. You can do something like the above pop-up to encourage the user to provide the name to you in proper case, but you have to accept whatever they enter once you have made it clear that your system prefers proper case.

10
  • 11
    This is a nice idea. However, I guess I'd expect that the editable fourth alternative maybe should be the original input (in this case: all-caps) of the user. Commented Dec 13, 2014 at 12:16
  • 4
    Don't forget that users don't always pay attention. This approach will likely lead to a significant number of users editing the text in the input box, and clicking "OK", without checking the radio button in front of the text box, unless that radio button is checked automatically when the text box is focused and/or text is entered.
    – hvd
    Commented Dec 14, 2014 at 0:54
  • 4
    @snotwaffle That's worse than annoying. I'd be like "really?! It's my personal info. Take it the way I gave it to you or don't take it at all. I don't care if you want it caps'd 'correctly'."
    – user51426
    Commented Dec 15, 2014 at 8:21
  • 5
    @fredsbend Keep in mind that it is, explicitly, not the personal information of the person entering the data. This is "used by solicitors and will-writers to submit client information". Explaining to the user how the information they are entering is going to be presented to their client allows the user to make an informed choice of how they want it to be seen by their client. Offering the user the opportunity to modify the input they have provided based on that information is reasonable.
    – Makyen
    Commented Dec 15, 2014 at 9:33
  • 2
    @hvd, That the user may edit the textbox without specifically clicking on the radio button is a good point. Depending on the UI framework it may be necessary to have an event handler select the radio button for the textbox upon a focus or input event in the textbox. It would probably also be a good idea to indicate the selected option in a way that is more obvious than just the radio button being selected. Perhaps use a darker/different colored background for the selected option (similar to what StackExchange does).
    – Makyen
    Commented Dec 15, 2014 at 9:47
84

I've seen this occasionally in usability tests. When I ask it's usually because they have filled in many paper forms where there is a request to 'fill out in block capitals' or similar — so they think that is the default for all forms.

With solicitors I imagine there may be similar issues where court forms have to be filled out in specific formats.

Have you tried asking the folk using your system? It would seem the simplest way ;)

5
  • 1
    I agree with @adrianh. Whenever I need to fill in a form, the requirement is to do it in all caps.
    – Zoe K
    Commented Dec 12, 2014 at 8:58
  • 2
    This is, IMO, the closest reason. I worked with a home care site that works mostly with the elderly people. It's just they way they are used. Changing fields other than email, username, name, etc to proper case fixed that problem and everyone was happy about it.
    – AKS
    Commented Dec 12, 2014 at 18:12
  • @Kik It's all very well for people to translate input, because human brains can (mostly) convert to the right case for names, but trying to convert that process into code for a computer to use is an almost impossible task. Even with NLP thrown in, that is still probably true. (Knowing barely anything about NLP, I can't vouch for the veracity of that last sentence.) Commented Dec 12, 2014 at 19:51
  • 2
    Yep, and I suspect a lot of people don't realize that the computer will automatically transcribe everything - they probably think it sends a fax and then someone at the other end is transcribing the entries. (And in many cases this is actually true...)
    – fluffy
    Commented Dec 12, 2014 at 21:06
  • @fluffy You're right there. I've seen people who are no strangers to inter-office email print out a spreadsheet, walk across the office and hand it to somebody else who then starts capturing the data again. Commented Dec 17, 2014 at 8:54
19

This is because early Teletype and computer systems had no provision for lower case. Mixed case Teletypes came on the market in the 1930's, but the standard US military Teletype of World War II only printed in upper case. The idea that official communications and reports should be in all caps worked its way deep into the culture.

Up through the 1970's computers were not used for preparing business documents. They were used for keeping records and sending bills. Lower case was not seen as necessary or even desirable. But business letters have always been typed in mixed case. The introduction of word processors did not change this. These differing traditions clashed with the introduction of e-mail. Users with a computerized records background wrote in all caps. Users who saw e-mail as more like a business letter thought this strange and called it shouting.

The use of all caps continues to lose favor now that the World War II generation is out of the workforce. In 2013 the US Navy changed its policy to allow the use of mixed case where technically possible. Where previous generations saw it as official and dignified, the current generation sees it as inept.

So I would suggest that your users are writing this way because at some point they were taught that data should be entered into a computerized records system in all caps.

You could detect entries in all caps and pop up a warning that they should type the name as they would in a business letter. But you should not try to automatically fix the case or block the use of all upper case. Some people's names are properly capitalized in ways that are difficult to anticipate.

5
  • 1
    A friend of mine who was in the Navy decades ago text messages in all caps. He explained that it was part habit and he thinks it easier to read.
    – user51426
    Commented Dec 15, 2014 at 8:25
  • 1
    "You could pop up a warning that they should type the name in a business letter. But you should not try to automatically fix the case or block the use of all upper case. Some people's names are properly capitalized in ways that are difficult to anticipate." For that point, this should be the accepted answer (and not the one about the popup forcing the user to choose the correct form of input). Commented Dec 15, 2014 at 9:22
  • Isn't a bill a special case of a business letter? Commented Dec 15, 2014 at 15:12
  • The term "business letter" refers to a particular format. It has a the address of sender and recipient at the top, a greeting and one or more paragraphs of prose with an introduction, one or more main points, a conclusion, and closing formalities. Such letters are always written in mixed case. Bills on the other hand are generally done on preprinted forms. The customer's name, address, account number, and a table describe goods or services received and their cost were added. It is acceptable to print this information in all upper case.
    – David42
    Commented Dec 15, 2014 at 18:57
  • 1
    I remember using a mainframe application for my first business email - it used ALL CAPS, no functional word wrap (better get it right first time, you can't add later...) and you could only see one "page" (36 lines) of email at a time. And every email "address" was just 8 characters long. Maybe some people who grew up in that era never grew out of it, eh?
    – Floris
    Commented Dec 16, 2014 at 16:18
14

I used to work for a company which paid for a behemoth third party software.

So on a typical work day, Peggy would enter a client name and save it to the database, hunky-dory.

On the following work day, Donna would need to search for this client and do further processing. Cool, so Donna would use the search box and not find the client. Hmm, better call Peggy and blame her for not putting the client in the system like she said she did. After much professional conversation they have come to learn that the search box is case-sensitive and there was no option to make it insensitive.

Yippie! Involve IT and the formal solution from the vendor is to always use CAPS lock because the software vendor has zero intention of modifying the search behavior on the back-end, nor providing an option on the front-end.


This is obviously just one example of how people merely pick up habits in one place and have zero knowledge to change their behavior. This would be especially prevalent in the aging generation which was skeptical about computers in the first place so their mind-set is "Thank goodness I learned how to use it, I better stick this method for everything because it works."

3
  • 6
    Add to that, Peggy then moved to another company, a startup who hired her for her expertise, but they used a different version of the software or even different software, which does handle casing properly. She taught the juniors how to case it like in her old company. Then she left for another adventure, now nobody knows why in this company all their database is in uppercase.
    – Lie Ryan
    Commented Dec 15, 2014 at 4:08
  • 1
    @LieRyan I feel like this could be the beginning of the best-selling mystery novel of all time!
    – MonkeyZeus
    Commented Dec 15, 2014 at 13:31
  • Give Robert Rankin a run for his money, then ... Commented Jan 28, 2015 at 11:11
14

[Flippant] End users are strange creatures, period. There's no accounting for what makes sense to them and what they'll do (even with explicit instructions). [/flippant]

A good rule of thumb is to never trust that the data entered by end users is reliable and accurate, even if you give them explicit instructions and train them on how to correctly use the system you've built. It's best to take whatever they give you and only sanitise it to the extent that it can be stored safely. Only on output should you manipulate it, if at all.

Name sanitisation is complex, if not impossible. Simply converting everything to lowercase and making uppercase the first letter of each word is not a good solution; you'd have to build something that can accurately handle exceptions (such as e.e. cummings, van der Merwe, VanDyk, etc.), which is no small task (and is nearly impossible). Also, the sanitizer would have to handle UTF-8 characters accurately (not just ASCII/Latin-extended).

Popping up a warning/specifying a correct format and hoping your users will take note is probably the best you can hope for. Attempting to force them to 'do the right thing' is an exercise in futility.

9
  • “Simply converting everything to lowercase and making uppercase the first letter of each word is not a good solution” – I agree, for what it’s worth, but it may be good enough for all uppercase input, since GIGO does not mean there was only one quality of garbage.
    – Crissov
    Commented Dec 12, 2014 at 13:16
  • 7
    I think you could detect if someone has caps lock pressed, and give them a personalized warning. Eg. "Caps lock is enabled, please make sure you are using proper casing in order to blah blah..." Also, you could use placeholder text to illustrate how a sample form should be filled out. Something like Address: [123 Main St ] vs simply [Address ]
    – Gray
    Commented Dec 12, 2014 at 15:08
  • 2
    @Crissov Exactly. And, if the user cared about correct capitalization, they wouldn't have entered their name in all caps! Commented Dec 12, 2014 at 19:45
  • 4
    E. E. Cummings generally spelled his name "E. E. Cummings" or occasionally, "Edward Estlin Cummings". The "e. e. cummings" thing is an example of what happens if someone builds their general-purpose data sanitiser on special-purpose example data.
    – Jon Hanna
    Commented Dec 13, 2014 at 23:04
  • 1
    Of course. It just struck me that the fact that your example of an exception to title casing was incorrect demonstrated just how such an algorithm is impossible; even the best attempt in the world depends on survey data that might be incorrect.
    – Jon Hanna
    Commented Dec 15, 2014 at 10:30
10

For names, all capital letters is sanitization normalization. example bank statement

Take the name "Macdonald" for example. It can also be spelled "MacDonald". If you aren't typing your own name into a form, this kind of error is very common and can cause problems. The client (client of your client) could be insulted or it could cause legal issues (possibly).

"MACDONALD", however, catches both forms. Look at your credit card, your bank statement or just about any other legal or finance related form.

My solution would be to store the names (backend) in their raw format and always output them in caps. But many systems just force everything to caps as you type for name fields.

If your letters/reports look ugly with uppercase names, it's a problem with the letters/reports.

For other form inputs:

-Address: Ideally this is sanitized with an address lookup. Otherwise keep it raw, I suppose.
-Text/descriptions/details: Sanitizing these is impossible. Leave them as is. At most put placeholder text with desired casing as an example.

Edit: Looking at a bunch of legal documents, it appears they don't all caps names as much as I thought. Probably because they are usually customized/personalized on case by case basis and are able to lookup the correct spelling for peoples names. So the all-caps-name thing is used when lots of generic letters and form will be made (bills and such) and not so much with legal papers.

12
  • 2
    Minor nitpick...I don't think this is 'sanitization' as that usually refers to redacting sensitive information. It could be considered a form of normalization, I suppose.
    – DA01
    Commented Dec 12, 2014 at 18:00
  • 9
    This is very Western-centric. I also disagree very strongly with "If your letters/reports look ugly with uppercase names, it's a problem with the letters/reports." Everything looks ugly in ALL CAPS. The solution to getting some capitalization wrong in MacDonald is not to get all capitalization wrong in MacDonald. Commented Dec 12, 2014 at 18:39
  • 2
    @slicedtoad Fair point. I should have said latin-alphabet-centric. Commented Dec 12, 2014 at 19:12
  • 3
    Are you sure you know how to properly uppercase things like "ß"? Commented Dec 13, 2014 at 12:11
  • 2
    @Kik Many people are not only used to but hate seeing their names in all caps. A solution that potentially pisses off every user not only very specific ones sounds like bad UX to me. Some may call it fair equal treatment or lowest common denominator, I say fowl compromise.
    – Crissov
    Commented Dec 13, 2014 at 14:17
7

Only theories:

  • people still stuck in front of DOS based systems may have the CAPS LOCK key on permanently.
  • lawyers/solicitors are creatures of habit and still tend to format many of their documents as if it were 1982 and everyone was using IBM Selectric typewriters (I used to work for judges and getting them out of that mindset was always a chore)
  • people are lazy/oblivious

We run into the same issue with our data. We allow user-submitted data and half the stuff ends up in all caps. There's no easy automated way around this. Ideally, you'd have humans cleaning all this up for you.

Potential solution:

You should be able to determine if ALL CAPS were used in filling out the form prior to submission. If the form appears to have an abundance of ALL CAPS, you could warn the user with a modal:

-----------------------------------------------------------------
|                                                               |
|   It appears you have entered several fields with ALL CAPS.   |
|   Please note that our system does not require that and you   |
|   may prefer to enter your data in normal mixed case format.  |
|                                                               |
|   [ edit your form ]   [ submit anyways ]                     |
|                                                               |
-----------------------------------------------------------------

You could even include samples of the content as it would appear in view-mode to show them why it might be a good idea to go back and edit before submission.

3
  • 1
    DOS doesn't have anything to do with the CAPS LOCK key being on permanently. Commented Dec 12, 2014 at 18:40
  • 1
    @DavidConrad not directly, but indirectly: a lot of DOS-era enterprise systems required data entry in ALL CAPS format, hence the ALL CAPS key was typically left on.
    – DA01
    Commented Dec 12, 2014 at 18:47
  • Anyone using the computer system here, while not DOS (it's HP-UX), is forced to use ALL CAPS for all input. The majority of work being done simply requires it. If someone spends 90% of their day working in ALL CAPS, it stands to reason that when they happen on a web page input, they start typing and it just happens to be in ALL CAPS. They've filled out most of the form and just don't care about case. Additionally, when they return to the program that requires ALL CAPS, if they've turned CAPSLOCK off, their input is now invalid and they have to go back and fix it.
    – pspahn
    Commented Apr 21, 2016 at 20:23
5

It sounds like the users are not fully aware of how their entries will used.

You may want to provide an example of a typeset and formatted entry for them to review before they submit the text (just like the Stack Exchange sites do) so they can see how the entered text will be interpreted.

3
  • This doesn't explain why they want to type in caps in the first place.
    – JonW
    Commented Dec 17, 2014 at 0:25
  • Thanks for the feedback @JonW - I intended the first sentence to be that explanation. Since the OP doesn't give any supporting data on the users that do this behavior that would allow us to assess their motivation, it seems the only unquestionable conclusion that could be drawn is that they do not understand the negative consequences of doing it.
    – DQdlM
    Commented Dec 17, 2014 at 15:09
  • Sometimes it's not the users, but the people building the forms that aren't aware of how they will be used. As an example, I recently filled out a form that asked me for my name and it only allowed me to enter one character for middle initial. I have two middle names, so they aren't even letting me enter valid information in the first place! Additionally, this was a government website, and I have had to deal with name mistakes my entire life. At least 25% of the mail I receive is not addressed to me correctly.
    – pspahn
    Commented Apr 21, 2016 at 20:31
4

Simple, give people an explicit example of how the question should be answered...

What does the Professor say at the beginning of most episodes?

An example example...

"Good news everyone!"

If the user did not enter quotes you could manually insert them. If you detect that there is a high level of upper-case letters (e.g. detecting common words like 'of' and 'the' being completely upper-case) then play a short sound like the Windows ding and make it clear that their bad habit stops now and emphasize how the data should be entered using the value they have typed in so far to an as reasonable extent as possible highlighting the differences with minimal space between, usually just a break-line between two lines of text no more than roughly upwards of a hundred characters. When they see incorrect: and correct: as prefixes for each example with highlighting it will be extremely clear (even more so with an explanation just below) of why the input they're typing has errors. The sooner you can accurately inform users of erroneous data without incorrectly readjusting their input or triggering the error when they have not input any errors the better. It is better to let a short moment go by and require a few extra characters to be corrected than to harass people if your own code that does the checking is erroneous itself.

Handling this takes effort and patience though it is possible to help people evolve from bad habits to good habits if you visually make it clean and clear what is expected in addition to what is wrong. I'm surprised no one else mentioned giving users a working example.

4

If that is the way they have entered it, don't mess with it. Soft validation at the time of capture is recommended. In the extreme they may be using "assistive" technology and we do not want to offend anyone.

I worked for many years with customer data for a major bank. The data would be captured on many systems, and a wide range of quality issues ensued.

We even sent mail to Africa, because one customer's details had spilled across fields.

In general, it is never safe to second guess the customer. My own name McKenzie has an embedded uppercase. The safest thing to do was Uppercase everything, and then design printed output for the uppercase that was as aesthetically pleasing to the eye as possible. All uppercase compresses well too, and that might have been an incentive.

The original data could also contain misread/badly scanned characters, for that we could only wait for a customer complaint.

Email addresses could be lowercased, unless the private portion contained quotes. (remember Banyan Vines ?)

To properly capture mixed case, the only real way is to prominently ask for the data to be entered in mixed case or enter it in their presence, and check against identification quality documents (which can unsurprisingly differ further for migrants).

I have two copies of my Birth Certificate, one from the 1980's and one from 20 years later. There are 10 differences. - Transcribing by hand without user acceptance is fraught with risk.

1
  • Properly speaking, McKenzie is capitalised as McKENZIE.
    – TRiG
    Commented Dec 15, 2014 at 13:32
4

So, does anyone know where this behaviour comes from in the first place?

I can answer that subquestion from personal experience.

  1. If a form asks for my credit-card number and asks for my name "as it appears on the credit card" (or words to that effect) then I obediently enter my name as it appears on my card — which is in all caps.
  2. If I'm entering an address for something to be shipped to, I enter it in all caps, since that's how the Post Office prefers it. Sure, the seller may capitalize the address no matter how I type it, but I don't know whether it will do so, and there's no harm in my capitalizing it that I know of.

Otherwise, though, I don't enter things into forms in all caps.

1
  • I do this too, "as it appears". I also expect the form to handle the "gaps" in the card number. 9999 9999 9999 9999 and it is very annoying when this is not tolerated. It is also surprising how many times the name on the card (which is customisable) differs substantially from "name of cardholder" and it is very common to be different from the "billing name", due to supplementary cards.
    – mckenzm
    Commented May 7, 2015 at 2:02

Not the answer you're looking for? Browse other questions tagged or ask your own question.