Searching is an important part of the web with a huge range of varied searches from Google to eBay. Users expect to have easy access to be able to search using a range of their favorite engines. They also expect to be able to easily add a new search engine easily and to be able to delete existing engines.

Current Implementation

Search is currently handled by Smart Bookmarks which were inherited from Galeon. These are addresses with "%s" as a special string. This causes a text entry "Bookmark name: [ ]" to be shown on the bookmarks toolbar. Whatever is typed here replaces "%s" in the URL. Smart bookmarks are managed as normal bookmarks. Smart bookmarks are also listed in the address entry drop-down.

Other Implementations

Problems with the Current Implementation

  • The user must have a basic understanding of URL encoded arguments
  • If users want multiple search engines, a lot of space is taken up on their toolbars
  • It's not obvious how to add a new search engine

Design Specification

We need to decide:

  • How search engines will be shown in the UI
  • How the user will add arbitary search engines
  • How the user will delete search engines
  • Whether the user should be able to edit search engine properties
  • Whether we should support search history like Firefox, and if so, how
  • What default engines to include

Showing and Using Search Engines

The current method of showing different textfields for each entry seems fairly clunky compared with Firefox's combination text entry/drop down list. I think Firefox gets this right down to the site icons. If there is only one item, it should appear as a normal item in the toolbar editor (as with Firefox). -spark

Adding Engines

  • Popup menu on form field
  • Click on engine links, which use nsISideBar::AddSearchEngine

Deleting Engines

  • A dialogue similar to the exentsions manager UI, listing the installed engines, with Delete button


Search History

I'm not sure that this element is nessecery and it adds a lot of complexity with being able to delete entries/all entries for privacy. -spark


Note: Can we include site icons for search engines (copyright)

All the below should be localised:

  • Google
  • Google Local
  • Amazon
  • Wikipedia
  • eBay
  • IMDB

Rationale: there is minimal duplication above and all are well known brands in the top 100 most visited sites. It is likely that a reasonable proportion of users will be happy enough with this default list that they won't need to add any more.

For non-english languages, a dictionary may be useful as gdict is reportedly not very good in that area.

Apps/Web/Development/FeatureDesign/SearchWeb (last edited 2013-12-11 10:59:18 by WilliamJonMcCann)