Search
Problem
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
1. 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
2. Adding Engines
- Popup menu on form field
Click on engine links, which use nsISideBar::AddSearchEngine
3. Deleting Engines
- A dialogue similar to the exentsions manager UI, listing the installed engines, with Delete button
4. Editing?
5. 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
6. Defaults
Note: Can we include site icons for search engines (copyright)
All the below should be localised:
- 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.