November 6, 2006

Searchmonkey balances command-line power and desktop ease of use

Author: Bruce Byfield

Searchmonkey, formerly known as Xsearch, is a graphical search tool whose main page describes it as the combining of Beagle's simplicity of use with the exactness of the find and grep commands. With its recent release of version 0.6.2, Searchmonkey has yet to fully match any of these rivals, but shows considerable promise, especially in its potential for encouraging users to explore and learn regular expressions.

According to the documentation, Searchmonkey is supposed to come in basic and expert user modes, but the Debian package installs with the check box for expert user mode already selected and grayed out. However, since the basic user mode apparently lacks support for regular expressions, it sounds roughly comparable to the Find applet for the GNOME panel -- that is, useful, but nothing unusual -- so users are probably not missing much. At any rate, the expert user mode is what makes Searchmonkey worth watching.


Searchmonkey - click to enlarge

Compared to Beagle, Searchmonkey in expert mode is unaesthetic, and may be even overwhelmingly cluttered for inexperienced users at first. However, a closer look reveals a greater functionality. At the top of the window, users enter the text and regular expressions for a search, and can choose a selection of find and grep options, such as the directory in which to start the search, whether to include subfolders, and files' size and last modification times. Search results are displayed below, with file results on the left and text matches within the currently selected file on the right. This arrangement of results is noticeably easier to browse than Beagle's single-pane results. From a file result's right-click window, you can open the file in a text editor or a file manager of your choice -- or "file explorer," as Searchmonkey calls it for some reason -- or delete it from the hard drive. From the main menu, you can also save search results for later user.

Searchmonkey has fewer options than either find or grep, but greater ease of use. Unlike find, it has yet to include options for following symbolic links, setting the directory depth, or designating the file type in the search; unlike grep, it does not allow control of the number of lines before or after that are displayed, or allow binary files to be searched as though they were text. However, Searchmonkey does have a reasonable selection of controls, such as making a search case-specific or setting excluded text, even if the controls are, for no functional reason, divided between the Options tab and the pair of expression wizards available in the top page.

The expression wizards are the strongest feature of Searchmonkey. With one for file names and another for context text, Searchmonkey's wizards open the possibilities of regular expressions to even novice users by allowing them to make choices from a series of drop-down lists. In fact, by making changes to the drop-down lists and observing the differences in the Resulting Expression field at the bottom of the wizard, users can actually teach themselves more about regular expressions. Later, as their comfort grows, they can use the dialogue in the test menu to test the regular expressions that they construct for themselves. Since regular expressions are one of the advantages that tend to be lost in the migration from the command line to the desktop, the usefulness and precision that these wizards make possible can hardly be overestimated. Even experienced users may find that exploring the wizards adds to their knowledge.

Some features, such as printing, have yet to be implemented in Searchmonkey. For modern desktop use, it also needs to be able to search for hidden files, and for contents within files in such formats as OpenOffice.org and PDF.

Still, even in its unfinished state, Searchmonkey is worth a look, if only because it runs counter to some of the most common faults in desktop applications. Too often, desktop translations of command-line tools either represent a loss of power and flexibility, especially for anything more than the most basic of functions, or offer an interface in which the attempt to include everything produces a confusing clutter. The development of Searchmonkey seems an attempt to find a balance between these two extremes. In the current version, that balance is sometimes tenuous or not quite right, but the intent to find it is obvious. I suspect that when Searchmonkey reaches its 1.0 release, it will find its way onto a lot of desktops, including mine.

Click Here!