I'm building a webApp and I'm facing a discussion with my client about the searching function of the app, the main porpouse of the webApp is to find houses to buy/rent.

Currently the search function works like this:

  • The user select a city from a dropdown menu, this dropdown will only contain city names and the user can't type anything else but a city name. The city name that appear in the dropdown are taken from our data-base and will be displayed in the dropdown only if it has at least one building registered, so only cities with valid buildings will be displayed. It also has an auto-complete function to show results based on what he's typing, see image:

    enter image description here

  • After the user select the city he'll go to a page with all the results from that city and on the left side there is a list of filters. Then, the user can apply all the filters he wants and the results are shown in real time. Depending on what type of building he select, the filter will be different. For house is one, apartment is other, and so on.. See image:

    enter image description here

Why I'm using it?

First of all, in this scenario, it's hard to have an user searching for a house in multiple cities, so instead of showing all the results, the webApp will show only results in that specific city (or even by distance, if the user wants to fill an address or point in map - other function).

Also, if he's typing in the search, for example: "House with 2 bedrooms and 1 suite", if there is no results, he´ll need to think again in other search phrase, or even rethink the house specifications he wants.

With a guided search, the user will search only in that city (region) and the filter options only shows up if there is any building with that requirement.

I don't need to make the user rethink the house, the phrase or what he'll search if there is no result, or if he had a typo in the search field. All the possible filters only exists if there is a house with that configuration.

What the client says?

Although I tried to explain this to my client, he insists we´ll save user's time if the search function is based on what the user type, because we show only what he's looking for.

What do you guys think about this? Is this type of guided search really a better way to filter the results? Or the old and commom search function still at the top when we need to filter large set of data?

3 Answers 3


For highly-structured content, like houses and appartments, the approach of leading user towards the desired result is more successfull strategy, compared to free-text search.

And it's your task, as an designer, to build the appropriate UI for implementing this strategy. So that the UI will support the "don't-make-me-think" user flow.

Let's compare the initial screens:
Screen 1
enter image description here
Empty input box doesn't provide any idea of what to enter. Some users will enter "Yes" there, as an answer to the stated question "Searching for a house?".

enter image description here
The UI make it more obvious what to enter, provides shortcuts for most popular cities, and leads a user to the next stage with minimal efforts.

Having not so many cities covered in the very beginning (up to 10-15), you can even skip the search initially and provide the full list of the cities on clicking Another city link.

  • That's a great thinking! Just to let you know, in my home page (first image) th input isn't blank, it has a placeholder like this: "What is your city?" (not defined yet). But your toughts (based on the second image) make things better. Also, the webApp isn't online yet, so maybe I'll rethink the first call 'Searching for a house?' Commented Jan 14, 2016 at 23:44
  • @CelsomTrindade yes, the first call should be very appealing and emotional for users, which motivates them for the next step. Commented Jan 15, 2016 at 5:56
  • Yes, I was out of ideas when finished the layout, so didn't tought in a proper call hahahaha. But, one question, in the other answer, from Majo0od, he talks about the dropdown menu on mobile, what do you think about this in this scenario? Commented Jan 15, 2016 at 9:58
  • @CelsomTrindade I'd for displaying the list of cities with some mean of search or quick navigation on a mobile. And the list is full screen for the better usability. Commented Jan 15, 2016 at 10:08
  • Allowing users to input a city into the "another city" even if the search returns 0 results. Can be useful data to gauge the demand for different cities, if lots of people are searching for Springfield, but no results. Perhaps you should concentrate on getting more properties in that area. The 0 results page can also be used to harvest some email addresses, "notify me when you have properties in city x" sort of thing. Commented Sep 12, 2016 at 10:26

Ideally you should allow the user to enter what ever makes them comfortable, then you accept it, instead of return an error saying "sorry, please type it only this way."

That causes problems, and being very picky about what you want is not the best experience.

To settle this between you and your client, you should probably user test. If that's out of scope, then do a competitive analysis, where you look at existing sites and follow what they are doing (a lot of companies put a lot of effort into thinking this stuff... usually).

To add to all this, I think the more intuitive the search, the better. Have them TYPE the location instead of use a dropdown, because a dropdown isn't mobile friendly. Be very specific about the actions that can take please from the get go ("Search by city, state, country, etc"). After they select the location then they can filter by their criteria (X bedrooms and X bathrooms, etc).

  • We'll not run user tests because of budget and time, but certainly we'll have data analysis on it to see how much of the users interact with it and get to the result. About the "look at existing sites" I already did it, and came up with this system, because others were similar, but with some cons. And about the dropdown, I'm using it because I want user to select only cities with valid buildings, I don't want them to search.. search.. and ended up in a city with no results multiple times. What do you think? Commented Jan 14, 2016 at 15:31
  • If they search for someone thing it's not valid, what does your "error page" look like?
    – UXerUIer
    Commented Jan 14, 2016 at 15:33
  • There is no "error page" for a wrong search or search with "no results". Currently the input just accepts valid city names, we give the options based on the number of buildings in the database for that city. If there is none, that city will not be displayed. But, if the user manage to type a wrong city name, the 'search function' doesn't continue. It stops and show a toaster with a message. Commented Jan 14, 2016 at 15:37
  • Hmmm... Interesting. I think the biggest problem is the dropdown, it's not mobile friendly.
    – UXerUIer
    Commented Jan 14, 2016 at 15:48
  • 1
    Yeah. Good luck!
    – UXerUIer
    Commented Jan 14, 2016 at 15:51

The thing about searching for a city is that there may be multiple cities with the same name, or containing the same string. So your search results need to enable the user to distinguish between Salem, Massachusetts, and Salem, Oregon... or between Cambridge, England, Cambridge, Massachusetts, and Cambridge, Ontario (if it's international).

Some of the considerations you will need to think about (mis-spelling, multiple names, etc) are covered in this article, Redesigning the Country Selector.

So both you and the client are right - it needs to be based on what the user types, AND intelligent matching of what they are looking for.

Other things to consider:

  • when I was searching for a place to rent, I needed to filter by whether or not pets were allowed.
  • being able to specify number of miles from a specific postcode / zipcode / city centre is really useful
  • Yes, those type of details are already built-in (the filter functionality), even by distance (like I said in the question - but it's other topic). Your consideration about mis-spelling or cities with same name, also already have a function to deal with it. In my country, it's hard to find it (because of legislation) but can be same name from different state, so we'll add a info, like this: "City name, NY" or "City name, TN". Btw, it's only national. Commented Jan 14, 2016 at 15:41

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.