You have an international website with a form where people fill in their address.
Wouldn't it be great if people need to fill out one field less? Example:
- 100 visitors use the form each day
- They spend 5 seconds on the ZIP code field
So 5 * 100 * 365 = 182500 seconds or 50 hours a year. And that's just for one form on one website. Multiply that by all websites that ask such information and you can see the time we can save by redesigning this.
You can get someone's ZIP code via geolocation + geocoding. But since a person's current position can easily differ from the city a person lives in, this isn't really usable.
A solution would be to get the ZIP code based on a geolocated (but changeable) country, input city and input street.
The API we could use: http://code.google.com/intl/nl/apis/maps/documentation/geocoding/ or http://developer.yahoo.com/geo/placefinder/.
Now the real question is, which problems would arise (internationalization, localization, accuracy, etc.)?
No-one else has answered this, so I'll have a go.
No, it wouldn't be great if the website filled in the zip code field based on other information. It might work for some people. It would certainly fail for enough people that you'd have to offer a zip code field as an override. Now you have a site with a higher complexity and development cost than one with a conventional zip code field, because you have to test both the automatic zip code guesser and the conventional field.
You'll have a usability hit which comes from people being confused by the two alternatives and not knowing which to choose.
You'll pay an opportunity cost, by spending design and development resources on the zip code guesser, instead of on some other feature which yields a larger usability benefit.
Here are some problems I foresee arising:
Before taking on a feature like this, I'd take two steps:
User research. Can you identify users for whom the time taken to enter a zip code is a pain point? What about the one of the top three pain points? I'll bet this issue isn't even on your users radar.
Test on existing data. For whatever method you are thinking about using to guess zip code, try it on existing customer data, and see if you can accurately reproduce the zip code the customer entered. This will give you an idea of your error rate. Can you live with this error rate?
If your real question is, could someone please validate my feeling that this is a charming feature, then I probably haven't given you the answer you seek. But you asked, "what problems would arise?"