Introduction to Sherlock Channels

The Sherlock application provides Macintosh users with a powerful tool for searching the Web. Users access different types of information in Sherlock through channels.

Prior to Mac OS X 10.2, channels in Sherlock were implemented as plug-ins that the user (or Sherlock) downloaded from the web and installed locally. These plug-ins provided a mapping for Sherlock to use in interpreting search results from an online source. The Sherlock application then merged the results from multiple sources and displayed them in a unified interface. Beginning with Mac OS X 10.2, Sherlock uses a powerful, new model for channels that gives channel developers more flexibility in how their data is displayed.

Organization of This Document

Sherlock channels provide a way to organize search results in a more intuitive and useful way. A channel implements a front-end interface for a Web-based search engine or other information database. However, unlike most browser-based searches, channels display the results using an Aqua interface and are capable of dynamically updating information.

Although it might seem like using Aqua to display search results would be a lot of work, Sherlock provides a significant amount of infrastructure to simplify the code required for your channel. Sherlock provides infrastructure for running the interface, dispatching events, managing network connections, parsing XML, and executing script code is transparent to the channel developer. With this infrastructure in place, channel developers are free to concentrate on the appearance and custom behavior of their channel.

This document describes how to create and manage a Sherlock channel and how to load the channel from a web page.

This programming topic contains the following articles:

For more information about Sherlock, and to obtain a copy of the Sherlock SDK, please visit the Sherlock Channel Development page: http://developer.apple.com/macosx/sherlock/.

Limitations

The channel architecture described in this document is available only versions of Sherlock that shipped in Mac OS X 10.2 or later. You cannot create channels for earlier versions of Sherlock using this architecture. If you want to build channels for earlier versions of Sherlock, you need to use the Sherlock plug-in architecture described in Technical Note TN1141: Extending and Controlling Sherlock.

The Sherlock channel architecture uses XML and supports the use of the JavaScript and XQuery languages for writing script code. Developing your channel interface requires Interface Builder with the Sherlock palette installed.