Search in IE7 RC1

Last time I posted about search I talked about our new extensibility mechanisms: window.external.AddSearchProvider, and Search Discovery.  Today I’d like to talk about enhancements we made since that post, and point you to a tool that you can use to create your own custom providers.

To recap the last post: In Beta 2, window.external.AddSearchProvider gave website authors the ability to put a link on their page to prompt users to add a new search provider.  We locked this call down using logic similar to how we lock down pop-up windows to ensure it would not be abused by bad sites.

Since then we have added a few additional features.

window.external.IsSearchProviderInstalled

Since Beta 2 we received feedback that sites really do not want to show those links for the people who already have their providers installed: similar to how our homepage API works.  To make life better for site authors we introduced a new API: window.external.IsSearchProviderInstalled. A site author can use this API to see if their provider is already on the search provider list and also check to see if it is the default.

In order to protect your privacy we created this API in a way that sites can only ask about providers with the same top level domain.  For instance: site1.com can ask if any site1.com search provider is installed, but cannot ask if a site2.com provider is installed.  For more details on this API please check out the MSDN article.

OpenSearch Referrer Extension

In Beta 3 we did not have a good mechanism to tell search providers whether the query came from the search box or the address bar.  OpenSearch has an extension for this (the referrer extension) and RC1 supports it. 

Here's an example for the following OpenSearch URL:

<Url type="application/rss+xml"
     xmlns:referrer=https://a9.com/-/opensearch/extensions/referrer/"
template="https://www.example.com/search?q={searchTerms}&amp;src={referrer:source?}"/>

If the query came from the address bar IE will replace "{referrer:source?}" with "IE-Address", and if it came from the search box we replace it with "IE-SearchBox" allowing search providers to track which IE 7 entrypoint their search came from.

Search Discovery Sound

If you recall from my previous post, Search Discovery is a feature web sites can use to ‘suggest’ search providers in your search provider dropdown.  When you navigate to a site that supports Search Discovery the search button dropdown will change color, and the discovered provider will appear within the dropdown.  Since we introduced this feature we have seen adoption on various sites around the web.  A great example of a site that recently started supporting Search Discovery is Yahoo! Tech.

In Beta 3 we did not have a fully accessible notification for Search Discovery; we only had the ability for the button to light up.  In RC1 we added the ability to set a sound for this action.  It is off by default, but you can set this sound where you set other windows sounds (the “Sounds and audio devices” properties from the Windows Control Panel).  From this properties dialog select the “Sounds” tab and add a sound to the “Search Provider Discovered” event within the “Program events” box.

Build your own provider

Shifting gears slightly, another piece of feedback that we’ve heard is that people would like to know how to add custom providers not necessarily shown on the Windows Search Guide.  We hope that eventually your favorite site will leverage Search Discovery or AddSearchProvider, but until then you can add a specific provider yourself using this tool.

Have fun, and keep browsing!

Aaron Sauvé
Program Manager

Edit: Added amp; to XML example