Creating Mac OS 9 Sherlock Search Channels

In Mac OS 9, Apple’s Sherlock 2 revolutionized desktop and web searching by introducing "Channels"—tabbed, thematic interfaces dedicated to specific topics such as shopping, news, and people. Users were not restricted to Apple’s default offerings; they actively built custom channels and shared them with the broader Mac community. This article outlines the architecture behind Sherlock 2 channels, the creation of custom search plugins, and the straightforward file-based methods users relied on to distribute their custom search tools.

The Architecture of Sherlock Channels

Sherlock 2 operated as an early web aggregator. Rather than opening a web browser to navigate different search engines, Sherlock queried web servers directly and rendered parsed results inside a brushed-metal interface.

Channels were essentially collections of search plugins organized into distinct categories. Each channel had its own interface layout tailored to the type of search being performed. For instance, the Shopping channel included columns for price and availability, while standard web search channels prioritized page titles and relevance percentages.

Creating Custom Search Plugins (.src Files)

The foundation of any custom channel was the search plugin, stored as a file with the .src extension. These were plain text files written using a markup format developed by Apple.

To create a plugin, users followed a specific structure:

  1. The <search> Tag: Defined the primary parameters, including the search engine's query URL, the HTTP method (GET or POST), and the target route.
  2. The <input> Tags: Specified the parameters sent to the server. This included the search box variable (e.g., name="q" value=$user) along with any static form variables required by the remote server.
  3. The <interpret> Tags: Dictated how Sherlock parsed the returned HTML. Users defined boundary tags such as resultListStart, resultListEnd, and itemStart to isolate search results. Regular expressions and delimiter strings were used to map titles, URLs, and descriptions into Sherlock’s interface columns.

Users routinely created these files using simple text editors like SimpleText or BBEdit.

Assembling a Custom Channel

Once the necessary .src files were written or gathered, users assembled their channels directly through the Sherlock 2 interface:

  1. Select Channels from the menu bar and choose New Channel.
  2. Enter a name for the channel.
  3. Choose a channel type (such as Searching, People, or Shopping) to define the layout and result fields.
  4. Select an icon from the built-in library or paste a custom icon from the clipboard.
  5. Drag and drop the relevant .src plugins into the newly created channel window.

Sherlock immediately updated its interface, adding a new icon to the top channel toolbar.

Sharing Channels Among Users

Sharing channels in Mac OS 9 was simple due to the transparent organization of the classic Mac OS file system. Channels were stored in the following directory:

System Folder : Internet Search Sites

Inside this folder, each channel existed as a subfolder containing its respective .src plugins and icon resources. Mac OS 9 users shared custom setups through several methods:

  • Distributing .src Files: Power users often shared individual search plugins. Recipient users simply dragged the .src file into their existing channel folders or dropped it directly onto an open Sherlock window.
  • Archiving Full Channel Folders: To share an entire channel, users compressed the specific channel folder using StuffIt Deluxe into .sit archives. When another user expanded the archive and placed the folder into their own Internet Search Sites directory, Sherlock automatically recognized the new channel on its next launch.
  • Community Repositories: Enthusiast websites, user groups, and archives hosted hundreds of community-built plugins for specialized databases, regional news outlets, and niche forums, allowing Mac OS 9 users to quickly build highly customized research hubs.