2

For example, I mean when a data item that a user is adding to a system has metadata attached to it, one of those pieces of metadata is location, for example a "property that the user is renting" the user will want to specify where that property is available for rent.

I have seen various options:

  • Free text field
  • A collection of drop down menus (Country level > City Level > District Level > Street Level )
  • A map which the user can zoom in and out of and then plot the location with a click of the mouse.

Any thoughts on how best it is to retrieve location data from a user? I open this up to the floor :)

flag

3 Answers

2

Hi Josef

Have spend a lot of time looking at how people from different countries format their addresses

http://en.wikipedia.org/wiki/Postal_address

The simple answer would be a free text field with a server-side function to parse the results in to the required database fields.

n.b. A few years back I ran some hallway user tests to assess the impact of individual text fields versus a single text area and there was no negative impact using the text area.

The biggest drawback is the cost of development. How do you store the captured data? If you have separate fields in the data then you would have to create the rules to parse out the addresses depending on country entered in a single text box. Also, What if the format wasn't exact, what do you do then?

In addition what do you want to do with the data when you have it? Will you profile based on locale i.e. Tell me all the users from Manchester. What's the cost of developing those routines with a single database field?

Other options

Maps are difficult for users to find exact location, and will also have an implications on accessibility.

As frustrating as single entry text fields can be - they seem the most adaptable way of ensuring a consistent user experience while not over burdening the development team.

HTH

Matt

link|flag
Common use of a single multi-line address text box is well overdue. I'd think for most purposes, all you really need to parse out is the postal code, which should be algorithmically easy. At least in the US, that tells you the state and town, sometimes more. How much more to do you need? How much more are you going to reliably get from Street1 and Street2 anyway? – Michael Zuschlag Mar 11 at 13:05
As for maps, some users can’t enter even an approximate location. Most people know their home address by heart, but a fair proportion can’t find their country on a map, at least here in the geographically-impaired US. On the other hand, in situations where the user is more geographically aware, such as when traveling, the user may be able to figure out their location on a map faster than they can find out what address they’re at. A map with a search feature allows the user to apply both any address and any geographic information they may have to the problem. – Michael Zuschlag Mar 11 at 13:14
Michael - I agree completely re: single multi-line address fields. – Matt Goddard Mar 11 at 16:39
1

I think the answer to this highly depends on the client and their expectations.

Recently did location form that 1st selected the country, then displayed a division with the next choice, just a variant on levels of drop-downs. Most clients seem to want some variant of this. They don't want people free typing, and the issues created when running reports.

Had a non-profit ask me the other day if I could add a button to their form that gives the user the alternate option of pasting in their Google map link instead of filling out their form. Didn't end up doing it because of parsing into their pre-existing data structure (++time) for their reporting

link|flag
1

I think it depends entirely on what that data is going to be used for, and what countries you service. To do a post-code lookup via radius, you have to buy databases of lat/long and then use a radial algorithm. I work on a project where Google maps are generated based on location so that an exact street address is mapped. Because of the expense, we only provide mapping for the US (although we could extend to Canada, since I bought that database for a different project).

For us, a text area field wouldn't be practical. In the admin area, our users type in a street address and city in two separate fields, and then pick a county and state/province from a dynamic dropdown menu. When the form is submitted, we ping a free (for low volume) API that tries to return a lat/long on the street address. Because the API is very particular, we have to do a lot of data massaging before it gets sent to the API. For example, "123 South Trummel Avenue" would fail, but "123 S Trummel Avenue" would pass. We also run into issues with hyphenated streets, abbreviated vs non-abbreviated city names (Saint Louis versus St Louis), Farm-to-Market Roads, and so on. So we handle all of that processing on the server's end, ping the API, hopefully get back a lat/long, and then insert the lat/long into the database along with the record.

Then when we need to do a zipcode lookup, we just use the radial search based on the lat/long of the postal code the user enters to search by (which we get from the database of postal codes + lat/longs that we bought) and find all records within that radius.

Sorry for the long technobabble, but I wanted to illustrate that it really depends on how you're using the location data. Our admins are trained on how to input addresses and they still managed to bone it sometimes so that the API can't find a match. In this case, when you need very specific location information, I think a textarea field would result in too much human error and/or inconsistency in data to be useful overall.

I definitely agree that forcing the users to click on specific point in the map to mark their location is less than ideal. It records a lot of clicking and zooming just to get to the right approximate location. I find them frustrating when I have to use them. Even if the thing I'm trying to map doesn't require an exact precise location my anal-retentive nature will have me clicking on that thing 500 times until I get it exactly right.

link|flag

Your Answer

Get an OpenID
or

Not the answer you're looking for? Browse other questions tagged or ask your own question.