Being aware that HTML geolocation API does not work on every browser without using Wi-Fi, I'm trying to use an alternative more accurate to present nearest items from the user location.

I'd expect the user to enter a "Location reference", in a lot of cases, his address and then expect him to select the distance he wants.
Of course, this would be autocomplete so that user does not have to type the entire exact address; avoiding typo etc..

Basically, this would be represented as follows:

enter image description here

My question is: with this solution, how could I enforce the fact that user MUST select his current address before selecting a more restricting distance than everywhere through radio button?
Indeed, it would make no sense to have this state:

enter image description here

Should I hide ALL the radio buttons until a right address has been set?
Should I enable only everywhere as long as no address has been set?
In both cases, when a right address is set, a little popup or animation would warn the user that it could now uses the radio buttons to select his desired distance.
(Technically, it's possible to determinate whether an address exists, so that wouldn't be an issue to expect a "right" address).

Or should I completely change the nature of the solution?

Note that the set current address could be saved so that the user does not have to type it every time it uses the app, as long as the address doesn't need to be changed.

2 Answers 2


It really depends on your goals.

IF you are collecting addresses for marketing purposes then of course encouraging a complete address is quite useful.

If you do not REQUIRE the address for marketing then a system where you would require the user to self-refine the data would be handy. For example: have them enter stat/province first should remove a large portion of geography, then a city would allow further refinement, the a postal code then their street address. In this way the user is automatically defining their geographic range criteria without having the additional requirement of another form field.

Now, if you are going to force them to enter their complete address then showing the range data but disabling it would be best. Then if the user attempts to click any range criteria other than everywhere a popup with a message to the effect of...

We would love to provide you with more refined data, but we'll need a complete address before we can

Should do the trick.

  • I like the suggestion of the popup ;)
    – Mik378
    Commented Sep 4, 2014 at 10:26

Make the default state of the box include a default address - even if it is totally unrelated to the user. A visitor may not see a blank box as an "incorrect" state, so they may not know to "fix" it by entering their address - but they will see an address that is not their own as "incorrect" and will change it to the correct address.

If your solution allows incomplete addresses such as just a postal code or a City, State combination, you could have the server look at the user's IP address and geolocate their zip code or city and state and have that be the default state for the box. IP geolocation is not always completely accurate, though in this case, if the user sees an unfamiliar entry in the box, the natural reaction is to change it.

  • Do you have any evidence to support your assertion that if the user sees an unfamiliar entry in the box, the natural reaction is to change it. How do you know the user won't be trusting the browser to auto-fill the field (and thus assuming that any filled field can be ignored)? Commented Sep 4, 2014 at 3:43
  • @Tim I agree with 3nafish. Many lambda users won't risk to change a value that was provided automatically. They would think that if there is this value, there must be a reason even if this value sounds irrelevant.
    – Mik378
    Commented Sep 4, 2014 at 9:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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