Search Service

From MozillaWiki
Jump to: navigation, search

Please comment in the Talk page (use the Discussion tab above)

Tracked by: bug 317107

Goals & Objectives

To create the simplest, most efficient search experience for users. Adapt to the user's search needs, rather than forcing a particular view of search on them.

Create a simple, flexible system that unifies all search back ends, presents a common management infrastructure, makes adding keywords easy and more obvious, allows for engines to be added and removed easily when upgrading and allows for simple configuration for business needs.

Planned Milestones

Firefox 2 Alpha 1

  • Functionally equivalent JS-implemented search backend (nsISearchService)
  • Seamless search plugin migration

Firefox 2 Alpha 2

  • Search plugin updating system
  • Bookmarks keywords migration
  • UI Changes and refinements (engine ordering/management UI)
  • Search auto-detection
  • Web addition API


  1. Improve the general usability of front line search in Firefox: the search bar.
  2. Provide a consolidated search engine management system for the entire application that is easily updateable, trackable, and more usable for users.
  3. Utilize parseable formats to store engine metadata.
  4. Improve search engine discovery and addition user experience.


Basic Issues

There are a couple of basic usability issues with the Firefox search box: it is not necessarily obvious to an IE user what it does (aside from the search engine logo) and how to use it, and it is often too narrow for the sort of queries that users type in.


The Smart Keyword feature is basically undiscoverable, despite its extreme utility.

The default Smart Keywords should be revised to include shorter variants (limited to one or two characters, e.g., 'g' for Google) and much more numerous (Ebay, Amazon). Furthermore, Smart Keywords should be promoted as a prominent feature with the search toolbar being deprecated to non-default status.

Back Ends

Firefox 1.0 and 1.5 feature several different systems for performing internet searches:

  • The Search toolbar field, which includes an engine selector and the mechanism for adding more searches. This is powered by Sherlock .src files and uses the Internet Search Service.
  • The Bookmark "Smart" Keyword feature, which allows you to create bookmarks with parameterized sections, so that the user can then type "kw search_term" in the location bar and be taken to the resulting page.
  • The "Search Web For 'selected terms'" context menu item, which uses a preference to source its query URL.
  • The "DNS Failed" search URL, which searches for the text typed in the location bar when DNS lookup fails. Uses a preference to source its query URL. In Firefox 1.0 and 1.5, this does a Google "I'm Feeling Lucky" search by default.

These individual solutions have their pros and cons. The toolbar is useful but has some peripheral usability bugs, the search plugins are stored in the application directory and there is no easy way for the user to manage the engines they have installed.

All of these search systems use different back ends making them difficult to configure when engine queries or parameters change, and configuration for business reasons is somewhat tricky. Adding new engines with subsequent releases is somewhat simple though, since each engine that shows up in the toolbar menu is a separate file.

Use Cases

  1. Search Bar in Firefox
  2. Keyword in URL/Search Bar
  3. Context Menu Search
  4. DNS Failure Search
  5. Search AutoDiscovery

Plans & Design Documents

API Changes Required

See Proposed Search Service API. The current nsISideBar API will be kept for the addition of Sherlock plugins from Web content.


Replacement of .src Sherlock Files with XML as the search plugin storage format.


Extensions that alter the search box may have to change. Those that rely on the RDF Search datasource will break.


New engine format for localizations to use. Updating should be simple but tedious.

Discussion & Implications

About the topic There are a couple of basic usability issues with the Firefox search box: it is not necessarily obvious to an IE user what it does I don't think that is valid any more since the new IE which implements this searchbar

Discussion Elsewhere