An Internet Search Tool for the Newton
...Make your own personalized Yahoo Movies plugin for Hemlock!

Hemlock searches multiple internet search engines, news organizations, shopping centers, even top-ten lists using for user-specified search terms, putting the results in a scrollable list similar to the results in the Newton's Find panel. To search the web, Hemlock uses Apple Computer's Sherlock™ plugins. Hemlock is free.

Table of Contents

  1. Hemlock Requirements
  2. Migrating from Hemlock 1.2.2 to Hemlock 2.0b1 Important!
  3. What's New in Hemlock 2.0b1
  4. Stomping the MP2000/Emate300 Internet Hang Bug Important!
  5. Known Bugs and Issues
  6. Download Hemlock
  7. Using Hemlock
  8. Using Hemlock from Newt's Cape
  9. "Where do I get plugins?"
  10. "Why 'Hemlock'"?
  11. Hemlock Reviews
  12. Writing Hemlock-Friendly Plugins
  13. Odds and Ends

Hemlock Requirements

Hemlock does not do its own web page and search engine fetching; instead, Hemlock relies on Newt's Cape to do this low-level work for it. Hemlock will not work without recent versions of Newt's Cape. I don't currently plan on writing one that works with either NetHopper or LunaSuite, sorry. It goes without saying that Hemlock needs Newton OS 2.0. I have tested Hemlock extensively on a MessagePad 2000, but only just a little on an MP130 and MP120.

Migrating from Hemlock 1.2.2 to Hemlock 2.0b1

Hemlock 2.0b1 is an early release version. After the beta period, 2.0b1 will be updated to 2.0. I don't think there are many unknown bugs (if any) in 2.0b1, but it is bleeding-edge software nonetheless. Please test it and let me know.
  1. Replace your old default search engines with the new default ones. This doesn't mean just pressing "update" -- delete them and replace them. You don't need to replace non-default search engines probably.
  2. Read the new information on preferences and the information below carefully, and set up your preferences accordingly.
  3. Clear out your old search results by choosing Find:Overwrite Results.

What's New in Hemlock 2.0b1

Stomping the MP2000/Emate300 Internet Hang Bug

A common problem for MP2000s and Emate300s (but not for the MP2100 or for the MP130 or below), is Hemlock and/or Newt's Cape hanging the Newton after a few uses. I believe I've stomped this obnoxious NIE bug through a simple workaround: smaller windows.

The Newton has a special heap called the C++ heap (this is different from the "frames heap" that everyone knows and loves). In the C++ heap is stored the low-level temporary information for the C++ underpinnings of the system. One big consumer of the C++ heap is windows and window redrawing. Another big consumer is the NIE. Now you're beginning to see the problem! The NIE consumes so much C++ heap that closing large windows requires more C++ heap than is available, and the Newton freezes either for a very long time, or more likely, forever. You have to reboot. I was getting this problem regularly with Hemlock and also while browsing on Newt's Cape. Hemlock and Newt's Cape both repeatedly open and close very big windows. NetHopper doesn't have this problem because, unlike Hemlock and Newt's Cape, it opens just one big window and keeps it open.

At any rate, it appears that by making the windows slightly smaller, this problem magically goes away. I've set up a preference for Hemlock which makes its results and text summary windows a little smaller for MP2000s and emates, and have not had any problems since! Steve Weyer will soon release a version of Newt's Cape with a similar feature. Emates have slightly larger screens than MP2000s -- I do not own an emate so I cannot determine if the size I've arranged will fix the problem for emates too. If not, please let me know and I'll shrink it further for emate users.

Known Bugs and Issues

Download Hemlock

Hemlock is designed to work only with recent versions of Newt's Cape. Be sure to upgrade your your Newt's Cape copy. I suggest a minimum of Newt's Cape version 2.0-r.

The German version of Hemlock was localized by Stefan Messmer. The French version of Hemlock was localized by Paul Guyot of PNM Consulting. Please contact them with any localization issues.

If you're having trouble with the Stuffit (.sit) versions, it may be because your Stuffit Expander (or whatever) is too old; these were compressed with recent versions of Stuffit, and a recent Stuffit change is not backward compatible with earlier versions of the program, unfortunately. Upgrade. It's free!

Macintosh plus English Docs
Direct to Newton/PC (.pkg)
Source Code

Using Hemlock

Loading, Filing, Modifying, and Updating Search Engine Plugins

Hemlock does its magic by reading the "plugins" desgined to drive Apple Computer's Sherlock(tm) internet search system built into the new Find File panel in MacOS 8.5. So before you can use Hemlock, you need to load some of these plugins into Hemlock. Hemlock only reads plugins that end in the extension ".src.hqx". Nothing else.

You begin by pressing the "New" button, then entering the URL of a plugin, and pressing "Get". Alternatively you can load a plugin directly into Hemlock via Newt's Cape (see below). After the plugin is fetched, the search engine it represents appears in the list in the main Hemlock window. In Hemlock's main window, you can

Submitting a Query

To submit a query, enter search terms into the "Words" field, select the search engines you wish to query, and press Find. If you want any new search results to overwrite existing results, choose "Overwrite Results", else choose "Append to Results".

Hemlock queries the engines one by one and tabulates the results.

Cancelling Requests and Dealing with Errors

Hemlock makes three kinds of requests to Newt's Cape: loading a new search engine plugin, updating a group of plugins, or submitting one ore more queries. If one or more requests are pending, the "Find" menu changes into a "Stop" menu. Choosing "Stop Job" from the Stop menu will stop all requests submitted to Hemlock, including any that are currently pending.

If an error occurs while processing a request, Hemlock will present you with four options:

If Newt's Cape is not responding to a request, or you for some reason want to skip just that request or retry it choose "Interrupt Job" from the Stop menu. This is similar to creating an error while processing the request, and Hemlock will correspondingly give you three options: retry the request, skip the request and go to the next request, or stop all requests.

Once in a blue moon, Newt's Cape may get really stuck and refuse to process any requests Hemlock tosses its way, no matter what you do. Don't give up hope! You can give Newt's Cape the equivalent of a vulcan nerve pinch (force-quit it if it's running in the background) by choosing "Reset Newt's Cape" from the "i" menu. This also causes Newt's Cape to drop its current HTTP connection and let go of NIE; so if by chance you want a Hemlock to allow NIE to drop without quitting Hemlock, this menu option will also do the trick.

Showing the Results

When Hemlock has finished querying search engines, it will automatically show you the results (unless you cancelled the querying). Or you can show the results yourself by pressing the overview button (the "belly button"). Just like the Newton's Find program...in fact, if you look closely, you'll notice more than a superficial resemblence between the two :-).

Hemlock displays the results in a scrolling list. All the results for a given search engine are shown in the order they were processed from the query; the first item will be a header for the search engine itself.

The search engine header contains the name of the engine, and possibly a short advertisement text (very important to keep search engine companies making plugins!). If you click on a search engine header, you can choose to have Newt's Cape load and display the query as it was presented to the search engine, bookmark this query, export the query information to the Note Pad, or load and display the advertisement's URL link.

How Query Results are Displayed. Hemlock shows the "main text" in bold. If the URL feature is turned on (see preferences below), typically Hemlock will show some additional text to the right of the main text, and also the URL below. To the left of the URL may appear a relevance bar if that information was parsed. This is shown in the example image above. If you click on a query result, you can choose to display a text summary of that result, export the result text and related information to the Note Pad, or have Newt's Cape either load or bookmark the URL for the result. Hemlock can also do some additional tricks for special kinds of search engines:

News: If the date feature is turned on (see preferences below), then Hemlock will replace the URL and additional text with date information, if available, on the second line, as shown here.

Shopping: If the price/availability feature is turned on (see preferences below), then Hemlock will replace the URL and additional text with price and availability information, if availabile, on the second line, as shown here.

If the url feature is turned off (see preferences below), then Hemlock will never display the URL. If no date, availability, or price information is to be displayed, then Hemlock will move the additional text to the second line to show more of it.

The Text Summary Window, and Additional Link Gathering

If you choose to display a text summary, a window pops up which displays a screenful of text. In the top-right corner appears the relevance as a percent value, if any. In the routing menu, you can send the result text and related information to the Note Pad, load the result URL, or bookmark it. If the original text contained images, they are represented in summary text as [foo], where foo is the alt text (if any) for the image. With no alt text, an image appears as [].

In addition to the main link for the item, Hemlock also gathers all other links located inside the item area; the hypertext for these additional links is listed in the "Load Other Links" menu in the text summary window. Choose one of these menu items, and the associated link is loaded in Newt's Cape. For example, the following HTML text snippet is found by searching for "Hemlock Newton" at www.altavista.com, and as parsed as a single item in Hemlock:

2. Hemlock for the Newton
Hemlock. An Internet Search Tool for the Newton. Hemlock searches multiple internet search engines, news organizations, shopping centers, even top-ten...
URL: scruffy.cs.umd.edu:8080/seanl/Newton/Hemlock/index.html
Last modified 20-May-99 - page size 17K - in English
Translate ]


Hemlock provides serveral preferences, accessible from Info:Prefs.

Other Stuff

Using Hemlock From Newt's Cape

Hemlock registers itself as a Newt's Cape helper app for the extension ".src.hqx" and the BinHex MIME type This means that usually you should be able to load a new search engine directly into Hemlock just by clicking on its URL link in Newt's Cape.

Newt's Cape can also be configured to use Hemlock as its Find facility. In Newt's Cape, General:Other Options,

After this, Hemlock will be used as the search mechanism when you choose "Newt's Cape:Find?" in Routing buttons (such as from the Notes app).

"Where Do I Get Plugins?"

I've put together a few Newton-specific plugins listed below.

Here are some sites with lots of plugins for you to browse. Note: Many third-party Sherlock plugin developers put their files in Stuffit (".sit" or ".sit.hqx") format, which Hemlock cannot read.

If you're not American, Apple has special "international" versions of plugins, which have the same URL as the original plugin, plus a special symbol representing the country. For example, the standard American plugin for Excite is http://si.info.apple.com/updates/Excite.src.hqx but various "international" versions include:

The same thing goes for Altavista, Infoseek, Lycos, Encyclopedia (worldwide anyway). If you are aware off other secret international plugins, let me know. BTW, since it's a completely different server and company, I've added Amazon.com UK to Hemlock's standard plugin list.

"Why 'Hemlock'"?

Perhaps this might jog your memory.

Hemlock Reviews

Writing Hemlock-Friendly Plugins

These are notes for plug-in developers only; if you're not creating plugins, you can ignore this section...

Provide a .src.hqx file URL. Hemlock reads only .src.hqx files. Unfortunately, many Sherlock plugin authors have chosen to encapsulate their .src files in Stuffit (.sit or .sit.hqx) archives, so they can include README files and pretty icons for the Sherlock plugins. Stuffit is a proprietary format and Hemlock cannot read it.

Provide good text for your advertisements. Hemlock cannot display GIF or JPEG files; this means that if you want Hemlock to show banner advertisement information, you must provide text as well as pictures. You don't need to say much: Hemlock on a vertically-rotated MessagePad 130 can only show about 40 characters of text per banner advertisement. On a horizontally-rotated Emate 300 (the largest Newton screen), Hemlock can display up to 100 characters of text. Here's how you tell Hemlock to display advertising text:

Writing Hemlock-only plugins. If tons of Mac users are too much for your little newton site, you can write a Hemlock-only plugin, simply by changing your <search ...> tag to <hemlock-search ...>.

Odds and Ends