Monday, March 7, 2011

Smart Search Component

Good software has the following goals:

  1. Define the correct business process. Newbie will be told by the software how to do some job successfully.
  2. The software should cover all types of users. It is fine that the experts and professionals like to use the software. But it will be great if the beginners find that the software supports their work.
  3. With the support of the software, the work speed must be accelerated.
  4. The software must be user friendly.

The first point depends on the business process and should be done in the business module of the software. This is beyond the topic of this document. The other points belong to the framework and will be talked here.

Smart Search Component

A good example of solving these problems is building a powerful search engine. This search engine will provide the appropriate support for different types of users.

Let’s use the search field as example.

The coordinate system in figure 1 shows the relationship between different search features and different user types.

Figure 1

The X-Axis describes the different user types, from beginner to professional. The Y-Axis describes the search features that are provided by the search field:

  1. “Search dialog” means a search dialog will be opened. The user can input some text for building a search criterion. This feature is the slowest search solution but very friendly for the beginner since the beginner knows nothing about what he should enter.
  2. “Content Assist” means some relevant content will be shown, for example, in a popup window. User can then select the wished content. This feature is very useful for the intermediate user who knows something about the content but not exactly. The content assist will help him getting the wished content quickly.
  3. “Autocompletion” means the content will be automatically completed when enough information is entered. This feature will be used by the professional who knows exactly what he wants to enter and does not need any support of fussy search. This search solution provides the fastest speed for enter information, but force the user knowing the content exactly.

As you can see, with these three different search features, different user types will be covered by the software. Each user type has an appropriate search feature. The same work should be done successfully by all these different types of users. The only different is that the beginner will need much more time than the professional. But while the beginner grows, he will begin to use the other search feature and his speed will be accelerated.

This example shows us a good designed search field will solve all three points mentioned above:

  1. With different search features for different user types, we have covered all types of users.
  2. With the support of search engine, the work will be accelerated.
  3. Any type of user gets an appropriate search feature, this make the software user friendly.


autoCompletion

Content Assist

Dialog Search