Indexing and Auto-Detecting Browser Extensions on the Web

Myk Melez

Making the case

Browser extensions provide users with features and functionality beyond the reach of simple web pages, yet most users are unaware of their existence. Why is the visibility of these powerful browser features limited to a narrow set of consumer channels? Surely users who travel frequently would appreciate real-time weather feeds from WeatherBug, right? What about users concerned with privacy and security, wouldn’t they find Web of Trust helpful in navigating the web? I believe we should do more to expose this awesome, user-empowering technology, and over the last few days I have been thinking about how we might accomplish this.

Visibility of extensions on the Web

What if site operators could introduce extensions to users with a simple HTML tag? What if search engines crawled the web, found these tags, and index them just as they do with other forms of web content like videos, images, and documents? Using the established, successful content delivery model of the web crawler, we could turn search engines into powerful mechanisms for extension discovery. If this were the case, the visibility of extensions would swell beyond any current measure of distribution.

How it could be done

Using a simple HTML link tag standard, a web page could explicitly tell crawlers about extension(s). Pairing an extension tag standard with browser support for auto-discovery, users would be able to find extensions for their browser with any search engine and install them instantly.

An extension-specific link tag

˂link rel="extension" type="application/x-xpinstall" title="Power Twitter" href="https://addons.mozilla.org/downloads/latest/9591/addon.xpi"˃

If the web community pursued this idea, how might a developer associate information other than a title with the extension? My initial thought was that the developer could specify a few specific custom attributes on the tag like image, description, etc. I didn’t include any custom attributes in the example tag above because I was looking for community feedback on the subject.

Browser auto-detection and discovery

Browsers could use the same extension tag standard to provide users with UI mechanisms that inform them about extensions found within content. The addition of browser-based extension auto-discovery is another key element in accelerating extension adoption on the web. Here is a test implementation of how this could work in a browser (Fx 3.6+, and if you’re using mac it may look ugly, sorry!)

  1. Install the test implementation (a Jetpack-based Firefox extension): Install me!
  2. Visit these two test pages that have extension-specific link tags on them: