Review of MacSword 1.0

Open-Source Bible Program for OS X Examined

by Rubén Gómez (Posted: 3/30/04)


[Ed: This review was originally published on the Bible Software Review web-site. It is reprinted here by permission.]

MacSword is very much an on-going project, currently at version 1.0—i.e., it is still at an early stage in its development. To put it simply, it has just barely gone past being a beta program, but it is far from becoming a full-fledged Bible software program. This fact has been taken into account throughout the review, and many of the comments should be understood not so much as suggestions for improvement, but rather as paths for development.

MacSword is being developed as a native Cocoa application for Mac OS X. Based on the Sword Application Programming Interface (API) and the text modules made available by the Sword Project, it is really an OS X front-end for the Sword engine running underneath. MacSword is a true Open Source project, which means that its source code is publicly available and freely modifiable.

Overview of the typical MacSword desktop, with a navigation panel on the left and a text window containing the KJV. Strong's numbers are activated and appear as tool-tips. The same applies to the embedded morphological codes.

Installation

The image file (.dmg) includes a ReadMe document with some brief installation instructions and other bits of information about the program. No more details are given, and the steps outlined must be followed very closely in order to get the program up and running. Module installation has to be performed manually (computer novices be warned!)

System Requirements

Any Macintosh computer running Mac OS X 10.2 with Safari 1.0 or higher, or else Mac OS X 10.2.7 or higher.

Test Results

Pros: high degree of customization, available under the Mac OS Services feature (where supported).

Cons: unintuitive searching features, lack of a note-taking system.

Help

Before downloading I was already aware that this wasn't a fully developed piece of software, so my expectations weren't too high. After all, I've always been under the impression that open-source programs and commercial packages cannot be judged by the same standards.

I went through the installation process quite effortlessly, but before too long felt quite tired of having to add module after module by hand. Anyway, as soon as I opened MacSword I looked at the onscreen help. This, like many other areas of the program, is a work in progress. However, it turned out that the section I was interested in (details about searching) wasn't working. Not to worry! Mac OS X's help system is based on html files. I fixed the problem by control-clicking (right clicking if you use a two-button mouse) on the program icon and choosing the option Show Package Contents in the context menu. I then had to select Contents > Resources > English.lproj > Help and open the file Searching.htm with a text editor (I used BBEdit, but any text editor could do). I looked for the string <a href="Search method.htm"> and changed it to <a href="Search_method.htm">, saved the file and closed it. After doing that, I changed the name of the file labeled Search method.htm to Search_method.htm. That did the trick. As you can see, all that needed to be done was to place an underline where there was a blank space.

Searching

MacSword offers three different types of searches: "Multi-word", if you want to find more than a single term (e.g., "Lord" and "Paul" when they appear in the same verse, irrespective of the order), [1] "Exact phrase", for order-specific, literal searches (e.g., "Lord God"), [2] and "Regular expression" for finding particular patterns (e.g., "fo[a-z]l\." — any word containing "fo", followed by any letter between "a" and "z", followed by an "l", followed by a literal period). [3]

We must keep in mind that ALL searches, no matter what method is used, are "double wild card searches". In plain English, this means that the program will match any word containing the search terms. It is called "double wild card" because a wild card character (*, which stands for 0 or more characters) is automatically added behind the scenes at the beginning and the end of the search query. For instance, a search for "noon" (even when you carry out an Exact phrase search) will return "noon", "noonday", "forenoon", "afternoon", and "noontide". The only way available to limit searches so that the program finds exact matches is the use of regular expressions. Thus, "[^a-z]noon[^a-z]" will find just the 15 verses in the RSV where "noon" appears. This is an extremely complex workaround, which comes to show that a lot of work needs to be put into the area of Searching.

The Find dialog showing the results of the search "faith brother", which finds all the instances in the RSV where "*faith*" and "*brother*" appear in the same verse. Notice that the first reference (2 Chronicles 21:13) finds "unfaithfulness" and "brothers".

This behavior can be very frustrating, though some people may prefer to perform double wild card searches by default. I certainly don't, and there should be, at the very least, an easy way to switch this feature on and off.

All searches can be case-sensitive if the user chooses that particular option by unchecking the Ignore case checkbox. As for search results, the program reports the number of references (i.e., verses) found, but not the number of hits. Besides, there is no way to limit the search to a particular range of books, chapters or verses. Unlike the Windows version, which does include a Scope option, searches are run against the whole Bible or tool. It is also not possible to include more than one version (or reference work) in a given search.

Wild card characters cannot be used to search for prefixes (i.e., ?oon will return no results). After all, they are not necessary, since the program will find them anyway. Also, none of the matches of a regular expression search appear highlighted.

The Find text box keeps track of the different searches, so that any previous search query can be run again at any given time, but this information is not saved between sessions (i.e., it is lost when you quit the program).

MacSword's current search feature is not easy to use. It is neither flexible nor intuitive. It will obviously improve in later revisions, but I dislike the idea of having to build queries with regular expressions. This kind of search seems to be more suitable for software engineers than for the average user, and the other searches, while being fairly basic, cannot be easily tailored to the common tasks performed in the course of studying.

Customization

One of the good things about MacSword is that it allows the user to have a fair amount of control over the way the program looks. We can choose which module will open by default under each category, the location of the different modules, and certain aspects of the user interface (you can, for instance, have the program automatically open a daily devotional at runtime). But by far, the greatest customization is to be found in the Appearance tab of the Preferences dialog. It is currently possible to choose any combination of fonts and colors for the modules. One welcome and ground-breaking aspect is the capability of linking the program to a Cascading Style Sheet where the user can configure all the settings. When an external css file is used, it overrides any previous user settings.

Since I found the original white background too boring, and the various links (Strong's numbers, cross-references, morphological tags, etc.) too similar to my liking, I decided to change everything. [4]

 

Copy the text inside the table below and paste it into a plain text document. Add the extension css after its name and place the file somewhere inside MacSword's folder (though you can in fact put it anywhere you like). Under Preferences > Appearance, choose the Other option in the Style Sheet drop-down menu and navigate to the location where your file is found. Restart the program and it should look like the picture on the left.

 

body
{
text-align:justify;
font-family:Arial;
font-size:16;
margin: 20px;
color:#000000;
background-color:#F5F5DC
}

.booktitle {font-size:3em; color:#8B4513; text-align:center;}
.sectiontitle {font-weight:bold;}
.chapternumber {font-size:2em; color:#8B4513; margin-top:1mm; margin-bottom:1mm; vertical-align:text-bottom;}
.versenumber {font-weight:bold; font-size:0.7em; color:#F4A460; margin-top:1mm; margin-bottom:1mm; vertical-align:text-top;}
.verse {display:inline;}

a:link {text-decoration:none;}
a:hover {text-decoration:underline;}

.reference {color:#0000FF; font-weight:light; font-size:small;}
.morphcode {font-size: smaller; color: #191970; font-decoration:none;}
.strongnumber {font-size: smaller; color: #008000; font-decoration:none;}
.footnote {font-size:smaller; color:#8B0000; font-style:italic;}
.footnotepre {font-size:smaller; color:#8B0000; font-weight:bolder;}
.poetry {font-weight:lighter; alignment:justify;}
.quotation {font-style:italic;}
.jesuswords {font-style:italic; color:#DC143C;}

Finally, it should be noted that MacSword is available as a Service under the name MacSword Lookup (or via the keyboard shortcut Command-Shift-R). This will open the program from within any application that supports this feature.

Conclusion

Being a native Mac OS X application, MacSword has a nice Aqua look. It is good for displaying and reading texts on screen and for some basic operations. It also offers lots of modules (and all of them for free!). I recommend checking the Use tool-tips for references option, since it is not currently possible to synchronize two different windows (for example, a Bible and a Lexicon). It is to be expected (and desired!) that future versions of MacSword will include some of the basic features these kinds of programs usually offer, particularly the ability to write user notes.

Copyright © 2004 by Rubén Gómez. All rights reserved. Please do not reproduce any part of this document without obtaining permission from the author.


[n.1] "Lord Paul" (an AND search) returns 12 references in the RSV

[n.2] "Lord God" finds 363 verses in the RSV. Accordance Bible Software returns 376. The reason is that MacSword does not count those instances where there is a comma between Lord and God (cf. Genesis 24:12; Joshua 7:13; 1 Samuel 14:41; 1 Kings 8:23, 25; 18:36; 2 Chronicles 6:14, 16, 17; 20:6; 26:5; Jeremiah 15:16; 37:7; Amos 9:5). Hence the difference in 13 verses (Note that "Lord God" appears twice in 1 Samuel 14:41, and in one instance there is an intervening comma). If we wanted to find those verses with MacSword we would have to use a Reg. expr. type of search and write "Lord\, God".

[n.3] "fo[a-z]l\." will match fowl and fool in the RSV (8 references). 

[n.4] If you want to play around with different combinations of colors, I warmly recommend the following page.

Rubén Gómez is a minister, translator, and webmaster of Bible Software Review. Rubén lives in Minorca, Spain with his wife and three children.


Other Articles:
Getting the Bible's Number: How to Use Strong's Numbers in Mac Bible Study Software.
Mac Bible Software Update: MacSword 1.0 Released; New Demo of Accordance 6.
Emulation Inequality: Running Bible Software under Emulation

Recent Bully Pulpit Features:
When Speed Trumps Substance: A Dozen Problems with Internet-based Research.
The iPod and the End of Civility: Is There a Place for Silence?
History or Gospel? Can the Biblical accounts of Jesus' passion be trusted?