I don’t understand either of these arguments. They both appear to reinforce the point made in the article. At worst a zip code contains multiple cities? Voila the city box becomes a dropdown. It’s 2025. JavaScript.
I get the vibe that it's more like there's unexpected complexity and it's difficult to be confident you know how zipcodes work with enough detail to make the feature work. And that is just one example of possible complexity.
Do zipcodes change for example? Can your drop-down quickly go out-of-date? You'd need a way to manually enter a city so people are able to tell the system an address. Do you want to bother making an auto-updating zipcode feature just for a form?
Is it going to confuse people because nobody else has bothered to make this superfancy selection feature thing?
Is this USA only? There are postal codes/zipcode-equivalents in other countries.
It starts to feel it's likely not worth the time and effort to try to be smart about this particular feature. At least not if I'm imagining this us some generic, universal address web form that is supposed to be usable for USA-sized areas.
To me it feels similar to that famous article about what you can and cannot assume about people's names; turns out they can be way more complicated and weird than one might assume.
Although maybe zipcodes don't really go that deep in complexity. But on the spot I would not dare to assume they are.
> Is this USA only? There are postal codes/zipcode-equivalents in other countries.
This is where the real problems start - postcodes exist the world over.
Speaking as someone that has dealt with countries that have postcodes, but no states, so it's just Street Address (if applicable) | City (if applicable) | Country | Postcode
Inputting a "zip code" first would result in every country being in the drop down.
In Australia, addresses too are wild, they should be considered "free form"
What kind of app are you building? Maybe you're selling something. You probably want users to get through your check out form as fast as possible before they change their mind or get distracted or frustrated.
Or you're building an app for data entry and people are filling in lots of addresses every day. They would appreciate you saving them time.
Either way, spending a day or two to polish up your form can be worth a lot.
Not saying its trivial to get all the edge cases right, but I'm pretty sure we can do better here.
I just placed a delivery order from home depot and this is exactly how they handled it. I put in my zip, they gave me a drop down of the cities that zip covers (there are like 5 of them, incredibly) and I was on my way.
Even if a zip code contains multiple cities, each ZIP has one "preferred" locality name and you can default to that. Any of the locality names within a zip code is deliverable for all addresses in that zip code.
As has been pointed out in many other comments implicitly and explicitly, the purpose of a set of address fields in an HTML form is not always to come up with a USPS delivery address.
Except that's not what this page does, so it's harder than TFA makes it out to be. I am in a zip code that spans two cities, and it won't let me change the city name at all once I put my zip code in.