Sucky Usability of Country Pickers
Posted in Design
Recently, I had to rework a submission form which had a country picker—the kind you see on almost every e-commerce site. Besides the traditional long list of countries, the old picker attempted to be smart by also listing regions / prefectures / states / provinces.
County pickers are one of those usability monstrosities with dot-com legacy which developers drag around simply out of habit.
First, do you really want to be an arbiter of how many countries exist at any given time? Which former “people’s republics” can be confidently called “countries” this year? How about next year? There’s absolutely no way to be politically correct about it. Nobody ever goes back to update country lists (since they are stolen from other scripting sites in the first place). There’s a good chance that you’ll piss off someone by referring to their country by an old name or commit the sin of omission.
The region, state and province business is even trickier. In light of the recent war between Georgia and Russia, would you dare to decide which country South Osetia belongs to? What about some of the “territories”: do you want to decide if they are countries in their own right or somebody’s fiefs? Then why play these games in the first place?
I believe the best approach is to give users a free-form edit box. It’s pretty safe to say they know where they live and can intelligently type in their own country name.
When it comes to improving usability, it’s better to put end-users in charge and get out of the way (credit card numbers are one such example).
3 comments
adam w
on January 28, 2009
I agree with all your criticisms but there is a serious issue with data useability. If at some point you want to search the data by country it's going to be tough if you've let the users type in freeform text. Not only will the names vary, some users if you let them, will type in fictitious countries. You might as well save yourself trouble and not collect that info or restrict the choices to US/Canada/Europe/Other. Another point, though this might sound cold, if this is to be an E commerce site, do you really care about unstable regions? People there probably dont have much money to spend and so what if your ddl is out of date or incomplete, its not going to miss Canada, the UK etc
estheticaly, the presentation might be less awkward if the selector was a tree starting with continents, then countries and finally provinces.
Milan Negovan
on January 29, 2009
Adam, that's an interesting point about unstable regions. At times I wonder why an e-commerce site would even care about most of the countries on that list. Many of then don't have running water, let alone commerce.
If you actually mine data, then yes, it helps to have countries picked from a canned list. Otherwise you'll end up with weird names, as you rightfully point out.
On the other hand, there are algorithms to "normalize" shipping addresses within the US. I hope there is (or will be) one available for normalization of countries, in which case free-form entry will be feasible.

Scott Muc
on August 24, 2008
I totally agree!
I do however make smart dropdowns for American states and Canadian provinces. Mostly as a convenience for the demographic that is frequenting the site that I develop.
I've always thought of creating a REST API for this stuff but eventually came to the conclusion that was probably over engineering the problem.
The other issue I think has to do reporting data. If I provide a free form textbox for people to enter a province, I don't want to have to search the database for BC, B.C. and British Columbia to aggregate tuples grouped by a province.
It's interesting how this issue is ubiquitous around the web but doesn't seem to be completely solved.