Welcome to SharpSword!

Contents:

About
Categories
Adding Verses
Searching
Reviewing Verses
Managing Verses
Future Verses
Show Reviewed Verses
Exercises
Settings
Other Bible Versions

About

Thy word have I hid in mine heart, that I might not sin against thee.
Psalms 119:11

After searching for programs to help me memorize Scripture verses and not finding anything to my liking, I decided to write one myself. While I am familiar with the concept of Spaced Repetition Systems (SRS) as a tool for memorization, I have neither the time nor the inclination to get into something that deep. Hence, you get the short and sweet version. :-)

While SharpSword isn't an SRS-capable program, I did want to at least provide some way of spacing out the review periods, once a person becomes familiar with a passage. SharpSword attempts to achieve that aim using four different "Review Periods" which can be customized to the user's needs.

I also wanted a program that would allow me to quickly review any particular verses I was currently working on, so that, for instance, I could easily review one in just a few seconds while going up the elevator. The Review Buttons therefore are the most accessible part of SharpSword, making use of large, finger-friendly buttons.

In using Rick Meyers' excellent Pocket e-Sword, one thing I found extremely useful was the memory exercises which were incorporated into the program. I've tried to emulate them somewhat in SharpSword, and I can attest to their effectiveness in helping one to rapidly memorize a verse! Because of this, the Exercises feature is also accessible from the main window.

In addition, since the desire to memorize a particular verse may strike one at the oddest time, the Add Verse button is also accessible from the main window.

SharpSword uses the King James Version of the Bible, although this has not been set in stone. I've tried to design the program so that it may be easily modified to work with other versions.

One feature that was requested by a friend was colors. It seemed to help him review the verses when the screen color had a blue background. If that's what will help someone to memorize Scriptures better, by all means! So SharpSword is now "skinnable" in the sense that you can change the colors where the verses are displayed and for how the controls are displayed, as well.

If you like the program, I would enjoy hearing about it in an email.  In addition, if you like the program, I would encourage you to vote for it if you downloaded it from one of the software websites that allows voting on software. My only reason for suggesting this is that I believe people tend to become more interested in software that has been voted on (or has a better vote rating). More people using software like this means more people meditating on God's Word. That's the goal.

Top

Categories

To assist in organization, SharpSword allows the user to file verses under different Categories. This is useful where, for example, one might have one Category of verses dealing with Salvation, one with Faith, etc. It allows the user to concentrate on one Category at a time, if so desired. At the top of the main screen the user can choose to review verses from only one Category, or from all Categories.

Choosing the Categories... menu item will bring up the Categories window. Here the user can add and remove Categories. Attempting to remove a Category that contains verses will bring up a prompt for the user to verify that they wish to remove the Category and all verses contained therein.

Checking the Default Category checkbox will cause the selected Category to be automatically selected whenever a Category selection box is used in the program.

If the user has added a number of Categories and wishes to "clean up" the list, clicking on the Remove Unused Categories button will remove all Categories from the list which do not contain any verses.

Top

Add Verse

Tapping the Add Verse button will bring up the Add Verse window. While the buttons on this screen aren't so large, hopefully their layout will still allow entry of verses without a stylus for many people.

To add a verse, simply select a book from the Book list. Enter a verse's reference using the supplied numbers. You may alternately use your PocketPC's keyboard, but I find the buttons easier and more accessible. Here you may also specify which Category your verse will be stored under, as well as which Review Period to use with the verse. For verses completely new to you, I suggest using the New Period.

References to verse(s) may be entered in a number of ways:

Book Verse
John 3:16
Romans 5:8-11
Genesis 1:1,5
Psalms 119:1,3-5,7,8-11
Psalms 23:1-

The last method listed in the table above will cause all verses after the "-" to be included, up to the end of the chapter.

Tapping < will cause the last character in the Verse field to be deleted.

Tapping C will clear out the Verse field.

Tapping View will attempt to retrieve the verse(s). If an invalid reference was entered, nothing will happen.

Optionally, the Search button may also be used to find a desired passage.

The Split checkbox is very useful when retrieving multiple verses. Let's take an example:

I wish to memorize Isaiah 58, so I use "Isaiah 58:1-" to pull up the whole chapter. I may add this to a Category called Misc. When reviewing the verses, however, I may not really wish to review the whole chapter every time I get a moment to work on it.

When Split is checked, each verse in the passage will be split up into its own entry. This is also where Categories can be very useful. Let's suppose I had previously created a Category called "Isaiah 58". If a check Split, and add the whole chapter, then the Isaiah 58 Category will now contain 14 individual verses which I can review one at a time.

Placing many split verses in their own Category has another benefit: if I should decide to delete them, all I have to do is remove the one Category and all the verses in it will be removed as well.

Top

Searching

From the Add Verse window, tapping Search will bring up the Search window. Here you may search for a verse using a word or a phrase.

Choose the range of books to be searched using both the Start Book and End Book lists.
Optionally, the Quick Picks list will quickly help you to narrow down the list of books to be searched.

Using the Max list, you may set the maximum count of entries to be returned.

Cancel will cancel the search mid-stride.

If a verse is selected in the list of results when the window is closed then that verse will replace whatever was currently displayed in the Add Verse window.

When the Search window is closed, its contents are retained. This way, after adding a verse, you may continue selecting results from the search list after going back into the Add Verse window and again choosing Search.

Top

Review List

While I realize that an SRS would be most effective at memorization, I haven't found a program that does just what I want in terms of features and that has the key goal of Scripture memorization. With that in mind, I'll describe the (much easier to implement) method of Review Periods used by SharpSword, which is sort of a hybrid between a spaced repetition system - but where it's up to you to determine the spacing - and the good old fashion method of drilling.

After adding verses to SharpSword, the next step is to review them. The review buttons have been set up to display only those verses which fall under whatever Category is displayed in the list above. Alternately, if All is selected, then all verses from all Categories will be considered, with the exception of any Future verses and Categories.

For this discussion, we'll assume the buttons are set to: New, 2 Days, Weekly & Monthly. Let's suppose I've added two verses: Gen. 1:1 and Ex. 2:2 and have assigned Gen. 1:1 to New, and because I'm a little more familiar with Ex. 2:2, I've assigned it to 2 Days.

Each time New is tapped Gen. 1:1 will be displayed in the Review List. I can then choose to review this verse by tapping on it. Once I've reviewed it, I may choose OK or Cancel. Choosing Cancel has the same effect as not reviewing it. However, if I choose OK, then the verse is removed from the Review List. If there are other verses in the Review List, I may go through the same process with them, one at a time. After closing the Review List, if I again tap New, the same list will be presented. I may review this list as frequently as I like.

After reviewing the verse in this manner until I am familiar enough with it (maybe after a day or so), I will then move it to another Period, say to 2 Days.

If I tap 2 Days, then Ex. 2:2 will be displayed in the Review List. I may review it, or perhaps I may wish to try to quote it in my head before reviewing it, to see how I'm doing with it, then clicking OK. After closing the list, if there are no more verses to be reviewed, the 2 Days button will be disabled. This button will be re-enabled after two days, when it will again be time to review Ex. 2:2.

You may have several verses in one Review Period that may not be reviewed at the same time. For example, suppose on Monday I reviewed Ex. 2:2, then on Tuesday I moved Gen.1:1 to the 2 Days Period and also reviewed it. On Wednesday, only Ex. 2:2 would be displayed in the Review List, as Gen. 1:1 was reviewed only one day before. After reviewing this verse, 2 Days will again be disabled. The button will be enabled on Thursday when it is time to review Gen. 1:1 again.

The same behavior goes for the other Review Periods. The spacing for each Review Period may be changed in the Settings window.

If the pen is held down over a verse's button, a pop-up menu will be displayed which allows you to easily move the verse to the top of the list, or to move it to another period.

Top

Manage Verses

Sometimes one may wish to move a verse from one Category to another or from one Review Period to another. This can be done from within the Manage Verses window, available from the Manage Verses... menu item.

Here, you may filter the verses that are displayed via the Category and Period lists. When a verse is selected from the list, you will see its Category and Period next to it, as well as the date it was last reviewed.

If you have already reviewed a verse, but wish to reset its review date, tapping Set Date will allow you to do this. This also works when you move a verse, say from Weekly to Monthly and wish for it to immediately be available from the Monthly review button.

If you previously added a verse or range of verses, and later decided that you did or didn't want the verse number to be displayed, you may turn the verse number on and off by tapping V#.

Tapping Remove will remove a verse from the program's memory - but hopefully not your own.  :-)

Top

Future Verses

Sometimes you may have the desire to memorize a verse, but just may not be ready to start working on it at the time. It's easy to forget which verse you wish to work on later. That's where Future Verses come in. The Future window is available both from the main menu and the Future button found in the Manage Verses window. This window will show a list of all verses and a list of all Categories. The verses, of course, can be filtered via the Category list to make the view more manageable.

Checking Future Verse or Future Category will turn verse or Category into a Future Item, causing it to be set aside, as far as the rest of the program is concerned. It will not be displayed in any other menu or list of verses or Categories until it has been converted back to a Normal Item. Note: Setting a Category to Future will also hide any verses contained within it!

This can be useful when used in conjunction with Categories and Splitting verses. Taking an example from above, say I wish to memorize Isaiah 58, but am not quite ready to tackle it yet. I could create a Category called "Isaiah 58." Next, I could add the verses of that chapter to it, splitting them as well. Afterwards, I can check Future Category for "Isaiah 58." Now, it will be there when I am ready to get to it, and until then it will not be displayed in any list or exercise. I wouldn't want to be quizzed on any of those verses if I have not worked on them yet.

Top

Show Reviewed Verses

Sometimes, one may wish simply to review all of the verses of a Period, regardless of how long ago those verses were last reviewed. By checking the Show Reviewed Verses menu item, this may be done. Note that the screen color will be changed while this option is enabled, as a reminder to the user.

Top

Exercises

As mentioned before, having seen the memory exercises in Rick Meyer's Pocket e-Sword, I wanted to implement something similar in SharpSword. Just going through some of the exercises with a verse has the amazing effect of engraving it in your mind to a greater degree than simply reciting it to yourself. Here are the available memory exercises:

Find Reference's Verse
Find Verse's Reference
Word Order
Fill in the Blanks
Learn Reference

On each exercise, when you make a correct choice, a green bar will be briefly displayed. An incorrect choice will cause a red bar to be displayed.

Each exercise can be made more or less challenging by choosing the difficulty level from a list. This setting affects some exercises differently than others.

Due to the random nature of verse selection for Find Reference's Verse, Find Verse's Reference and Learn Reference, the selected verse in this list has no relevance.

The Spaces checkbox will increase the level of difficulty for "Fill in the Blanks" and "Word Order," causing spaces to be substituted instead of blanks for each letter. This removes any clues to word positioning and how many words are left.

Top

Find Verse's Reference

After memorizing a number of verses, one of my own weak points became evident: remembering which reference was for which verse. So with this exercise, you're presented a reference from one of the verses you've added and then presented with up to three verses, and you must choose the correct verse that matches the reference. This exercise (as well as Find Reference's Verse) attempts to reinforce the correlation between verse and reference.

The difficulty setting for this exercise has the following effect:

Easy: Only verses from the currently selected Category and Period will be used in the exercise.

Medium: Only verses from the currently selected Category, but from all Periods except New will be used in the exercise.

Hard: Verses from all Categories and all Periods, excluding Future verses and Categories, will be used in the exercise. Therefore you may be quizzed on NEW verses with which you may not be entirely familiar.

All the way!
: Verses from all Categories and all Periods, including Future verses and Categories, will be used in the exercise.

Top

Find Reference's Verse

The reverse of Find Verse's Reference, this exercise will present you with the text from a verse. You must then choose that verse's reference from a list of references (taken from the verses which you have already entered).

The difficulty setting affects this exercise the same as in Find Verse's Reference.

Top

Word Order

With word order, you are presented with a verse whose words have been switched out with underscores ("_"). You must select each word, in the correct order, from a list of that verse's words, below.

The difficulty setting for this exercise has the following effect:

Easy: 40% of the verse's words will be "blanked out".

Medium: 70% of the verse's words will be "blanked out".

Hard: 85% of the verse's words will be "blanked out".

All the way!: 100% of the verse's words will be "blanked out".

Top

Fill in the Blanks

Like Word Order, you are presented with a verse whose words have been switched out with underscores ("_"). You must select the first letter of each word, in the correct order. This exercise is slightly more difficult than Word Order because you don't have the option of seeing what the verse's words are.

The difficulty setting affects this exercise the same as in Word Order.

I can make no promises at the present time, but if you have a suggestion for another exercise to be included in the list, you're welcome to email me. Given the time, I could try to add it.

Top


Learn Reference

There's not much to this exercise, really. It's just one more option to assist in associating a reference with a verse. It's basically a very simple flash card viewer, alternating between a reference and a verse. It will display each reference-verse pair 3 times, then move on to another randomly selected verse.

Setting the difficulty level on this exercise will narrow the range of verses available in the same way as in Find Verse's Reference.

Top


Settings

Through the Settings screen, accessible from the Settings... menu item, you may change the behavior of SharpSword in several ways, through several different tabs:

Misc.
Verse numbers for multiple verses: Causes the verse number to be added to each verse when there are multiple verses in the passage.

Indent Single Verse: Causes a verse to be indented when it is the only verse in the passage. For example, John 3:16.

Indent Multiple Verses: Causes each verse to be indented when the passage contains more than one verse. For example: Ps. 23:1-6

Indent size w/verse number: How many spaces to place before verses that contain the verse number.

Indent size w/o verse number: How many spaces to place before verses that do not contain the verse number.

QWERTY layout for exercises: For any exercise that uses keyboard input (currently only Fill in the Blanks), you may choose to have the keys laid out in either ABCDE or QWERTY order.

Custom Colors: If custom colors are used (selectable from the Views tab), there may be a time when you would like to turn them off or back on again. Checking this box will do just that.

Buttons
If the default selection of Review Periods doesn't suit you, they may be changed from within this tab. Simply select a new Review Period from the available list and click a button. Note: the New button cannot be changed in this manner.

View
From this tab you may change several things about SharpSword's look:

Pt. size: Here you may choose how large or small you wish to see the text whenever a verse is displayed when reviewing a verse or during certain of the exercises.

Color Type List: From this list you may choose which type of object in SharpSword will be assigned a new color:

Review Background: This is the background that is displayed when reviewing verses.

Review Text: This is the foreground, or text color, displayed when reviewing verses.

Controls Background: This is the color of the various controls on each window used in SharpSword.

Controls Text: This is the color of the text displayed on each control in SharpSword.

App Facing: This is the color of each window in SharpSword. Note: this color setting does not affect the Settings window.

Pick Color: This button will bring up a color picker from which a new color may be chosen. Due credit for this color control must go to Tam Hanna for his work in creating this control, which was sadly missing from Microsoft's .NET Compact Framework. You can find out more about this control at: http://tamsppc.tamoggemon.com/2007/11/14/a-color-picker-for-net-cf/.

Reset: Tapping this button will cause all custom colors to be reset to the program's default values.

Upon selecting a new color or point size, the various sample items on the tab will be updated to reflect the change.

Device
The settings on this tab apply only to those with devices (such as the iPAQ, whose screen resolution is 480 x 640) that do not correctly display certain elements in the exercises "Fill in the Blanks" and "Word Order." Notably, the "keyboard" layout is not spaced correctly on "Fill in the Blanks," and on both exercises the text at the top portion of the screen is not spaced correctly. To remedy this, you may alter the amount of spacing used for the text in these areas. Some experimentation may be needed to achieve the best results.

If have no trouble with those exercises on your device then you may ignore this tab completely.

Top

Other Bible Versions

To modify SharpSword for use with another version of the Bible, you will need access to your preferred version in some kind of XML markup format. A complete discussion of the different markup formats available is beyond the scope of this document, but to list a few, there are formats like OSIS, Zefania, and ThML. I started out with a KJV version marked up with OSIS. I then simplified the XML in it, stripping out most of the markup and leaving only what I needed, changing a few things as well. You'll need to do the same with whatever format you download. I highly recommend a good text editor that can handle regular expressions (like TextPad, or the free Notepad++). Without using regular expressions, your task may be much more difficult.

 Here's a sample of what I ended up with:

<div id="Gen">
  <title type="main">THE FIRST BOOK OF MOSES CALLED GENESIS</title>
  <title type="chapter">CHAPTER 1.</title>
  <verse id="Gen.1.1">In the beginning God created the heaven and the earth.</verse>
  <verse id="Gen.1.2">And the earth was without form, and void...</verse>
  <verse id="Gen.1.3">And God said, Let there be light...</verse>
.
.
.
</div>

Each book of the Bible is stored in its own file. Actually, I ended up not making use of the two title tags shown in the sample above, so your marked up version could easily omit those.

As can be seen in SharpSword's bible directory, each file is saved as a gzipped file named: book.xml.gz

So, to create your own Bible text that can be used with SharpSword:

1) Download the marked up text in one of the various formats listed above (or any other format you are able to work with).

2) Strip out all unnecessary tags and make sure the above tags are used in it.

3) Each book must be contained within its own file, saved as, for example, Gen.xml

4) Each book's file must then be gzipped. Gzip for Windows is currently available at http://gnuwin32.sourceforge.net/downlinks/gzip.php.

Also, the names of the books must conform to what the program expects, but this can be changed by editing SharpSwordConfig.xml. Just change the <BookAbbrevs> tag to whatever names you've used for your books' files.

That's it!

Top

I sincerely hope you enjoy using SharpSword and that it increases your ability to memorize God's Word. That alone would be worth the effort of writing the software and writing all of this documentation, which, um, I don't really need myself. ;-)   If you have any comments, I'd love to hear them!

Top

Rufus Eves
7306 Bethany Rd.
Charlestown, IN 47111
rufus@j-crew.org