Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In my application,I have a feature like this: The user wants to add a new address to the database. Before adding the address, he needs to perform a search(using input parameters like country,city,street etc) and when the list comes up, he will manually check if the address he wants to add is present or not. If present, he will not add the address.

Is there a way to make this process better. maybe somehow eliminate a step, avoid need for manual verification etc.

share|improve this question
Please define "better" Addresses are very, very difficult to make consistent. Do you have software to filter and standardize the addresses? – S.Lott Mar 10 '11 at 20:33
Are you concerned about 1) how much work the user has to do, or 2) Accuracy/preventing duplicates? (or both 1 & 2?) – vjones Mar 10 '11 at 20:57
@vjones: Both 1 and 2 – Kaushik Mar 10 '11 at 21:08
@S. No software is used to standardize – Kaushik Mar 10 '11 at 21:19
If no software is used to standardize the addresses, what you get will be a mess of different versions. I probably write my address in a dozen different ways over the course of a year. – David Thornley Mar 10 '11 at 22:06

You can scrub the data with a verification service to make sure you don't get duplicates. For example if you send "123 fake street" and "123 fake st" they will both come back fully scrubbed with city, state, county, zip, etc in the same format. I have used both of these services in the past and have no complaints.

To make searching easier you may want to implement a Full Text Search with a "google insta search" style ajax auto-complete. Here is a platform independent way to do that

share|improve this answer

I think the user shouldn't have to search. They should just begin filling out the form, and should be warned if there is already a similar address in the database.

To avoid needing complicated for the fields, you'd have to separate them appropriately. For example, have a drop-down for the street type - "St", "Dr", "Rd", etc. - so that the user won't type "St." or "St" or "Street" (etc.) on their own into the Address field; that way you don't have to match all three of them. You basically want to ensure that, unless they make a typo, all duplicates will be caught.

share|improve this answer

Just let the user fill out the address, but do a search against the database in the background as soon as the necessary fields are filled resp. skipped. If you find potential matches, disable the [OK] button and make a [Check potential matches] button visible, on a prominent place. (A popup-dialogue would be annoying). This new button opens a list of the potential matchs, the user can select one or click on [create new address].

In case you have enough space on the screen, just present the list of potential matches below the entry form; still disable the usual [OK] button (otherwise, your user's will probably just ignore the list), let the user click the [create new address] button below the list.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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