Take the 2-minute tour ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

Wanted to get your input on different methods for implementing these sort of operators for search fields.

I've seen it done mostly by adding an extra dropdown option before each field with these options (Apple uses this method a lot)

mockup

download bmml source – Wireframes created with Balsamiq Mockups

However this takes up a lot of real-estate on the UI.

I would like to keep it within a single input field and maybe introduce filtering from how the string is entered:

  • Contains (default): John
  • Begins with: Jo*
  • Equals: "John"

This would be a training issue initially, but once you learn it much quicker, and minimal UI impact on current design.

share|improve this question
    
I think "Beings with" overlaps with the functionality of "Contains" so it's more or less an overkill for a name search. I'm not sure what the context is for you but generally users know the name of the person they're looking and "Beings with" is an advanced search setting which can probably be hidden within the "advanced search" link. Again, it'll help with more context on how the search is used. –  Poyi Sep 26 '13 at 21:08

2 Answers 2

Something that requires zero learning efforts, less cognitive and memory loaded and provides more rich logical relations is:
enter image description here
So the proposition is to display search results in ordered way including occurrences from first name to last name. The relations will not be built in mind but recognized and picked from the search result. Recognition over recall!

Advantages are:

  • No learning required – just type a fragment.
  • Less cognitive and memory loaded: human is great in recognition operations. He looks at result, recognizes and recalls a person being searched. In contrast to:

    1. Constructing in mind relations of name fragments (start with, contains, etc.),
    2. Mapping the relations in mind to interface controls.
  • More logical relations: beyond Start with, Contains and Equals there are more relations. So for not to develop own search language, just sort the results in proper way.
  • More error proof as relation could be built wrongly in mind (fragment is not in first name, as someone thought, but in last name).
share|improve this answer
    
It may be easier, but it is also less exact because of the "more logical relations". So it largely depends on the context in which the search/filtering will be used. For example searching for products in a product database and the intent of the filter is not to locate a single item but to specify a set of items that you want to operate on. Here you don't want the extra "logical relations" as that could include items that are completely unrelated to what you are looking for. –  Marjan Venema Sep 27 '13 at 12:23
    
@MarjanVenema, I totally agree with you, it depends on context. So I think in the context of user names it has sense. For example, "Second name begins with", "Souns like", and other relations do improve searching, but they are not presented in question. Maybe you can end up with strong search language for user names. I proposed other option. –  Alexey Kolchenko Sep 27 '13 at 12:34
    
Oh yes, for names I'd prefer not having to specify any specifiers (starts with etc) as well. –  Marjan Venema Sep 27 '13 at 17:47

Here is a nice article by Smashing magazine on building effective search forms: http://uxdesign.smashingmagazine.com/2009/12/08/principles-of-effective-e-commerce-search/

I think what you did looks very similar to this http://www.myfonts.com/search/ (mentioned in above article) and it seems to be working fine for these guys. The difference is: their search form can be customized, as they allow the user to remove unwanted filters (to save on screen space).

share|improve this answer

Your Answer

 
discard

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.