16 ms·
Why Users Fill Out Forms Faster with Unified Text Fields
- andybak 15y ago1. How do you reliably extract forename+surname from a single name field 2. Same for the City/State field 3. Half the world will enter dd/mm/yy and half will enter mm/dd/yy for date of birth (and the geeks will enter yy/mm/dd ;-). How do you check for that error?
- deleted 15y ago[deleted]
- nantes 15y agoNo answer for 2 or 3, but I have been thinking about 1 for awhile. My notion is to ask the user for a common name and a formal name. So something like ... Common name -> Joe Formal name -> Joseph A. Smith Common name would be used for interaction with the user, and formal for anything requiring it (e.g. legal, billing, shipping). Just a thought and one that I have yet to try.
- wccrawford 15y agoI once saw a site that asked for full name and nickname. After I got over the shock of it being different, I quite liked it. It always knew what to call me, and never made assumptions.
- jamesteow 15y ago1. Good point. 2. Probably should have an autocomplete feature. 3. Sometimes I see forms specifically mention what format they want.
- oconnore 15y ago1. Why do you need to extract forename+surname? The assumption that your users will even have a forename and a surname is invalid. [http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/ http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-b...] 2. There are exactly 50 states, so 50 names and 50 abbreviations. You are expecting the data in "City, State" format, so you parse the form in Javascript when the user finishes typing. If the data after the comma matches one of 100 strings, turn the form green, otherwise turn the box red. 3. Put the expected representation in the label. Parse the form as the user is typing, and replace the date with your interpretation when the box loses focus ("01/23/12" => "January 23, 2012") Turn the box red if the month is > 12 or the day > 31. If the user has Javascript disabled, display a verification screen after the form is submitted.
- bena 15y ago"You are expecting the data in "City, State" format" This is a bad assumption. What you should do is throw away commas, split along whitespace, and then see if the last element split is a valid state or territory. Because some lazy guy will type "new orleans la" and just ruin your day.
- masterzora 15y agoAnd then some non-lazy guy types in Albuquerque New Mexico and you find that Mexico is not a US State. I know, this isn't a particularly difficult thing to work around, but I was amused that you replaced one bad assumption with another.
- bena 15y agoOh well, getting closer. ;) We could always start taking from the back and doing look ups until we have a match or we finish the string.
- pavel_lishin 15y agoDallas, TX, 75254. Is "." a state? How about "75254"?
- ZeroMinx 15y ago"2. There are exactly 50 states, so 50 names and 50 abbreviations." Considering the Internets is a really really big place (not just America), that statement is rather quite false.
- jameshart 15y agoStrange to, on one level, make the valid and useful observation that forename + surname is a cultural assumption, then go right ahead and make the cultural assumption that the form should only accept US addresses (and even then ignoring DC, PR, Guam, and forces serving overseas...). Even with your scheme, you'd better hope nobody types in Beverly Hills, LA. And you'll need a spellchecker to help out people who can't spell Missississississippi.
- pornel 15y ago1. You just can't do it reliably, because there are people (entire nations/cultures) who don't even have names fitting first/last model. It's a can of worms, very well explained here: http://www.w3.org/International/questions/qa-personal-names http://www.w3.org/International/questions/qa-personal-names and here's an interesting edge case: http://www.chaos.org.uk/~wookey/name.html http://www.chaos.org.uk/~wookey/name.html 3. <input type=date> will use localized format for editing (browsers are free to use any format/calendar widget), but always send YYYY-MM-DD to the server.
- imurray 15y agoand the geeks will enter yy/mm/dd More precisely, I think many geeks will enter YYYY-MM-DD — http://www.cl.cam.ac.uk/~mgk25/iso-time.html http://www.cl.cam.ac.uk/~mgk25/iso-time.html — having lived on two continents, I use this format whenever I can.
- Deprecated 15y agoBeing an old VMS fan, I always liked DD-MMM-YYYY (e.g. 29-Jul-2011). At least it eliminates the month day ambiguity which sometimes confuses me.
- kiiski 15y agoBut then you lose most of the advantages mentioned in the linked summary.
- hammock 15y agoReadability increases but sortability decreases with ddmmyy as opposed to yymmdd. Readability increases. Dates we use in day-to-day work are probably power-law distributed going backwards with more recent dates being more common. That means if most of the dates will have year 2011, we can guess that, and the day and month become more important. And if most of the months will be current or previous month, we can guess that too and day emerges as the most important piece of info- we will want to read that first. The yymmdd is less readable because it gives us information we (probably, given the power-law distribution mentioned above) already know first, such as the year. But you lose sortability, yeah.
- billswift 15y agoSame here. I started using YYYY-MM-DD for my own use as soon as I learned of it, long before I was on the internet. Among other things even the simplest sort programs will get dates in the right order.
- rmc 15y ago1. How do you reliably extract forename+surname from a single name field You don't. You should never tell someone that their name is invalid. it's their name
- ktsmith 15y agoThis is true in most cases but not all. I deal with data going onto government forms, see lots of work visas etc. The U.S. government is more than happy to tell you that your name is invalid, or data enter garbage into their databases to make the name conform to the standard. Then we have to enforce the same standards on our users even if it doesn't make sense because we have to exactly match what the governments records contain.
- saurik 15y agoCan you provide an example of such a document from the US government that requires a split apart first/last name? I am not saying you are wrong: I am simply deeply curious (as the ones I have dealt with ask for "full name").
- ktsmith 15y agoThe Form I-9 is one example: http://www.uscis.gov/files/form/i-9.pdf http://www.uscis.gov/files/form/i-9.pdf The Form W-4 is another. http://www.irs.gov/pub/irs-pdf/fw4p.pdf http://www.irs.gov/pub/irs-pdf/fw4p.pdf For employers enrolled in the E-Verify program having incorrect name data on the Form I-9 can start a process where an employee is flagged as possibly not being eligible to work in the US.
- saurik 15y agoSo, the pattern that I found in all of the documents I dealt with, is that if you are filling in /your/ name, it might ask you to break it apart, but if you are filling in /someone else's/ name, it asks for "full name". As you are not supposed to be filling in the name field on an I-9 or a W-4 for your employees, so you should not end up in a situation where your internal wbaite (or whatever) that asked for "full name" screws you. However, note that the "new name" field on the I-9, which is an area of the document you fill out, is not broken apart by first/last.
- masklinn 15y ago> 1. How do you reliably extract forename+surname from a single name field You don't. It's their name, it is not broken. Instead, the "first name, last name" format is broken: what happens if that person has more than two names? If they're culturally written last, first instead? If their first or last name should never be used on its own? Or if only one of them should be used? You ask for their name, and you use what they give you. Period, end of the story. You have no business fucking up somebody's name. > 2. Same for the City/State field That one's even easier: freeform address. Not everybody has a state, not everybody needs a city field, and not every address can fit in so simple a format. Ever seen a japanese address? There are 5 or 6 levels in the geographical hierarchy (country, prefecture — including prefecture type, municipality, optionally ward (depends on municipality size), district, block and house number) and it's written from the largest to the smallest element of the hierarchy (so prefecture to house number). With the business or person name at the end. You may also note that japan does not generally use street-based addresses, though some local systems do (no, japan does not use a single unified postal addressing system either)
- JacobAldridge 15y agoYour point 1 is exactly the question I came here to see answered. The article actually claims "Another benefit to unified text fields is getting the user’s information in a format that you want without sacrificing ease of use or speed" - but I want to be able to use the forename only (so, for instance, I can address newsletters with Dear Jacob). It's certainly not about validity / invalidity of names. And yes, that's not a perfect situation - some people may prefer Dear Mr Aldridge or Dear Jake (ugh). But as long as I recognise that shortcoming, and (which I do) only require a single name (so people with only one name are not ruled invalid), I don't see how a unified field gives me the format I want.
- joshfraser 15y agoFor those who are interested, I wrote a post on the challenges of extracting forenames and surnames and shared some imperfect code that takes a stab at it: http://www.onlineaspect.com/2009/08/17/splitting-names/ http://www.onlineaspect.com/2009/08/17/splitting-names/
- InclinedPlane 15y agoEasy peasy. Use a good algorithm that is correct most of the time and present the results to the user in a way that's correctable.
- brianbreslin 15y agoHow does one maintain clean data in their database if they do this. Countless people will type things in their own way. Miami,FL Miami, FL miami,fl miami fl etc. would a city/state autocomplete be the best here, but what about other sections of the required data?
- staktrace 15y agoYou can preprocess and normalize the data before you put it in the database. City/state is probably one of the easiest fields to do this with.
- stinky613 15y agoI like the idea this article proposes, but I believe the author and our commenters glance over some backend difficulties. Yes, there are exactly 50 states each with precisely one two-letter abbreviation. How would you handle, say, "Boston, masachusetts" [sic]?
- spc476 15y agoI mentioned a method above (http://news.ycombinator.com/item?id=2825015 http://news.ycombinator.com/item?id=2825015) and since entering it, I've thought a bit more about the issue. Most instances will have only two words. If it's three or more and the last word isn't two characters, then if the second to last is one of "north", "south", "west", "new", "washington" or "puerto", then the last two words form the state and the rest is the city. And you can ignore any punctuation.
- stinky613 15y agoI like the idea this article proposes, but I believe the author and our commenters glance over some backend difficulties. Yes, there are exactly 50 states each with precisely one two-letter abbreviation. How would you handle, say, "Boston, masachusetts" [sic]?
- rmc 15y agoYou should clean all data you get from the user. You are already doing it, unless Bobby Tables is messing with your database. You should just add in another layer.
- Sniffnoy 15y agoI would find this confusing, because I wouldn't know what format to use...
- pornel 15y agoThe article suggests using placeholders to show the format by example.
- jamesteow 15y agoNon-unified text fields do turn me off. There are some cases where it's absolutely reasonable. But the login to one of my accounts is four input boxes which could be consolidated into two. Drives me nuts and makes me reluctant on going back.
- pornel 15y agoI don't know area code of my mobile phone number (mobile area doesn't even make sense!) and I don't have a landline.
- corin_ 15y agoWhat country are you from? In the UK and US area code is pretty obvious to everyone (even in the UK where the "area code" of a mobile is basically just how we split the number based on landline numbers, despite mobile numbers not being geographically based).
- wccrawford 15y agoAs an 'area code' it now makes a lot less sense, but we still need that many numbers to be able to have 1 for everyone, so it'll still be that long, no matter what it's called.
- ZeroMinx 15y agoI'm in the UK, and I don't think it's obvious what part of a mobile number is the "area code". With a phone number of 11 digits, how many digits form the area code? In a world where numbers aren't even connected to specific provider, the concept of area codes for mobile phones is broken. (Technically, my area code should start with +44 as well, as that's my area from an international point of view). With landlines, you know which part of your number is the area code, because it has significance. If you call people living near you, you don't dial that code. This behaviour doesn't translate to mobiles.
- corin_ 15y agoOn account of the vast majority (not all, but most) landline area codes being five digits, that is the convention for splitting mobile codes too, so 11 becomes 5,6. Maybe not everyone knows it, but pretty much everyone I know does, from people who spent most of their life pre-mobiles (e.g. my grandmother), to frinds, to young children. Even if you didn't conciously think this was the case, would you agree with me on which of the following looks the most natural? 07920 748555 0792 0748555 079 20748555 079207 48555
- tseabrooks 15y agoDo average users, let's say facebook's audience, use tab to navigate between fields? I always assumed tab usage was mostly reserved for the geekier keyboard/hotkey using crowd.
- billswift 15y agoIt is also important for several types of handicaps - see any web site design book for accessibility guidelines.
- sixtofour 15y agoWhich book or site would you recommend for first exposure?
- evilswan 15y ago+1 Article says: "This is because users don’t have to tab as much." Strongly disagree - 'average', non-technical users simply don't tab between fields. They mouse and click, mouse and click, etc. I can't remember ever seeing a user in a field test (I do UI testing) use tab to traverse a form.
- JacobAldridge 15y agoNot sure if the article's been edited, but it now refers to the mouse using crowd (for whom this change is even more beneficial).
- Shenglong 15y agoSpeaking as a decently computer-savvy person with a bit of attention problem - I often have to try to resubmit multiple times on non-unified text fields because I miss things, and then my password doesn't get saved. Then, rushing through it for the third time, my Captcha turns out to be wrong, etc. I've actually abandoned lots of forms I planned on filling out because of non-unification. I for one like this post.
- mmuro 15y agoHe should be validating the user's input before they are even allowed to submit the form (I use jQuery Form Validation). In addition to validation, he can mask inputs require his fields are entered a certain way. However, this sorta falls apart when you think about internationalization. Phone numbers are a good example. There are so many ways a phone number can be entered that it's almost always best to let the user type in the number in whatever format they want and then validate based on most US/Canada and International formats.
- daemin 15y agoI would think it would always be better to have more free-form input options for things such as names, addresses, phone numbers and such, and only force them into a certain form when you actually need it in that form. For sending packages and billing information.
- smackfu 15y agoIt's really just another approach to data entry. Instead of ensuring that the data is good before submit, by using dropdowns and such, you accept the data and then verify it. I've seen e-commerce sites do this with address. They let you enter three free form lines, then send it to their address verifier and give it back to you to confirm. You can either accept it (which then saves the company money because it has ZIP+4) or keep your input as-is.
- Duff 15y agoMy pet peeves: Why can't the selection of country be simplified? Why do I need to scroll past Afghanistan, United States Minor Outlying Islands, etc to find the US? It should be easy to guess what country I'm in and let me correct. Why do I have to pick "New York" from a listbox? Let me enter my zipcode (Apple does this on their store).
- shade 15y agoI've actually discovered that only prompting for zip code and not city/state can be somewhat confusing for users. We have a system that only requires 3 pieces of info to normalize your address, including city/state: Your street address, your apartment/unit/suite number if applicable, and your zip code. That gets submitted into a third party system that, among other things, normalizes the address to the USPS standard. (For the record, this is for an application that only deals with US customers, so internationalized addresses aren't an issue here.) We've typically only prompted on our localization pages for those three pieces of data, and it's surprisingly confusing to customers. It's not too unusual when we review the error logs to discover that people attempted to enter "19000 Euclid Ave, Cleveland, OH" into the street address field and "44112" into the zip code field. Unfortunately, the third party system we use doesn't like this, and will generally not return useful results in that case. It's getting to the point I'm considering either adding city/state fields to the form or just a message saying "city/state not required." I'm actually not sure which is the better approach.
- billybob 15y agoI wouldn't do ALL of these, but it is pretty easy to avoid multiple inputs for things like U.S. phone numbers. I like the approach of MaskedInput: the user can type parens and dashes or not; if they type them, they're ignored. In any case, we get the format we want. http://digitalbush.com/projects/masked-input-plugin/ http://digitalbush.com/projects/masked-input-plugin/ (click demo)
- stinky613 15y agoI think that too often form UX airs on the side of simplicity and that unified text fields are a pleasant counter to the bulk of forms. Re-checking this comments this morning led me to check out what kind of variations a developer might want to anticipate. http://en.wikipedia.org/wiki/Address_(geography)#Current_addressing_schemes http://en.wikipedia.org/wiki/Address_(geography)#Current_add... It can be tough to determine the point at which this will yield seriously diminishing returns in terms of development time as the domain of users goes international. I realize the following question is fringe-related at best, but does anyone else like to have fun with the company field instead of (appropriately) leaving it blank? Thanks to me my friend now gets ThinkGeek catalogs for the 'his' company: "pornography inside"