No doubt, this period is interesting… Imagine all those partners, waiting for the publishing of their applications on the Windows Store. All those people, with mixed emotions, half excitation, half anxiety, hanging to the lips of the AER (Application Experience review) team to get the precious award… I’m actually following several partners, and been really frustrated by the (well internally identified) “search issue”. Let me explain a bit further that point : Some apps are doing the search job, some apps require to have a very fine tuned search engine and that point means a lot for the partner, a lot of money, a lot of time, a lot of code and it’s really frustrating not to see that search stuff on the front page of the application. Moreover, a few partners do not understand the paradigm of the search tools (the “why should I see my competitor in the search list?” syndrome).
To clear the path for a good Windows 8 application, you must take care of the Search contract. This is the purpose of this article : Give you the guidelines to have a clear statement in mind, prior to produce the search part of your application.
What does the guideline say ?
This is how the Search contract is defined in the MSDN library :
“You can add a search pane to your app so users can search not only your app's content but content from other apps as well. Users can also transfer the search query itself to other apps. When you participate in this contract, you agree to make your app's content searchable by other participants and to present search results from those participants in your app. Participating in this contract helps you gain traffic and usage for your app.”
As a contract, the search options are gathered in one single, easy to find and consistent place. That means that everything that may be placed in the Charm bar should not be laid in the application layout. That is the major rule. You must keep that single sentence in mind while trying to build the best app of the universe.
The search option is not related to where your data are stored. You may search for local or internet content without compromises.
The Search Charm is easy to use, easy to locate, and easy to call back. It will become shortly a very quick access to all the applications, to all the content beneath the applications.
By the way, the searched items are those available in your application. But you can alternatively search for the same items in other applications. As you can find the same world in two separate dictionaries, for example.
On top of all of those points, you should rely on the Charm bar to leverage the search options.
Remember, you can access directly to the search charm using the Windows key+Q.
Ho, yes, you can not have missed that : The Search Charm can be launched only for un-snapped applications. Even if you try to launch a search by clicking on a specific icon in your snapped application, well, it will automatically unsnap.
First of all, what you must not do :
- Place a search related UI control in the main layout. It is confusing for the user to find duplicate functions in your app and in the OS.
- Place a search related UI control in the App Bar. Once again, it is confusing. And the App bar is a dedicated place for controls inside your App.
- Place a search control to do a “find” function. The find function is useful to identify a specific content in the page you’re actually viewing. The Search function is designed to look for a item in your application or within the applications installed on your system.
How the search works :
The search engine has two modes :
- The completion mode, based upon a query analysis. The system returns the possible items who might satisfy the user, related to the character string typed by the user.
- The suggestion mode, based upon the exact match of the query typed by the user.
By default, use the completion mode to help the user in its choices easily and quickly. Remember that Windows 8 is designed for touch first, with a virtual keyboard. The less time spent typing, the more efficient your application will be. Always return effective choices in the search charm. For example, if your application is showing maps, you can return the places starting by the query. Always keep in mind the typo.
Alternatively, you can add a suggestion to the search query, like a specific spoke of your apps, described by a nice-looking-metro-styled icon, in order to bring immediately the customer to the item he’s actually searching. But remember that too much suggestions kills. Do not present more than five suggestions (based on the user’s history, eventually).
The guidelines also insist on revealing what the search does or what you can search for by using a text placeholder describing the function.
One important note : Do not forget to have a working option if the user searches nothing (a blank query).This can be an automated return to the last page, or the display of a nicely design error page (see that page for inspiration).
Ok, I will use the Search Charm. So what?
Now, you should be convinced that the search is a great option for your app and a great opportunity to be in the Windows 8 mood. But what’s next? Well, you have to design your own result page. This is where you can add some more tools to filter properly the content searched previously.
You will probably start by the name of that page. To avoid a confusing statement, you may name that page “Results for XXX in _My APP”. Now, the user knows that he is searching in the right app for the desired character string. Fine.
Show the most relevant items first. That may sounds stupid, but that is the major trick here.
Indicate precisely how many items were returned by the search engine. This may become handy.
Use filters to reduce a too large result list. This is where you will use a drop down list control to categorize your results. Eventually, show the numbers of items by filters.
Show how the search engine was consistent by highlighting the query in the results.
Finally, take advantage of the List View, because it is the right, the most relevant and the smartest way to expose all the results in one smooth UI.
And remember how you react : You have a large list of items, so you try the first one. The related page opens. Wrong choice. What do you do? You turn back! This is where the back button becomes very important to return to the page you we’re looking at before searching.
One more word here : try to save the search result page in case your user wants to launch the query once again.
My app is a search engine! Do I still have to use the Windows 8 contract? Well, in extremely rare cases, you will not be rejected by placing a search UI control directly in the application layout (Bing, obviously, but also Se loger). We’ve sawn only a couple of valid apps with that kind of proposal. Be aware that it is very risky, and that you probably will have to think back your application layout. Do I have to see my competitors in the search choices? Well, eventually, yes, that’s the deal. But think again a second. If people install your application, it is clearly because it is a “best at”. So you shouldn’t be too afraid of the comparison. No? How the other apps are stacked? What is the order? It depends of the frequency this or that app is used. The most searched in, the higher. Can I place a dedicated icon in the layout of my app to open the search contract ? Eventually, but only if you want the Search contract to acquire a high level feature state of your application.
My app is a search engine! Do I still have to use the Windows 8 contract? Well, in extremely rare cases, you will not be rejected by placing a search UI control directly in the application layout (Bing, obviously, but also Se loger). We’ve sawn only a couple of valid apps with that kind of proposal. Be aware that it is very risky, and that you probably will have to think back your application layout.
Do I have to see my competitors in the search choices? Well, eventually, yes, that’s the deal. But think again a second. If people install your application, it is clearly because it is a “best at”. So you shouldn’t be too afraid of the comparison. No?
How the other apps are stacked? What is the order? It depends of the frequency this or that app is used. The most searched in, the higher.
Can I place a dedicated icon in the layout of my app to open the search contract ? Eventually, but only if you want the Search contract to acquire a high level feature state of your application.