I read this article a long time ago and I took it seriously. So instead of asking for address, postal/zip code, city, state/province, I just put up a big text area labeled "Full address" so that people have complete freedom about what to fill in.
80% of the users ended up only filling in their street address, not their postal/zip code, city and state/province, even though they're from countries where (most?) addresses satisfy that format.
We ended up reverting to the previous form where we explicitly asked for postal/zip code etc.
This is where most of the "falsehoods programmers believe" articles fall flat.
The thing to do is not try to design a single form that accommodates every possible address or name or whatever. The thing to do is examine your use case, design a form that works for, say, 99.9% or more of the people you want it to reach, and then if you really want to get the last 0.1% have someone who can do customer service and has access to a freeform text box into which they -- not the end user -- will enter the information.
Because when you get right down to it, the freeform text box is the only thing that accepts 100% of valid addresses (or valid names, or whatever). But it also necessarily accepts a ton of invalid ones, too, and so it causes more trouble for the common cases than it saves in the uncommon ones.
At least it helps if you don't block on empty fields then - I keep getting annoyed when sites demand I enter "state/province" for international shipping when my country doesn't have that concept.
Or demand that I enter 6-digit postal code when we only use 4. Or not being able to handle non-ASCII chars. And things like that - helping people is fine and useful, but blocking a user because you set up assumptions valid only for your locality is a huge annoyance.
We tried the same basic move — one open-ended address field instead of a set of more specific parts — in an attempt to simplify our sign-up flow. We too have since reverted to a more conventional multi-part form.
First thing we discovered: We might have been happy with one big box, but none of the payment services we use worked the same way. This more than cancelled out any usability benefit, because we could no longer reliably pre-fill the address fields on any form for card or bank details. Our customers would still wind up entering the specific parts of their address anyway, but now they effectively had to type the same address twice during the sign-up process as well! (Edit: There’s also a related issue that some browsers will remember and pre-fill fields that look like common address parts automatically, which to my knowledge no browser does for an open-ended address.)
Second thing we discovered: Same as 'FooBarWidget, given a freeform text field, some customers will give you beautifully formatted multi-line addresses, some will stick everything on one line, some will stick just the first line on that one line, some will assume you meant e-mail address(!) and so on.
More recently, we also discovered a third issue because we’re in the EU: I can see no reasonable way to automatically parse any common address format that is sufficient to comply fully with the new VAT place-of-supply rules, but to have a chance of even getting close in the 99% case you at least need to have a separate country indicator.
I do sympathise with the frustration of having to break down addresses into different fields. If the big bureaucracies like payment schemes and governments had more practical rules for working with customers in different locations, one big box really is all we should need, though getting customers to enter something valid in it is still a tricky issue. But since those more practical rules seem unlikely to happen any time soon, there is little either we or our immediate service providers can do but follow the dubious but widely accepted conventions anyway.
Did you need it for delivery of something? Was that made very clear to the user? I can't believe so many people, wanting to receive something through the post, would wilfully screw up their address - maybe there's more to your use-case than meets the eye?
Did you try pre-filling the address field with an example address (John Doe, 123 Example Avenue, Hobbiton 1234) to make it clear what is required? (Although it seems like placeholder text only works with textarea fields since HTML5...)
Indeed, I've been on the receiving end of somebody taking this kind advice to heart once, and things not working out too well.
At that job the we had a legal obligation to let anyone in the country to opt their building out from a certain database, by entering the address on a web form. We'd then send a snail mail verification code to that address, and enact the opt out on entry of the code.
This was covered incredibly well in the media, and the number requests was in the millions (don't know how many of those actually turned out to be valid). I suspect the people who'd made the web form had read this exact rant about addresses, since contrary to how things were normally done, they'd just put in a big textarea for the address. Now, this was completely unnecessary even by the standards of the "falsehoods" article, since it was a country with very well established address conventions, and since by definition no addresses from other countries should be entered. And as might be predicted, it caused some problems.
First, just as you note, people didn't really understand what they needed to enter into a textarea like that. They didn't do as bad a job as in your case, but you'd have things like people leaving out zip codes, leaving out the city, putting their name on the first line (even though the name had been asked for separately), entering all address components on the same line, entering addresses in different countries, and so on. And unfortunately the geocoding service used to let them check whether the address had been interpreted correctly (for the purpose of "this is the address that should be expunged from the db") was very good at finding the right location even with badly malformed addresses, and no other input validation was done. BTW, it's quite likely that without this geocoding step the amount of bizarrely formatted or just outright invalid addresses would have been higher.
More importantly, even ignoring the data quality issues, the services used sending out millions of letters in bulk would not accept free form addresses in general. No, they needed the address broken out in separate fields, exactly in the way they would have already been stored if we'd had the kind of structured input form that everyone uses.
My part of the story was then to clean up the mess, a task I got despite being in a totally different group, since I happened to work on the address extraction parts of the geocoder at the time. A disaster always takes precedence over real work :-/
Writing the code to do the right thing 99% of the time took a few days, and I don't want to know how much time was spent by someone manually on the remaining 1% that were flagged by the program. I somehow doubt that anywhere near as much time was saved on punting on the web form.
Knowing that addresses may not conform to any arbitrary rules should lead to disabling automatic validation (or downgrading it to nothing more but suggestions, "are you sure that's correct?" hints).
"An address will exist in the country's postal service's database"
This is the one that I've run afoul of -- not because I live in a brand-new building, or a houseboat, or 30 miles from anywhere on an unnamed road; it's just that there is no door-to-door delivery for houses within a 2-block radius of the local post office, so we have a PO box.
The trouble happens when a business that needs my street address uses the USPS database for address verification. One example is online stores that don't ship to PO boxes. Some of these sites have a form with a sort of "Are you sure" prompt when my street address isn't recognized; others just refuse to accept it.
Even worse was when the local company that picked up my trash was bought by one of the larger regional "waste management" operations, and all the drivers' routes were re-planned for "efficiency" (evidently using software that hit some USPS database); the upshot was that everyone on my street had their address removed from the pickup routes.
Related--the "commonly used" address is different from the "official" address. When I moved into my current house, it's official USPS address differed from what many of the local service people thought was the address (and, indeed, what many maps showed to be the address).
In these days of GPS--and just the passage of time--it's not a problem any longer. But for the first five years or so I lived in the house, I had to be careful to explain the situation to people coming to the house.
That people have addresses at all, or can describe their residence in an unambiguous or clear way (even using GPS coordinates).
I used to live in a place I couldn't even remotely give directions to. It was deep within a neighborhood of a poorer country, none of the streets had names, none of the buildings are numbered. I lived in an building where none of the apartments had numbers or names.
If I wanted something delivered, I would go to a local shop for the company delivering it, and show my ID, and they would have it routed there if it wasn't in the building already.
If you wanted a billing address for, I don't know, tracking me down, initiating lawsuits, something like that? I honestly just assume that's impossible.
Furthermore, just because you don't have an address doesn't mean you can't receive mail! At least as recently as a few decades ago, there were rural communities in the US where nobody had a street address; the postal service knew where everybody lived and would deliver mail given just a name and town. I'm not sure whether this arrangement still exists in the US, but I'm pretty sure it still does in Ireland and probably elsewhere.
How can GPS coordinates be ambiguous? I can see different units of measure/notations being used, and the accuracy might be a problem for extremely close addresses, but wasn't it the point of GPS to provide an exact reference for any point on the planet?
Is it common to believe that post codes don't start with zero? All of New England (ME, MA, NH, CT, RI, VT) have zero starting post codes. Plus apparently a part of New Jersey. Map here: http://en.wikipedia.org/wiki/ZIP_code
"Correspondence to and from Rensselaer Polytechnic Institute uses the official address of 110 Eighth Street, Troy, NY 12180. This address serves as a mailing address only; you will not find a building with that number on 8th Street."
I got in to an argument in school with my computer programming teacher. A BASIC course, we were having to design a system to accept an address, and I was treating my ZIP code as a string.
IIRC, something like
50 INPUT "Your ZIP code?", ZIP$
Everything was reviewed via handwritten code and flowchart before we were allowed to type it in in the lab, and I was told "ZIP code is a number, but you're putting it in to a string, that's wrong, fix it".
"But a ZIP code starting with 0 would then not have the 0 at the front when we show it back to the user" I said.
"ZIP codes don't start with 0"
Me: "Some do"
Her: "No, they don't"
I lived in Michigan, but was a huge infocom fan, and they were in MA, and had a leading 0 in their ZIP code. We argued about this for a good few minutes, and it wasn't until I brought in something the next day that demonstrated legit ZIP codes starting with 0 that I 'won'. Crap like this reinforced my distrust of authority and cynicism in life (for better or worse).
EDIT: Anyone else remember the "New Zork Times" newsletter? :)
EDIT 2: It wasn't until much later that I learned the ZIP code system we had wasn't actually completely formed until after she was at least a teen, if not a full adult - she simply wasn't exposed to stuff that I was earlier, it didn't really impact her, and she just assumed they were all numbers with no leading 0s. In some ways a minor point, but... it also taught me about stuff I took for granted not always having been there, even something as basic as addresses. Didn't really learn that until much later after that class.
There are so many misconceptions from developers, even more when building apps used worldwide. If you plan to accept data from different countries, free text with no validation is the only acceptable answer.
I remember once we had to remove validation from names because some countries don't even have last names, and others have real names with two or even one characters.
free text with no validation is the only acceptable answer.
Unfortunately, it's not an acceptable answer in practice.
In my experience, users aren't clear what to do when presented with a free-form, multi-line text box in which they can enter their address. This results in frequent missing data – users aren't aware they need to include a postal code, or county, or country…
This is probably because users are generally conditioned to expect separate text fields for separate tokens in their addresses.
There's a middle ground though – extract the tokens you need (postal code, country) and allow the user to freeform the rest. And don't even think about trying to validate addresses in any real way – you'll fail!
I have a one-word name. It's my "legal," wallet-name. The only corporation/government/monoliths that address me with that one name is the department of licensing (my drivers license) and the State Department (my passport), both of which just show my one name.
I have to just make things up for one or the other field (first, last). Usually I go with my initial as my first name, and my name as my last name. Or my one name in both fields. I once signed up to some web service that I didn't care about with a last name of IHaveNoLastNameAndThisFieldIsTotallyMadeUp.
This one's particularly common in Edinburgh. In fact in the example they use - "Regent Road" connects to Princes Street, which becomes Shandwick Place, then Atholl Place. At this point the main fork becomes Dalry Road which then becomes Gorgie Road which becomes Stenhouse Road and then Calder Road - all of which are roughly a straight line:
I've relatives about six miles away from there in a residential close whose name is Ravenshaugh Crescent on the left, and Ravensheugh Crescent on the right.
Local council clearly made an error when putting the two named street signs on each side of the corner, nobody has ever known which one it was supposed to be in the first place, and so... this.
There's also the chance a single segment of the road has several names. For example when crossing a bridge or a round-about. Never mind all local names vs official names, old names and translations.
Seldom are the only restrictions that apply to an address only the ones in a single software system. In fact, your address data could be the least of the problems you have to worry about.
When actually using all the addresses you stored for shipping stuff, it is almost guaranteed that the shipping company will cut off or drop lines from labels, and of course every shipping company is going to have its own quirks. Maybe just because not every address is going to fit onto a fixed label area in a fixed font size.
I have in fact lost several shipments to my address(es) due to every single kind of the above caveats.
Of course, they're falsehoods that everyone believes about addresses (except maybe for postal workers), but programmers are the only ones who have to actually think about them.
It would be nice to come up with some sort of conclusion or recommendation. Should addresses just be used as one big blob of text, and never parsed at all? should there be individual per-country libraries for parsing them? should we just address everything by coordinates (which doesn't solve the houseboat problem)? How about a unique identifier for every person on the planet, plus a gps tracking system that guarantees big brother can deliver to you whenever, wherever?
Now that the average piece of post is a prig package that needs signing for, rather than a small letter that can just go through the letterbox, I quite like the idea of centralised pigeon-hole buildings, that have existed in many towns as the only method of delivery, but are now being born everywhere thanks to amazon, etc. That's quite a different problem, though :-)
I think the consensus is to go with the "big blob of text" approach. You mentioned that postal workers are the only people qualified to parse addresses—let them do it. The validation done on your end shouldn't be much more than asserting that addresses contains non-whitespace characters.
I don't know how well this works in practice, but it's the most "correct" thing to do.
"Wikipedia has a photo of a parcel where a Russian/Cyrillic address was displayed on a computer with the wrong character encoding, and transcribed from that. Reportedly a russian postal worker was able to reverse the mapping and deliver the parcel."
The linked URL doesn't work anymore but thanks to Archive.org and reverse image search in Google I managed to find it:
It's not even true that a single building has only one address, must exist in one town or even in one country. There's a house that has one address in Baarle Hertog (Belgium) and another address in Baarle Nassau (Netherlands), with different house numbers too.
The number of organizations that accept the address, but chop off the apartment number when they send mail because it is too long is ridiculous. Even better, it tends to be government departments. For example, the IRS does this.
Martin Luther King Jr Way has to be one of the most common street names in the US. Many orgs can't even get the simple cases right; I don't hold out much hope for the obscure cases.
See the Google 'real-names' debacle for just how wrong people can get this kind of thing, even when they're being loudly told that they're doing it wrong.
Pro-tip: no one will ever, ever misdeliver a package addressed to {house#} MLK #{Apt#}. I've lived on an MLK. If you live on Lakeshore Drive in Chicago, LSD works just as well. Where MLK is concerned, he has an official holiday, Americans know what those three letters mean.
That article can also be read as a list of things that need to be fixed by the various postal systems.
We can issue addresses to computers, many of which cannot be considered to be in a fixed place, yet somehow we can't issue a permanent, unique address to something that's not likely to move around much.
One more: in SW Portland there is a section east of the 0 line on the street grid where all buildings have a leading zero. 0634 and 634 are different addresses on the same street.
This article was submitted here nearly two years ago (as you will find out if you click the link to the HN discussion at the bottom of the article). But I thought of one not included in the article.
From Portland's Wikipedia page:
> On the west side, the RiverPlace, John's Landing and South Waterfront Districts lie in a "sixth quadrant" where addresses go higher from west to east toward the river ... East-West addresses in this area are denoted with a leading zero (instead of a minus sign). This means 0246 SW California St. is not the same as 246 SW California St. Many mapping programs are unable to distinguish between the two.
I'm not sure how many of these falsehoods programmers actually believe. But one falsehood I've actually seen in the wild isn't included:
"(Direction) Street" is necessarily the same (or different) than "Street." Or even if they're different, users will understand the difference, at least on a local basis.
I had a GPS that would always omit any directions that prefixed a street name. I was occasionally thrown for a loop when it told me to turn on Beacon St in Boston, when it really meant North Beacon St, which is a nearby, but unrelated, street.
I live on a road that has two sets of numbers, both identical (but several hundred meters removed from each other) in two different towns but with the same name. Getting mail and packages delivered here is for want of a better word a challenge.
Now I understand why PayPal lets scammers register with an address that reads "asd, asdf,asdff, Turkey" and immediately allow somebody with that address to send me funds. (Ultimately stealing/using the credits they purchased instantly from my site with the fake paypal account setup on a stolen credit card)
Without a current streetmap of the entire world, how would you really know it's a bogus address?
[+] [-] FooBarWidget|11 years ago|reply
80% of the users ended up only filling in their street address, not their postal/zip code, city and state/province, even though they're from countries where (most?) addresses satisfy that format.
We ended up reverting to the previous form where we explicitly asked for postal/zip code etc.
[+] [-] ubernostrum|11 years ago|reply
The thing to do is not try to design a single form that accommodates every possible address or name or whatever. The thing to do is examine your use case, design a form that works for, say, 99.9% or more of the people you want it to reach, and then if you really want to get the last 0.1% have someone who can do customer service and has access to a freeform text box into which they -- not the end user -- will enter the information.
Because when you get right down to it, the freeform text box is the only thing that accepts 100% of valid addresses (or valid names, or whatever). But it also necessarily accepts a ton of invalid ones, too, and so it causes more trouble for the common cases than it saves in the uncommon ones.
[+] [-] izacus|11 years ago|reply
Or demand that I enter 6-digit postal code when we only use 4. Or not being able to handle non-ASCII chars. And things like that - helping people is fine and useful, but blocking a user because you set up assumptions valid only for your locality is a huge annoyance.
[+] [-] Chris_Newton|11 years ago|reply
First thing we discovered: We might have been happy with one big box, but none of the payment services we use worked the same way. This more than cancelled out any usability benefit, because we could no longer reliably pre-fill the address fields on any form for card or bank details. Our customers would still wind up entering the specific parts of their address anyway, but now they effectively had to type the same address twice during the sign-up process as well! (Edit: There’s also a related issue that some browsers will remember and pre-fill fields that look like common address parts automatically, which to my knowledge no browser does for an open-ended address.)
Second thing we discovered: Same as 'FooBarWidget, given a freeform text field, some customers will give you beautifully formatted multi-line addresses, some will stick everything on one line, some will stick just the first line on that one line, some will assume you meant e-mail address(!) and so on.
More recently, we also discovered a third issue because we’re in the EU: I can see no reasonable way to automatically parse any common address format that is sufficient to comply fully with the new VAT place-of-supply rules, but to have a chance of even getting close in the 99% case you at least need to have a separate country indicator.
I do sympathise with the frustration of having to break down addresses into different fields. If the big bureaucracies like payment schemes and governments had more practical rules for working with customers in different locations, one big box really is all we should need, though getting customers to enter something valid in it is still a tricky issue. But since those more practical rules seem unlikely to happen any time soon, there is little either we or our immediate service providers can do but follow the dubious but widely accepted conventions anyway.
[+] [-] oneeyedpigeon|11 years ago|reply
[+] [-] nshepperd|11 years ago|reply
[+] [-] jsnell|11 years ago|reply
At that job the we had a legal obligation to let anyone in the country to opt their building out from a certain database, by entering the address on a web form. We'd then send a snail mail verification code to that address, and enact the opt out on entry of the code.
This was covered incredibly well in the media, and the number requests was in the millions (don't know how many of those actually turned out to be valid). I suspect the people who'd made the web form had read this exact rant about addresses, since contrary to how things were normally done, they'd just put in a big textarea for the address. Now, this was completely unnecessary even by the standards of the "falsehoods" article, since it was a country with very well established address conventions, and since by definition no addresses from other countries should be entered. And as might be predicted, it caused some problems.
First, just as you note, people didn't really understand what they needed to enter into a textarea like that. They didn't do as bad a job as in your case, but you'd have things like people leaving out zip codes, leaving out the city, putting their name on the first line (even though the name had been asked for separately), entering all address components on the same line, entering addresses in different countries, and so on. And unfortunately the geocoding service used to let them check whether the address had been interpreted correctly (for the purpose of "this is the address that should be expunged from the db") was very good at finding the right location even with badly malformed addresses, and no other input validation was done. BTW, it's quite likely that without this geocoding step the amount of bizarrely formatted or just outright invalid addresses would have been higher.
More importantly, even ignoring the data quality issues, the services used sending out millions of letters in bulk would not accept free form addresses in general. No, they needed the address broken out in separate fields, exactly in the way they would have already been stored if we'd had the kind of structured input form that everyone uses.
My part of the story was then to clean up the mess, a task I got despite being in a totally different group, since I happened to work on the address extraction parts of the geocoder at the time. A disaster always takes precedence over real work :-/
Writing the code to do the right thing 99% of the time took a few days, and I don't want to know how much time was spent by someone manually on the remaining 1% that were flagged by the program. I somehow doubt that anywhere near as much time was saved on punting on the web form.
[+] [-] V-2|11 years ago|reply
Knowing that addresses may not conform to any arbitrary rules should lead to disabling automatic validation (or downgrading it to nothing more but suggestions, "are you sure that's correct?" hints).
Not to stop offering users any guidance.
[+] [-] unknown|11 years ago|reply
[deleted]
[+] [-] edmccard|11 years ago|reply
This is the one that I've run afoul of -- not because I live in a brand-new building, or a houseboat, or 30 miles from anywhere on an unnamed road; it's just that there is no door-to-door delivery for houses within a 2-block radius of the local post office, so we have a PO box.
The trouble happens when a business that needs my street address uses the USPS database for address verification. One example is online stores that don't ship to PO boxes. Some of these sites have a form with a sort of "Are you sure" prompt when my street address isn't recognized; others just refuse to accept it.
Even worse was when the local company that picked up my trash was bought by one of the larger regional "waste management" operations, and all the drivers' routes were re-planned for "efficiency" (evidently using software that hit some USPS database); the upshot was that everyone on my street had their address removed from the pickup routes.
[+] [-] IshKebab|11 years ago|reply
It means I can basically never pass a credit check at this address.
[+] [-] ghaff|11 years ago|reply
In these days of GPS--and just the passage of time--it's not a problem any longer. But for the first five years or so I lived in the house, I had to be careful to explain the situation to people coming to the house.
[+] [-] hawkice|11 years ago|reply
That people have addresses at all, or can describe their residence in an unambiguous or clear way (even using GPS coordinates).
I used to live in a place I couldn't even remotely give directions to. It was deep within a neighborhood of a poorer country, none of the streets had names, none of the buildings are numbered. I lived in an building where none of the apartments had numbers or names.
If I wanted something delivered, I would go to a local shop for the company delivering it, and show my ID, and they would have it routed there if it wasn't in the building already.
If you wanted a billing address for, I don't know, tracking me down, initiating lawsuits, something like that? I honestly just assume that's impossible.
[+] [-] dfranke|11 years ago|reply
[+] [-] userbinator|11 years ago|reply
How can GPS coordinates be ambiguous? I can see different units of measure/notations being used, and the accuracy might be a problem for extremely close addresses, but wasn't it the point of GPS to provide an exact reference for any point on the planet?
[+] [-] UrMomReadsHN|11 years ago|reply
Also, since it brought up naval vessels, here's the addresses of all US Navy ships: http://www.navy.mil/navydata/ships/lists/ship-fpo.asp
Anyways, the post office does a wonderful job delivering mail considering how complex addresses can be and how people can have messy handwriting.
Also - You can have an address that doesn't map to a physical location that totally looks like it should (not just PO boxes). Consider RPIs address.
http://rpinfo.rpi.edu/locateRPI.html
"Correspondence to and from Rensselaer Polytechnic Institute uses the official address of 110 Eighth Street, Troy, NY 12180. This address serves as a mailing address only; you will not find a building with that number on 8th Street."
[+] [-] mgkimsal|11 years ago|reply
IIRC, something like
50 INPUT "Your ZIP code?", ZIP$
Everything was reviewed via handwritten code and flowchart before we were allowed to type it in in the lab, and I was told "ZIP code is a number, but you're putting it in to a string, that's wrong, fix it".
"But a ZIP code starting with 0 would then not have the 0 at the front when we show it back to the user" I said.
"ZIP codes don't start with 0"
Me: "Some do"
Her: "No, they don't"
I lived in Michigan, but was a huge infocom fan, and they were in MA, and had a leading 0 in their ZIP code. We argued about this for a good few minutes, and it wasn't until I brought in something the next day that demonstrated legit ZIP codes starting with 0 that I 'won'. Crap like this reinforced my distrust of authority and cynicism in life (for better or worse).
EDIT: Anyone else remember the "New Zork Times" newsletter? :)
EDIT 2: It wasn't until much later that I learned the ZIP code system we had wasn't actually completely formed until after she was at least a teen, if not a full adult - she simply wasn't exposed to stuff that I was earlier, it didn't really impact her, and she just assumed they were all numbers with no leading 0s. In some ways a minor point, but... it also taught me about stuff I took for granted not always having been there, even something as basic as addresses. Didn't really learn that until much later after that class.
[+] [-] kalleboo|11 years ago|reply
It may be less of an explicit belief and more of a case of "This looks like a number! Let's store it as a number!" which wipes out leading zeros.
[+] [-] jkot|11 years ago|reply
[+] [-] pella|11 years ago|reply
- The free and open global address collection : http://openaddresses.io/
------ "OpenAddresses Hits 100 Million" https://www.mapbox.com/blog/openaddresses-100m/
- OpenStreetMap "addr:housenumber" FREQ http://taginfo.openstreetmap.org/keys/addr%3Ahousenumber#val... [ more "14" than "13" ]
- OpenStreetMap "addr:street" FREQ http://taginfo.openstreetmap.org/keys/addr%3Astreet#values
- OpenStreetMap "addr:postcode" FREQ http://taginfo.openstreetmap.org/keys/addr%3Apostcode#values
- Derek Sivers: "Japanese addresses: No street names. Block numbers." http://sivers.org/jadr
- Wikipedia : "Address (geography)" http://en.wikipedia.org/wiki/Address_(geography)
[+] [-] nvivo|11 years ago|reply
I remember once we had to remove validation from names because some countries don't even have last names, and others have real names with two or even one characters.
[+] [-] matthewmacleod|11 years ago|reply
Unfortunately, it's not an acceptable answer in practice.
In my experience, users aren't clear what to do when presented with a free-form, multi-line text box in which they can enter their address. This results in frequent missing data – users aren't aware they need to include a postal code, or county, or country…
This is probably because users are generally conditioned to expect separate text fields for separate tokens in their addresses.
There's a middle ground though – extract the tokens you need (postal code, country) and allow the user to freeform the rest. And don't even think about trying to validate addresses in any real way – you'll fail!
[+] [-] a3n|11 years ago|reply
I have to just make things up for one or the other field (first, last). Usually I go with my initial as my first name, and my name as my last name. Or my one name in both fields. I once signed up to some web service that I didn't care about with a last name of IHaveNoLastNameAndThisFieldIsTotallyMadeUp.
[+] [-] smcl|11 years ago|reply
This one's particularly common in Edinburgh. In fact in the example they use - "Regent Road" connects to Princes Street, which becomes Shandwick Place, then Atholl Place. At this point the main fork becomes Dalry Road which then becomes Gorgie Road which becomes Stenhouse Road and then Calder Road - all of which are roughly a straight line:
https://www.google.com/maps/dir/Calder+Road,+Edinburgh,+UK/S...
[+] [-] handelaar|11 years ago|reply
Local council clearly made an error when putting the two named street signs on each side of the corner, nobody has ever known which one it was supposed to be in the first place, and so... this.
[+] [-] mtmail|11 years ago|reply
[+] [-] 2ion|11 years ago|reply
When actually using all the addresses you stored for shipping stuff, it is almost guaranteed that the shipping company will cut off or drop lines from labels, and of course every shipping company is going to have its own quirks. Maybe just because not every address is going to fit onto a fixed label area in a fixed font size.
I have in fact lost several shipments to my address(es) due to every single kind of the above caveats.
[+] [-] oneeyedpigeon|11 years ago|reply
It would be nice to come up with some sort of conclusion or recommendation. Should addresses just be used as one big blob of text, and never parsed at all? should there be individual per-country libraries for parsing them? should we just address everything by coordinates (which doesn't solve the houseboat problem)? How about a unique identifier for every person on the planet, plus a gps tracking system that guarantees big brother can deliver to you whenever, wherever?
Now that the average piece of post is a prig package that needs signing for, rather than a small letter that can just go through the letterbox, I quite like the idea of centralised pigeon-hole buildings, that have existed in many towns as the only method of delivery, but are now being born everywhere thanks to amazon, etc. That's quite a different problem, though :-)
[+] [-] curryhoward|11 years ago|reply
I don't know how well this works in practice, but it's the most "correct" thing to do.
[+] [-] jakub_g|11 years ago|reply
The linked URL doesn't work anymore but thanks to Archive.org and reverse image search in Google I managed to find it:
https://web.archive.org/web/20130909052627/http://en.wikiped...
http://upload.wikimedia.org/wikipedia/ru/thumb/f/fa/Letter_t...
[+] [-] breakingcups|11 years ago|reply
[+] [-] shdon|11 years ago|reply
[+] [-] kimdouglasmason|11 years ago|reply
My street address is
XXXX Martin Luther King Jr Way, Apt XXX
The number of organizations that accept the address, but chop off the apartment number when they send mail because it is too long is ridiculous. Even better, it tends to be government departments. For example, the IRS does this.
Martin Luther King Jr Way has to be one of the most common street names in the US. Many orgs can't even get the simple cases right; I don't hold out much hope for the obscure cases.
See the Google 'real-names' debacle for just how wrong people can get this kind of thing, even when they're being loudly told that they're doing it wrong.
[+] [-] samatman|11 years ago|reply
[+] [-] drivingmenuts|11 years ago|reply
We can issue addresses to computers, many of which cannot be considered to be in a fixed place, yet somehow we can't issue a permanent, unique address to something that's not likely to move around much.
[+] [-] zimbu668|11 years ago|reply
http://www.answers.com/Q/How_many_zipcodes_cross_state_lines
[+] [-] koenigdavidmj|11 years ago|reply
[+] [-] bojanz|11 years ago|reply
[+] [-] pcthrowaway|11 years ago|reply
From Portland's Wikipedia page:
> On the west side, the RiverPlace, John's Landing and South Waterfront Districts lie in a "sixth quadrant" where addresses go higher from west to east toward the river ... East-West addresses in this area are denoted with a leading zero (instead of a minus sign). This means 0246 SW California St. is not the same as 246 SW California St. Many mapping programs are unable to distinguish between the two.
[+] [-] jmharvey|11 years ago|reply
"(Direction) Street" is necessarily the same (or different) than "Street." Or even if they're different, users will understand the difference, at least on a local basis.
I had a GPS that would always omit any directions that prefixed a street name. I was occasionally thrown for a loop when it told me to turn on Beacon St in Boston, when it really meant North Beacon St, which is a nearby, but unrelated, street.
[+] [-] jacquesm|11 years ago|reply
http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-b...
I live on a road that has two sets of numbers, both identical (but several hundred meters removed from each other) in two different towns but with the same name. Getting mail and packages delivered here is for want of a better word a challenge.
[+] [-] GigabyteCoin|11 years ago|reply
Without a current streetmap of the entire world, how would you really know it's a bogus address?