Improving Search Suggestions – Part 4

One of the things I like about Google's Chrome browser is the simplicity of the user interface. It has only a few icons and some of the standard interaction have been combined. As the web grows in complexity there will be a need to continue to develop elegant ways to combine functionality in a way that is intuitive and does not require a lot of learning and remembering.

One of the interesting new ways to access web functionality is the Ubiquity add-on for Firefox. This add-on lets a person navigate and mashup content through an auto suggestion text box interface. For example when a person selects content on a page and presses Ctrl + Spacebar they get a pop-up with some basic suggestions and access to functions that allow them to perform a number of actions like emailing, translating, twittering, searching, or mapping the selected text. Ubiquity also lets you perform unrelated functions like looking up an email address in your list of contacts.

Ubiquity pop-up when text is selected. image

Ubiquity pop-up with selected text and 'T' entered
image

The fundamental basis of Ubiquity is that you can use language to perform actions. So to twitter something on a page you can select the appropriate text on the page, press the Ubiquity short cut key, and start to type "twitter". Entering "tw" is all it takes.

This sounds great, but one of the possible problems with this design is the "out of sight - out of mind" cognitive barrier.  While I installed Ubiquity several months ago I have not used it until I started writing this article. I even had to look up the short cut key to launch it. It just does not occur to me to use it.

Ubiquity can do a lots of things and the functionality will continue to expand, but how will I know what it is I can do? To find a list of my currently installed functions, I can either enter keywords like Twitter, but that's a lot of exploration. The alternative is to type help and then navigate to the list of the functions that I have installed. A user interface that depends on recall rather than recognition tends not be as usable or learnable. Using Ubiquity is like going to a site with only a search box vs a site with links, tabs, and buttons. The search field can work well for finding specific content, but I can't even see what the content might be.

One way to increase Ubiquity's visibility would be to use some of the concepts presented in the previous posts on improving search suggestions. Rather than using a separate pop-up, Ubiquity could be combined with what I call the Search/Command Portal field that combines the use of function key for quick choice selection with a layered menu for enabling people to perform a wide variety of searches and actions.

If a person selects text on a page, the Search/Command Portal field could have some type of animation or state change to indicate it's ability to do something with the selected text.  Clicking the field would display a searchable and scrollable list of all the available actions for the selected text.  The key difference here is a list of all actions vs a list that just shows a few default actions or only the actions starting with a particular letter. The use of the web is based on a combination of navigating and searching where some actions are based on selecting visible options and others are based on searching for terms that may not be visible.  It seems that providing a visible and scrollable list provides user with the opportunity to either search or browse the list to learn the options.

Share
Posted in Ideas | Leave a comment

List Filtering the Kayak.com Way

When a list is long it is nice to have some way to conveniently filter out just those things that most interest you. Kayak.com, the travel site, has found a way to present filtering options that are easy to use and gives you a good sense of what's getting filtered out and what's remaining. The following screen capture shows the how Kayak uses simple checkboxes to quickly filter out airlines and number of stops. To make the airline filters more meaningful Kayak shows the best price each airline offers.

The sliders are particularly useful for showing the flights within a specific time range. This lets you set a time range that is broader than the typical morning, afternoon, or evening choices on other airline travel sites. To kept the scale less clutter, Kayak shows the time range and day below the scale..

image

Kayak not only excels at providing easy and meaningful ways to directly filter lists, but also excels in methods for summarizing the content in lists. The following screen shot shows their matrix view of car rentals. The presentation make it very easy to compare prices by company and vehicle size.

image

If you have booked a flight online, you know that the cost of flights varies with the day of the week. Trying to find the best price for a planned trip can sometimes be a matter of changing the dates and waiting for the updated list of flights and prices. Kayak solves the problem by presenting a time chart view of the best and average prices. This lets you quickly find those dates when prices will be best.

image

Finding the information you want can be very arduous and time consuming. Kayak.com has show a way to give it's user a sense of control of the mountains of information about travel and accommodation choices.

Share
Posted in Design | Leave a comment

Filtering Lists for Quicker Results

In many large corporations the people and processes for maintaining Intranet content are often not part of the Information System group and therefore tend to organize content in way that can best be entered with a WYSIWYG web page editor. Consequently information that could fit into a data table structure sometime tends to be organized into many pages that contain filtered views of the data.

Here is a very simple JavaScript function that can be used to create a user filterable table that also lets a content author enter and maintain data in their familiar WYSIWYG editor.   Some possible uses for this include:

  1. List of forms used in the corporation.
  2. List of the people or groups that can be contacted about various processes, such as the people who are responsible for the various software systems.

HTML

   1:  <TABLE border="0" cellpadding="2" cellspacing="0" id="dataTable">
   2:  <tr><td>Last Name<br>
   3:  <input name="textfield" type="text" size="10"  onKeyUp="filterTbl(this.value,0)">
   4:  <td>First Name<br>
   5:  <input name="textfield" type="text" size="10" onKeyUp="filterTbl(this.value,1)">
   6:  </td>...

The second variable in the function call onKeyUp(this.value, 1) indicates the column number used for the search where zero is the first column.  

Javascript

   1:  <script type="text/javascript">
   2:  function filterTbl(sval,col) {
   3:      var stbl = document.getElementById('dataTable');
   4:      var row = stbl.getElementsByTagName("tr");
   5:      var rows = row.length;
   6:      var val = sval.toLowerCase();
   7:        for (var r = 1; r < rows; r++) {
   8:        var cell = row[r].getElementsByTagName("td");
   9:            var lowtxt = cell[col].innerHTML.toLowerCase();
  10:          if(lowtxt.match(val) == null )
  11:              row[r].style.display = 'none';
  12:          else
  13:              row[r].style.display = 'table-row';
  14:          }
  15:      }
  16:  </script>

 

This is a very simple function that matches on any text in a table cell containing the entered value. Here is a simple example using a table of 100 US Tax forms.

If you need something more powerful that includes sorting, the TableFilter jQuery plugin might meet your needs.

Share
Posted in Code | 3 Comments

Corporate Intranet Searches

The previous posts described a design for a single entry point web content search feature. The same design could also be used in a corporate Intranet for searching corporate web applications, such as a personnel directory or list of forms. The following diagram illustrates how a single search field might accommodate both Intranet and Internet searching.  

image

If a corporation has a lot of searches, then the single access search could be layered as described in the previous posts. Depending on how a corporations searchable content was accessed, it may be possible to implement the single access search field in JavaScript or a JavaScript library like jQuery and the jQuery Hotkeys plugin.  

Share
Posted in Ideas | Leave a comment

How To Design The Perfect List

Here's a link to a recent post showing examples of list designs.

" Lists are a beautiful way to display content and information in a very easy to scan, easy to read method. Lists are found on most blogs to list posts, comments, tags, or links. In this post we will be exploring the modern practices of lists as an element of web design and I will be showing you how to design better lists to add to the overall design of your site."

Share
Posted in Design | Leave a comment

Improving Search Suggestion Interaction – Part 3

In the previous post I presented an idea for letting a person quickly select specific types of Google searches from the Google Internet search field. But Google searches may not give me everything I may possibly need. What can we do to provide a single access point to search for anything we may want, including the files I have on my computer?

While finding things on my computer is not something I can do from a web browser it is something I can do from the Google or Yahoo desktop. Using this type of software we could add yet another layer to the function key selectable search types. Using my desktop search field I might see something like this:

image

Selecting F2 - Files may then give me something like this:

image

If I start typing something, the search will display matching search suggestions for any file type, but if I press F6 search, I will only search music files. 

While this single place to search adds more layers to the search experience, I think the advantage of being able to start from one consistent place will outweigh the disadvantages of having to drill through several layers of search type suggestions.

Share
Posted in Ideas | Leave a comment

Improving Search Suggestion Interaction – Part 2

In my previous post I presented an idea for improving search suggestion interaction for Internet search engines like Google and Yahoo.  But it would be nice if our search could somehow incorporate a broader set of searches that people might want to perform. For example within the Google properties there are a number of web applications that have their own search. For example to search my gmail account I need to go to gmail. The same applies to Google Docs and Calendar. Google also offers content specific searches for news, finance, images, blogs, video, maps and shopping to name a few. If I want to use one of these searches I need to go to the page where that contains the content specific search field. Being able to make a wide variety of searches available in one location would help to make searching more useful.

So how could be do this in a way that makes all these options visible and obvious to use? Borrowing from the idea presented in the previous blog post, let's assume that when I clicked on the Google search field I automatically got a dropdown list that looked like:

image

At this point I could just begin typing if I wanted to just use the Google Internet search and the list would be replaced by the search suggestion list. I could also press F1 to search the emails in my gmail account. The search function could also be code to directly act upon a function key so that I would not have to click on the field to display the list. Instead I could press F1 to put focus on the search field and perform a gmail search.

Share
Posted in Ideas | Leave a comment

Improving Search Suggestions Interaction

The search term suggestion feature of Google and Yahoo has recently emerged as a useful technique for helping people find what they want.  The major browsers are getting into the act by providing search suggestions in the browser location bar. Google Chrome, for example, makes suggestions based on previously visited sites and the Google search suggestions. It looks like search suggestions are here to stay and we will likely see an evolutions of ideas for improving the way these work. This article will explore the advantages and limitations of  some of the current search suggestion features and present an idea for improving the search suggestions experience.  

One of the strengths of the search suggestions design is that for the web search pages it simply appears when a person starts to type. It's not a hidden feature that people need to know how to activate. By contrast the browser location field search is a little less obvious since it is not an element that people would tend to use very much. It's something that they would need to learn about and since people tend not to be good about reading instructions on how to use software, we may not see the browser's auto-search feature become as widely used as the web page versions.

While the search suggestions are useful for helping people to make searches more exact, there is not an highly obvious way to select and  add more keywords to a suggestion. In a situation like this many people will tend to resort to using the mouse to select an option. If they want to add more keywords they may tend to type the additional characters which would then trigger the display of additional keywords.

While I had previously discovered that a suggestion can be selected from the keyboard using the up and down arrow keys it was only in the process of writing this article that I discovered I could use the right arrow key to get additional detailed suggestions based on the selected suggestion. For example the following screen capture from a Google search illustrates the suggestions when  I entered "jqu", used the down arrow key to highlight "jquery autocomplete", then pressing the right arrow key. This put the term "jquery autocomplete" in the search field and updated the suggestions with additional keywords. While this is a great feature it took a concerted effort to discover it.

image

So is there a way that we could make this feature more obvious and quicker than having to press the down arrow key multiple times and then remember to press the right arrow key to select but not search on the suggestion.  It just so happens that most keyboards have whole row of little used keys that could be used to select one of the suggestions. I referring to the function keys.

It's possible to dynamically assign function keys to each search option so that when I press the function key the selection would be placed in the search field and the additional suggestions would appear. We could make the function key obvious by adding the function key name before the suggestion. For example:  " F8 jquery autocomplete" Pressing the function key would put "jquery autocomplete" in the search field and display the suggestions with the additional keywords. I could then either press the enter key or search on just "jquery autocomplete" or press F10 to selected "jquery autocomplete documentation" 

image

This use of dynamically assigned function keys to search suggestions means I can search for 'jquery autocomplete documentation" in as few as 6 key strokes. This compares to 19 keystrokes using the arrow keys.  Showing the function key in front of the search suggestions also makes it considerably more obvious that the arrow keys. This would mean disabling the browser's use of function keys during a search, but it would be a small price to pay compared to the advantages of using the function keys in a search.

Share
Posted in Ideas | Tagged , | Leave a comment

Table Design Study

A study, that was summarized in the Human Factor International UI Design Newsletter – February, 2004, compared various table designs with no gridlines, only horizontal lines, only vertical lines and both horizontal and vertical lines.  The researchers found participants were roughly 25% faster in comparing target data pairs in tables that had either no gridlines or had both row and column grids

Wu, J. and Yuan, Y. (2003) Improving searching and reading performance: the effect of highlighting and text color coding Information & Management, 40, pp. 617–637.

Share
Posted in Usability | Tagged | Leave a comment

Usability of Zebra Stripping

According to a published study that appeared in A List Apart  on May , 2008 zebra stripping in tables neither increases or reduces the speed and accuracy of finding information in tables. However 46% of the participants liked zebra stripping.

Share
Posted in Usability | Tagged , | Leave a comment