Search Guidance Bundle
Searching is a common requirement in most Web applications. Typical queries include searching for a customer, for a product, or for an article.
illustrates the MSDN search form that allows users to search for articles.
MSDN search form
Sometimes, the number of search results can be considerably large, such as when searching for an article in an online library. In those cases, users must use accurate keywords to avoid getting hundreds, thousands, or even millions of unwanted results. To help
users quickly find what they are looking for, the application can dynamically update the user interface without performing a full postback to display a subset of the search results as the user enters the search criteria in the search form. By doing this, the
user gets instant feedback as he or she types and can refine the keywords immediately based on the returned results; therefore, the search experience is improved.
illustrates a search form in the
Real-Time Search QuickStart
that displays search results as the user types.
The Real-Time Search QuickStart search form
Even though displaying search results as the user types the search criteria can improve the search experience, this behavior can considerably increase the network and server resources demanded by the Web application if a paging mechanism is not implemented.
Thus, a lack of a paging mechanism can reduce the search performance and the overall application performance. To minimize the impact in performance, developers should consider paging the search results. Paging is also useful for users because they are presented
with a small amount of information that can be quickly scanned and can be used to refine the search faster.
When performing search, the server might take a period of time to return the search results. When the search is implemented with a partial postback, this delay can lead to a poor user experience because users have no way to know whether the search is in progress.
To avoid a poor user experience, search forms can include progress indicators. Progress indicators give immediate feedback to the user; therefore, the user knows that the search is in progress and that the results should be displayed shortly.
The purpose of this bundle is to provide guidance on how to build a richer search experience in Web applications using AJAX technologies to dynamically display search results.
What Is a Bundle?
A bundle is a small package of guidance that is focused around one technical concept. The primary purpose of a bundle is to allow users to quickly, conveniently, and easily learn and evaluate a concept.
Although a bundle can contain any type of guidance, a bundle typically includes the following elements:
- Source code. This includes QuickStarts or reference implementations and related artifacts.
- Binaries. These include application block binaries that are required by the QuickStarts.
- Written documentation. This includes the bundle description and How-to topics.
What Is in This Bundle?
The Search Guidance Bundle contains the following elements: