The same thing applies to postal addresses. I look forward to the day when I can make my own shipping label when ordering goods online. This just needs to be a free text, multi line field.
The theme you touch on is covered at length in the book 'Computer Power and Human Reason'.
Shipping address has to be on the most shoehorned pieces of data in any database in the world. The only thing that seems to have put some structure on it in the US is the 911 implementations.
For most of high school years, our house was listed as "311 Behind the School" or some other variation. There were no actual street names (although I am told the electric company and only the electric company had a map with street names). When 911 service hit the area, we got actual addresses, but they really weren't useful for shipping things. The local UPS guy knew where everyone was and where they worked so he could do his deliveries. His replacement required some training time.
Rural ND on a reservation. E911 was implemented not too long ago (5 - 10 years). UPS in ND was always good at getting you your package. The drivers knew everyone and where they worked (or knew who to ask). Packages sent to my home actually got dropped off at my work (in person, well except the furniture type stuff, then they would warn you they were headed to your house so you could put it in the house).
The Post Office didn't do a route on the reservation (come pick it up - all PO Boxes), and FedEx was the most pain in the rear, evil group ever (drive 2 hours to pick up you package because we stop delivering in late Dec). You can work up quite the mad driving two hours to pick up network cable in a ND winter.
Around 1996, I actually had to tell a vendor we couldn't do business with them anymore because they had to ship FedEx. FedEx did get better, but don't mix up FedEx and FedEx Ground else there will be a lecture.
Its amazing when you get in rural environments how directions like "left after the old Benson house" (never mind Benson has been dead for 40 years) or "first house on the left in the 52 housing" (52 was the year the houses were built.
// never mind the "Easter Egg housing" and how they got their name - cheap*$$ government and their "bright" paints
This just needs to be a free text, multi line field.
I tried that for a project, using the Google geocode API. Worked OK, though not flawless.
Users entered their address into a textarea. This got passed off to Google, and the app then looked at Google's response. In case of ambiguity the user would be prompted to clarify the address and try again.
The intent was to reduce crap in the application database, but at the same time we had to allow users to override whatever Google thought and provide a literal address.
The theme you touch on is covered at length in the book 'Computer Power and Human Reason'.