I disagree. I think it’s better to have a correct guess for high percentage than nothing. It’s easy to explain:
- If the guess is correct the user does not neet to update anything else from the address
- If the guess is incorrect the user just keeps editing the fields (which is the current behaviour with empty fields).
Furthermore, once the user is used to the guessing behaviour he may start to set the country first to make the system guess the correct value or stop the guessing by set a country with zips not loaded. We let the user give the right information to have the right guess.
Guessing the country will also help local bussines (only one country loaded in zip) while it won’t hurt for global companies (multiple countries loaded in zip table) as the system will leave the code empty when there are multiple countries/subdivions for the same zip.
If you use the following layout:
The user will need to fill the all the values becase:
- Contry can not be guessed
- Subdivision is limited by country (and we do not have any information to guess)
- Zip can not be guessed from country and subdivision
- City: Is autocompleted (once we have all other fields)
On the other hand, if we start by the zip and loookup for single entry in zip model we have the following:
- User enters a zip code
- Country and subdivision are set (when unique)
- City is autocompleted.
Indeed, when there is a unique city for the zip (which is my first example) we can also set the city. Which will be a very big improvement by setting all the address details with a single code.
When it is not unique the user will just pick the city from the autocomplete.