Blog

Search Mac and iOS Documentation From Chrome's Omnibox

Friday, February 25, 2011

Earlier this week, the Chromium Blog announced an official extension API for Chrome's omnibox (search bar). I've always loved keyboard driven interfaces — the command line, Quicksilver, Alfred, etc — so, I immediately started thinking about what I could build with it.

My first idea was a documentation browser for Apple's Mac and iOS libraries. I'm always googling for class and framework names as a way to quickly jump to Apple's documentation site. The problem is that many times the developer.apple.com link is buried down the page, which means I waste time scanning for the link rather than just hitting return for the first search result.

This extension solves that problem by allowing you to type "ios" or "mac" followed by a keyword. It then presents and auto-completed dropdown of matching search results which take you directly to the relevant page on Apple's documentation site. Here's a screenshot after typing "ios UIImage"

Sample iOS Chrome Search

For those among you wondering how I'm searching the Apple docs, I caught a lucky break. Apple's Mac and iOS reference site includes a small search box that autocompletes your queries. I tried sniffing the network traffic to see what web service they were using for suggestions (hoping to hook into that myself) but found they were showing search results without sending any data over the wire. A little more digging and I realized they were pre-fetching a dictionary of results as a giant JSON file on page load. With that data — and a sample Chrome extension courtesy of Google — it took no time at all to connect all the pieces and get the extension working.

If you'd like to install the extension, just click here for Mac and here for iOS. You're also welcome to download and improve the code yourself from the GitHub project page.