It’s over a year since I raved about DEVONagent here in TidBITS, and my enthusiasm for what the program does has not waned. DEVONagent uses existing search engines to perform an Internet search, but then goes further, filtering out unwanted hits in response to the details of your query, and loading the text of the found pages into its own database, where they are word-indexed and ranked to improve your chances of finding the information you’re seeking.
DEVONagent 2.0 offers many small tweaks to make it an even more exacting seeker of knowledge than before. Your initial query can be accompanied by a secondary query, which DEVONagent performs on the downloaded texts. (Oddly, however, you cannot impose the secondary query after viewing the results of the initial query.) Texts in individual languages can now be intelligently sought. Automatic actions can be performed upon completion of a search, such as Growl notification (useful because searches can be lengthy); previously, such actions were possible only after scheduled searches. A Dashboard widget lets you initiate a search quickly. Topics extracted from the commonly used terms in the found texts are displayed not only as a ranked list but also as a network diagram.
That’s the good part – there’s no question that DEVONagent 2.0’s new capabilities enhance an already useful and helpful program. But despite these functional improvements, DEVONagent’s interface remains clumsy, riddled with jargon, and difficult to customize.
At the heart of DEVONagent’s functionality are its Search Sets, which despite the name are not "sets" of anything; they are the instructions for performing a search. So a DEVONagent user’s most basic needs are to understand what a Search Set will do and to create a new one. Yet both are nearly impossible.
To learn what a Search Set will do, you open the Search Sets window by choosing Tools > Edit Search Sets… (Why not Window > Search Sets? And the window isn’t a modal dialog, so what’s the ellipsis for?) But you still don’t know what the search will do, because the heart of a search are the "plugins" it uses; these contain the instructions as to what URL will be created from your search terms and how the resulting page of links will be parsed. So you switch to the Plugins tab of the Search Sets window. Here, you are not shown just what plugins this Search Set uses; instead, there’s a list of all 130-plus plugins, and you must hunt for which ones are checked – not easy, because the plugins are arranged hierarchically, so you have to keep opening disclosure triangles, manually. But you still don’t know what each plugin actually does, because DEVONagent provides no interface for displaying this information. Instead, you must open the DEVONagent application bundle and read an embedded XML "plist" file. These files are the heart of DEVONagent’s functionality; yet the program gives you no interface for viewing and understanding them!
As for creating your own plugin, so that you can make a customized search – well, I tried, and found the instructions so impenetrable and the process so clumsy (you have to create the file using Property List Editor, and you must keep quitting and restarting DEVONagent to test), that in the end I gave it up. Lucky for me that DEVONagent already includes plugins for the search pages I use most. Unfortunately, they don’t all work perfectly; I was trying to fix the TidBITS plugin, which in response to a search "neuburg applescript" failed to find my recent "Notes from the AppleScript World" article. (DEVONagent searches of TidBITS don’t work at all now in any case; we’ve blocked them because they tended to overstrain our archive server.)
Even these problems could be ameliorated by an excellent manual. Unfortunately, DEVONagent’s manual remains opaque; it is stingy with examples and reads as though English were not the author’s first language. Take, for example, these inscrutable words describing part of the search query syntax:
"DEVONagent ignores parts of query terms inside square […] brackets. This is useful for scanning to titles or authors inside some databases, e.g., PubMed or Nucleotide. Example: name[Author]word[Title]"
Such faults were forgivable in early versions, but with a 2.0 release, I would hope to see a more streamlined, discoverable interface, backed by a solid manual. And if the upgrade were free, it would be easier to overlook the problems. But this is a $20 upgrade, along with a price hike: the program is now $50, up from $35 previously. In my view, the increased price, clumsy interface, and unhelpful manual are potentially serious obstacles. The best thing, however, is to download the demo (a 5.7 MB download) and decide for yourself. Mac OS X 10.3.9 or higher is required.