45

Almost all sites include a Search facility.

The usual format seen is one of these two:

mockup

download bmml source – Wireframes created with Balsamiq Mockups

The Question is

If the user keeps the input box empty, and then hits enter (or clicks the Search button), what should they be given as a result?

Which would be the smartest approach for the UX?

  1. return all possible results (e.g. Google's Jobs site),
  2. return nothing, and ask the user to a enter search term
  3. bring the user to a dedicated search page (e.g. UX.StackExchange)
  4. return the hot results for right now on the site
  5. return the most searched for items, or
  6. return some random results
  7. do nothing

Is there any standard, de facto result, or research findings on this topic?*

Update 1:

In light of ongoing discussion, I am going to add some more example sites:

Google / Bing

Google and Bing handle this and their flow is to just ignore the search request if there is no search value entered and keep the user in the same page. (Thanks, @Mervin)

Amazon

Amazon returns the normal homepage with an extra /ref=nb_sb_noss_null in the url.

Google Jobs

The Google Jobs site returns all possible results, with a default sorting by "logging-location" and reverse-chronological. Page navigation says "Page 1 of many"

Chrome Web Store

The Chrome Web Store, like Google and Bing, does nothing on pressing enter

Gmail

Gmail has an interesting solution. While in the inbox, pressing the search button does nothing. But when user gives no input in advanced search dialog, it (IMO, rightfully) returns all mails with a notice "Invalid search query - returning all mail." gmail blank query message

7
  • 1
    You could combine 2nd option and any of 4-6, it has sense both from UX and marketing point. Dec 15, 2013 at 17:37
  • 2
    My mother once complained that the Windows Live Messenger was broken, because she cannot send a message she has written. Turned out Microsoft removed the "Send" button in an update and replaced it with the Enter key.
    – Uwe Keim
    Dec 15, 2013 at 18:59
  • 2
    I would say that returning all results on an empty query is perfect behavior for a filter but not for a search.
    – dkhgh
    Dec 16, 2013 at 10:25
  • @dkhgh Google job site do that
    – kmonsoor
    Dec 16, 2013 at 13:05
  • 1
    Related question: Optimal page content for search page with no query?
    – Brendon
    Dec 16, 2013 at 13:43

13 Answers 13

15

I did a quick check on how Google and Bing handle this and their flow is to just ignore the search request if there is no search value entered and keep the user in the same page.

While that does make sense since the user might be confused if search results are contrary to what he expected and if he gets some random results he might be confused as in his mental model he has not entered a value or accidentally clicked it but is getting these results. Hence going by your ideas

return ALL e.g. Google jobs site - This is going to be confusing since the user might have been thinking of entering something and before he did had accidentally clicked search or had clicked search by accident in the first place and being directed to a new page would confuse him

return NOTHING, and notify user to enter search term - This would be your best option as it informs the user that a mistake has been made and what his next steps

bring up the dedicated search page e.g. this site - This is similar to what Bing and Google do but the issue is the person might be confused about the lack of feedback and how this page came about

return the HOT items right now on the site - Not recommended since what might be a hot search topic for your site might not be for the user and it is not expected behavior

return the MOST_SEARCHED items, or - Not recommended since what might be a hot search or most search topic for your site might not be for the user and it is not expected behavior

return some RANDOM items - Definitely not recommended

4
  • 2
    There is another possibility: They actually typed something, but the search bar was out of focus, so no characters were entered. Dec 16, 2013 at 1:44
  • 2
    Returning the hot/most searched items is actually pretty easy. I.E. torrentz.eu uses this feature, and I use it every time I go to the site. It informs me of what other users search for.
    – 2pietjuh2
    Dec 16, 2013 at 10:07
  • 1
    @2pietjuh2 That's what i talking about. +1 for bringing up a concrete example
    – kmonsoor
    Dec 16, 2013 at 13:17
  • @2pietjuh2 give it its own dedicated button, then
    – crdx
    Dec 18, 2013 at 13:06
23

There is a question you need to answer (which can be stated in different ways):

  1. How big is your dataset?
  2. Is "everything" a finite set?
  3. Is it sensible that the user might want to see everything?

If your dataset is small or finite, or it's sensible that the user would be able to deal with everything, then you could return everything.

If your dataset is large or infinite then you could return nothing with a suitable error message or help page to guide the user so that they use the search function sensibly.

5
  • Users get confused while you return everything.
    – Omid
    Dec 16, 2013 at 8:22
  • 1
    @Omid - Well it depends. With a small dataset and if the idea of returning everything is "sensible" I don't see why a user would be confused.
    – ChrisF
    Dec 16, 2013 at 9:11
  • @ChrisF, & omid can't we run for a little AI to this fact by perceiving what a typical user might want ?
    – kmonsoor
    Dec 16, 2013 at 13:07
  • @ChrisF I think small or large dataset is a technical issue that should be discused in StackOverflow and programming side. While we are talking about UX, It really doesn't matter.
    – Omid
    Dec 16, 2013 at 15:59
  • 3
    @Omid - I disagree. I'm not talking about absolute values here. Examples would be: A personal address book of 10s of entries is small and should return all entries if no search criteria is set. A shop's inventory of 1,000s of items is large and should probably return nothing. Implementation wise both are the same thing, but they are treated differently in your application.
    – ChrisF
    Dec 16, 2013 at 16:04
7

I think we have to be honest with users. So return NOTHING, but not just nothing! Users have nothing to do while seeing NOTHING in the search result.

Another idea is to show them why there is nothing ? Maybe they are not searching in the right place. Maybe a word is misspelled so we can correct it. Finally, maybe we are not supposed to have such contents!

2
  • 1
    +1 for bringing up the point "but not just nothing! Users have nothing to do while seeing NOTHING in the search result."
    – kmonsoor
    Dec 16, 2013 at 13:18
  • 2
    I like how the sentence "Return nothing, but not just nothing" actually makes sense in this context!
    – JonW
    Dec 17, 2013 at 13:57
6

I don't think that there is a standard. But I like the idea of following principles of how people interact with each other and reflecting that in UI design. Sending a search request can be looked at as asking a person a question. You formulate a question and then make sure that the person hears and understands it. If you request a response without a question (basically saying 'I have a question'), the person you asked most likely will ask you to formulate the question in a clear form.

Following that analogy when a user clicks on a search button without providing any text in the text field, I'd bring focus to the text field asking the user to provide information to proceed with the search request.

That's what Google and Bing essentially do when they display blinking text cursor in the search box after you submit an empty search request. You may follow the same pattern, or you may make it more humanized, actually displaying some kind of message requesting text input.

1
  • thanks for ur answer. i agree with your point about very general search sites like Google etc. But, i feel, that's just not enough(acceptable, though) for a special site like forum, or jobsite.
    – kmonsoor
    Dec 16, 2013 at 13:13
6

My answer would depend on the website you are designing/building for.

For example, if you were developing an estate agents, I think there's mileage in displaying the search box at the top of the page with:

"No search term entered, here are our latest properties"

Then list 20 or so properties that have been entered in the database. The same principle could be applied to job sites et al.

When you have the potential to confuse the customer, say a multi-result website like on-line shopping etc... then I believe you need to be a bit clever with the non-search page, maybe listing categories but keeping the search box on the page.

Unlike the other users here, I think an empty search result of a message with no action could be equally infuriating.

6

Differ the users intention:

  • Mistake action. "Ups I hit the button! Whats going to happen? I hope nothing to serious??" => Don't change the page in a big manner. Stay on the same page, let the search bar and its button reside at the same spot is was before the user hit the search / enter button. Tell him what happened and why you are (or are not) displaying content.

  • Deliberate search. "I want to see everything!". (The opposite thought "I want to see nothing" makes no sense. => Show the user everything. Tell him why he is seeing everything. And if everything is to overwhelming, give him the opportunity to filter the search results by category, most used search terms, etc.

  • Fun. "Lets see what happens if..." => Depending on your communication standards with your customers (CI) or your domain, give your user a hint what happened in according manner. ("Wow, what was that? You can't search for nothing bro'!?" vs. "Please enter search term.")

Since the deliberate blank searchers are a minority, don't show any search results. Maybe a dialog with "show everything" to satisfy them. In any case: Tell the user what happened, why and what can be done to change that state.

1
  • +1 for "In any case: Tell the user what happened, why and what can be done to change that state."
    – kmonsoor
    Dec 18, 2013 at 16:15
4

Consider it this way, if the user is searching for nothing, then show them no results. The same way you would if they were searching for something that didn't exist in your database. In both cases you'd return no results and inform them to improve their search.

I would consider a "show all" action to be something the user explicitly wants to do outside of searching. While A search is typically something you do to filter or refine results.

3

IMO, if the user searched with no keywords then it shouldn't be consider a search action. This ux behavior is used by most sites. It doesn't really make sense to return a list of all results because over 90% of the results are not what the user is looking for so you're really just loading irrelevant contents (unless you don't have a lot of content or a really good filtering system for further browsing). In addition, some users might get overwhelmed.

If users intend to see all the results available then the "browse page" is where they should visit.

1
  • i would say over 99% instead of "over 90% of the results are not what the user is looking for"
    – kmonsoor
    Dec 16, 2013 at 13:21
3

Only best option I can think of is, take user to a "dedicated search page" as exactly done here in the ux.stackexchange.com . That is the only page user would be expect to see.

Else then show with error - "Invalid Request - No Results Found" in search results page.

UPDATE: Instead of showing an error, you can educate the user like "Enter your search - E.g. John Doe" below the search bar to make them sure about what they want.

3
  • 1
    Agree with your first part. Not with the second though. Returning no results is not an 'error'. Also 'Invalid Request' isn't really that user-friendly a term. That all implies the user has broken something, when all they've done is intentionally press a Search button - that isn't an invalid action. Perhaps rephrasing the message so it doesn't read like the user is at fault would be a better solution.
    – JonW
    Dec 18, 2013 at 10:51
  • 1
    Yeah @Jon you are right about that. Now I have updated my answer. If you have any opinion, glad to hear.. Dec 18, 2013 at 11:34
  • 1
    Yeah, that's much better. Far better to provide the user with useful instructions for what to do rather than just telling them off for doing something wrong.
    – JonW
    Dec 18, 2013 at 11:36
1

What I am sure and certainly not only me is that as Google makes to say nothing to the user is not a good ergonomic behavior.

To respect one of the ergonomic criteria the system always needs to keep the user informed of the status before, during and after an action of the user.

http://www.nngroup.com/articles/ten-usability-heuristics

Visibility of system status The system should always keep users informed about what is going on, through appropriate feedback within reasonable time.

So perhaps they need to alert the user the string typed is to short or perhaps they need to change the color of the search button disable when the string is empty...and enabled when it is not...or perhaps the two behaviors.

I often have a glance on Google product when I have an ergonomic issue because they often have an interesting solution. ...

But in your case their choose id not the best

Not more 6 choice in your 7 propositions. ...

0

IMHO, I would say that this is the perfect edgecase for an easter egg. Pop open an icon of Buddha 'Unfortunately in this universe, nothing is not something' maybe?

0

As mentioned by @ChrisF in his answer, it is based on your dataset. If your dataset is large, then you can show Most Recently Hot Searches done.

3
  • 1
    That is an option, but is that really what the end user is going to expect?
    – JonW
    Dec 17, 2013 at 9:05
  • @ JonW : No one knows what user expect, but we can provide some options to user, by chance thats what user looking for. Dec 17, 2013 at 10:26
  • I disagree. ...the answer does not depend of the amount of data it depends of the user need to achieve his task in his context... Dec 17, 2013 at 22:35
0

If website has a huge database and storing the keywords by which users are searching the content the most, in this case most used keyword related search should be displayed else it should returned with proper message to input the keyword to be searched.

Your Answer

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

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