Over a million developers have joined DZone.

A Good Example of Bad Search Design

DZone's Guide to

A Good Example of Bad Search Design

· Java Zone ·
Free Resource

Get the Edge with a Professional Java IDE. 30-day free trial.

The United States government procures most of its goods and services through competitive bidding. The notices of its requirements are posted on a centralized website called FedBizOpps, www.fbo.gov. Contracting officers and liaisons of government agencies to private sector providers recite from rote the message that everyone should search for opportunities on FedBizOpps. Yet, the system is an abject failure for providing adequate search, requiring private sector providers to needlessly scour irrelevant and numerous postings to find information which may be pertinent to their abilities. Consequently, the right opportunities are not provided to the right providers, which means that competition is not optimal, the government doesn’t always get the best providers, and it often winds up paying more for less quality.

Let’s take several examples of the inadequacy of search and examine them in detail.

* No document searching

Here is a posting of Solicitation Number FA8771-12-R-1013 for the Air Force. The Air Force needs a search engine. From this page, all you can tell is that the Air Force needs a search engine. What if you provided an image search engine? Does this requirement pertain to you? Looking at the attached document reveals that the Air Force is looking for a full text search engine to index millions of documents and provide in-document searching (which, ironically, FBO does not provide). One specific requirement is Boolean search. What if you were a provider who had a great Boolean search and wanted to find requirements of the government that had the term Boolean search?

We would have to search FBO for the term. Below is the search interface provided on the home page, with no links to an advanced search capability.

Typing in “Boolean Search” in the keyword box leads to the following result page:

However, we know that Boolean Search is in the RFI; it’s highlighted here.

Therefore, the search functionality of FBO does not include the attached documents, which is often how contracting officers actually post their requirements. Rarely are full requirements posted on FedBizOpps; instead, theychosen fac are placed in attachments or on links to other websites which FedBizOpps does not index.

* Does not account for misspellings

FedBizOpps does not account for misspellings, either on the part of the searcher or the part of the content provider. It asumes perfect spelling on both parties’ parts, which is a bad assumption.

Let’s take the example of a couple of commonly misspelled words in the English language.

First, let’s search for the term “calender.” A system with an appropriate misspelling cross-reference would understand that the term provided is the misspelling of “calendar” and adjust appropriately. Instead, the user gets a paucity of results.

The problem is worse if the content provider misspelled calendar as calender and the searcher was looking for the properly spelled term. It wouldn’t show up.

Another example of a commonly misspelled word is jewelry. It’s often misspelled as jewelery. Searching for the properly spelled term yields 12 results.

Misspell the term, and there is no love from FedBizOpps.

* No facets, poorly chosen facets on advanced search page

A well-designed search system should allow a user to filter out results directly from the search page rather than needing to flip back and forth between search query pages and search results pages. For example, the term “ruby” is ambiguous. Is it the programming language, the mineral, the color, or something else? Allowing for faceting in the SERP would, with a couple of clicks, allow the searcher to narrow down on the desired type of ruby. Instead, the searcher is required to look through a panoply of results and required to flip back and forth with the advanced search page, hopefully not losing the context along the way.

The advanced search page has many of the facets that someone searching might require, but they also require significant domain specific knowledge, which raises the bar for someone who wants to provide goods and services to the government. The government’s goal should be to make it easier to provide goods and services, thereby reducing costs, not to make it more difficult to do so.

How about collapsing some of these “facets”?

Oftentimes, the information provided to FBO is simply incorrect. Take the following notification I received recently. Apparently, someone in the government thinks that a pallet rack pad is a piece of technology.

Chances are if I provided pallet rack pads, I’d not be searching in classification code D.

* No context in search results

Since the SERP does not provide the context around which the search terms appear, the only to determine if there is applicability is to read the title and hope that the title gives appropriate contextual clues. Oftentimes, the title of the post is insufficient to relate any useful information. See the example below.

You’d never be able to guess from the title that this is a RFI for information technology support services. You’d also never know from the information available to the FBO system that it was for website maintenance in a .NET 4.0 system.

It is clear from even a cursory examination that the FedBizOpps search system was designed several years ago, and does not account for the use cases of current users and that does not account for even the most common edge cases. Because of the poor search user experience on FedBizOpps, it is difficult for providers to find opportunities where they can provide goods and services to the government, and the federal government misses out on getting as broad of a pool of potential vendors as possible because oftentimes the message misses the target.

FedBizOpps is long overdue for a radical overhaul and redesign. Whether it will or not is a doubtful question.

How else can FedBizOpps improve its search? Join the discussion and comment below!

Get the Java IDE that understands code & makes developing enjoyable. Level up your code with IntelliJ IDEA. Download the free trial.


Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}