MacSword 1.2 Released

OS X Bible Program Updated

by David Lang (Posted: 6/10/05)

MacSword, the OS X front end to the open source Sword Project, has now been updated to version 1.2. Enhancements include improved searching, parallel display of Bible texts and commentaries, and the ability to create one's own personal commentary modules.

Improved Searching

Last year, prompted by another reviewer's impressions, I wrote a couple of articles evaluating the speed with which the various Mac Bible programs searched the Bible (see Searching for God in Mac Bible Software and Searching for Jesus in Mac Bible Software). Though the tests conducted in those articles were hardly scientific, MacSword tended to lag behind other programs in terms of search speed, and phrase searches proved to be painfully slow.

With version 1.2, MacSword now features indexed searching, which dramatically improves the program's search speed. Most searches are now virtually instantaneous. Even phrase searches, which seriously bogged down the previous version of MacSword, took little more than a second to complete. This dramatic improvement in speed makes MacSword much more usable as a searching tool.

In addition to being faster, searching has been simplified through the implementation of a new search syntax. In previous versions, the Find dialog featured a pop-up menu with three different methods of searching: "multi-word," "exact phrase," and "regular expression." In addition to requiring the user to remember the differences between these three methods of searching, there were some peculiarities in the way MacSword performed searches which Rubén Gómez chronicled in his review of MacSword 1.0. The new search syntax is relatively intuitive, and replaces the need for three distinct search methods. The pop-up menu has therefore been removed, and the user now simply needs to enter his search criteria in the entry field.

By default, MacSword will perform an AND search when multiple words are entered into the search entry field. For example, entering Lord God is the same as entering Lord AND God, and will find every verse where both "Lord" and "God" occur. Other Boolean operators can be entered using all caps. For example Lord OR God will find every verse where either "Lord" and "God" occur; while Lord NOT God will find every verse where "Lord" occurs but "God" does not. Standard wildcard symbols, such as the asterisk (*) for multiple characters and the question mark (?) for single characters can also be used.

To do a phrase search, all words in the phrase must be enclosed in quotation marks. Thus, to find the actual phrase "Lord God," the user needs to enter "Lord God" in quotes. Proximity searches, in which multiple words must appear within a specific number of words from each other, can also be specified, though the syntax gets a little less intuitive. To find Lord and God when they appear within three words of each other, the user must enclose Lord and God in quotes, then specify the proximity using the tilde character (~) and the number 3, like this: "Lord God"~3.

The new version of MacSword performs phrase and proximity searches properly, but the way it highlights the results of these searches is a little misleading. When you search for the phrase "Lord God", only those verses which contain that exact phrase will be returned, but within each hit verse, every occurrence of the words "Lord" and "God" is highlighted, even in cases where those words do not appear as part of the exact phrase "Lord God."

In the example above, Genesis 3:1 was found by doing a search for the phrase "Lord God," and that phrase has been highlighted. However, the second occurrence of the word "God" has also been highlighted, even though it is not part of the exact phrase searched for. This can give the mistaken impression that an AND search has been performed rather than an exact phrase search.

In addition to standard Boolean, wildcard, phrase, and proximity searches, MacSword 1.2 also features "fuzzy" searching. Fuzzy searching enables you to find words even when you can't remember the exact spelling, and as the developer of MacSword puts it, fuzzy searching is particularly useful for finding "those impossible to spell biblical names." To do a fuzzy search, the user simply needs to place a tilde (~) immediately after the word. For example, hezikia~ will find all occurrences of "Hezekiah," as well as the similar names "Hizkiah" and "Ezekias."

Of course, fuzzy searches are, by definition, fuzzy, and so can lead to unexpected results. A fuzzy search for ezekial~, for example, finds words like "special," "eternal," "Hezekiah," and "Zedekiah" in addition to "Ezekiel." This problem can be overcome to a degree by setting the amount of "fuzziness" with which the search is performed. You do this by placing a decimal value between zero and one after the tilde. The closer this number is to one, the more exact the match needs to be. For example, ezekial~0.8 finds only the words "Ezekiel" and "Ezekias." Anything closer to one, such as 0.9, does not find any matches, while a number closer to zero, such as 0.1, will find a wide range of matches. The default value if no decimal is entered is 0.5.

MacSword 1.2 also allows you to search by Strong's number in those texts which include them. To do this, precede the Strong's number with the word strong, a colon, and a G or H depending on whether you want to find a Greek or Hebrew Strong's number. For example, strong:G25 will find every occurrence of Greek Strong's number 25, which represents the Greek word agapao. Unfortunately, when you do a Strong's number search, the words to which the Strong's numbers are attached are not highlighted, so there is no easy way to identify which words were found. Furthermore, there is no way to display the Strong's numbers in the search results. To see which word was found by this search, you would need to double-click the verse to view it in a Bible window, and then choose to display the Strong's numbers from the Options menu. Even then, because the Strong's number is not highlighted in the Bible window, you would have to scan each Strong's number in the verse until you found the right one.

This problem can be overcome to some extent by using a surprisingly powerful feature of MacSword: the ability to search for combinations of words and Strong's numbers. For example, if you know that agapao is typically translated as "love," you can search for the word "love" and Strong's number G25; like this: lov* strong:G25. This search will find everywhere the Greek word agapao is translated by some form of the English word "love," and the English words will be highlighted. Again, however, there is a slight discrepancy in the highlighting of the search results. Even though this search will only display those verses which have the English word "love" tagged with G25, every occurrence of "love" in those verses is highlighted, including those which are tagged with another Strong's number. For example, in John 21:15, both occurrences of "love" are highlighted, even though the first is tagged with G25 (agapao) and the second is tagged with G5368 (phileo).

These usability issues aside, the ability to search for particular combinations of words and Strong's numbers is a remarkably powerful feature—one which, until now, only Accordance Bible Software was capable of. (For more on the use of Strong's numbers in Bible Software, see the article Getting the Bible's Number.) If the results of Strong's number searches can be highlighted correctly, and if Strong's numbers could be displayed in the Find window, MacSword would offer its users a very powerful way to explore the Greek and Hebrew words behind the English translation.

Instructions for MacSword's new search syntax can be found under the "Searching" topic of MacSword's help. I was told that you can get to this page by clicking a question mark icon in MacSword's search dialog, but I could never get it to work. MacSword's searching is based on an open source search engine called Lucene, and additional details of that search syntax can be found here:

Parallel Text Display

In windows displaying Bible texts or commentary modules, MacSword 1.2 offers a new parallel display option, enabling you to display multiple translations and/or commentaries side by side:

To add a new translation or commentary, the user must click the plus icon beside the pop-up menu displaying the current module. A new module pop-up will appear, and the user must then select the module from that pop-up which he wants displayed. To remove a parallel module, the user must choose "Remove" from the pop-up containing that module's name.

When only one chapter of the Bible is displayed at a time (MacSword's default behavior), parallel modules are displayed quite quickly after you select them. MacSword does allow you to display more than one chapter at a time by adding a Reference field to the toolbar and entering a reference for a larger portion of text. For example, if you were to enter "Matthew" without a chapter number into the reference field shown in the figure above, MacSword would display the entire book of Matthew in the window rather than just a single chapter. Unfortunately, when larger text portions are displayed, the parallel display can take quite a while to update. If you display passages in parallel like this, you'll want to stick with the default of viewing one chapter at a time.

Personal Commentaries

MacSword now allows users to create their own commentary/user notes modules. This involves selecting New Module... from the File menu and saving a new commentary file to a location on your computer's hard drive. Though the file can be saved to any location, it's best to place it in the Modules folder of the MacSword application folder. Doing so will cause that commentary module to appear under the Commentaries section of the Modules window. To edit the module, choose "Edit Module..." from the Edit menu. The commentary window will then change to an Edit view containing a separate blank field for each verse of the Bible. Simply enter your text in the field for the verse you wish to annotate. When finished, select "Edit Module" again to switch back to display mode.

Once you've created a personal commentary module, it can be searched and displayed in parallel with the Bible text just like any other MacSword commentary module.


All in all, MacSword 1.2 represents a substantial improvement over previous releases, and probably merits more than its point-one version number increase. Every MacSword user would do well to download this latest update.

Addendum: MacSword on Intel?

Curious about how Apple's move to Intel processors will affect development of MacSword? I asked Will Thimbleby, the program's developer, about his reaction to the news, and this was his response:

Whilst I am sad that Macs will no longer be as different, ultimately I do not think it will change much. There are still many questions to be answered and I think the next few years are going to be very interesting and great fun! I also hope this will broaden Mac's users and that Apple will finally be past some of the horrible processor problems it has had.

As a developer however, it really is a non-issue for me.