UX: Designing the Search
Some tips when you are designing the search for you web or app.
Provide results form the first keystroke
The user shouldn't have to wait or press enter to get the results. See how Facebook, Linkedin or Spotlight on Mac work.
Search across multiple attributes
You should search on all object fields, not just on the title. You can give priority to the title, but taking into account the rest too. For example in TouristEye the first results are the ones that have some coincidence with the search.
Also, you should search over different types of objects. Return everything, and allow the user to filter by type.
Take into account the popularity of the object
You can also take into account the popularity of the object. In TouristEye we had the total_points field that we use in the order of the results. There could be many places called 'Paris' but I know that most users will search for the city, that is the one with more points.
Highlight the words/letters that matched in the results
Easier to read for the user.
Allow to filter
Filter by object types or by relevant parameters (ranges of prices, areas, categories...)
Accept user mistakes
This one is tricky because not all search engines support it well. But you should return 'Paris' when the user searches for 'Parsi'. This is usually called 'fuzzy search'.
Search in multiple languages
If your product has several languages, search on all of them. You should return "Catalonia" if your user searches for "Cataluña".
For apps: search in local first
If you are designing the search for an app, you want to return the results as fast as possible. Depending on the app, you may want to return first the results you have in your local database and then return the ones in the server. That's what we do in TouristEye.
Show the results in a list
Users have written a word to search, so they are expecting to read the title of the object (place, movie, event). I don't think grids are the way to go on the search results. Users expend more time reading the results. In the TouristEye apps, we use grids on all the app except on the search results that we use a list.