User:David Haslam

From CrossWire Bible Society
Revision as of 16:03, 18 April 2010 by David Haslam (talk | contribs) (Integrate JSword into Go Bible Creator?: removed. ''Stephen D. has begun to work on this''. (not heard from him since he made the suggestion))

Jump to: navigation, search

David Haslam participates in the SWORD Dev mailing list, and is active in developing Go Bible modules for Java ME enabled mobile phones. The sidebar of the Go Bible Team blog lists several more relevant links. I am an experienced Wikipedian.

Collaboration between CrossWire and Go Bible

In July 2008, I was asked to lead a new CrossWire project to facilitate closer collaboration between CrossWire and Go Bible volunteers, in effect to enable the Go Bible application to act as something like a front-end for CrossWire Bible modules on the Java ME platform. The author of the Go Bible application and the developer kit Go Bible Creator has given this proposal his blessing. The source code for both was already made available as open source.

Go Bible differs from SWORD front-ends in that each Biblical text is packed within the same JAR file as the Bible viewer. The main reason for this is that Java ME applications that require even read access to separate data files nag the user repeatedly for permissions.

My contacts at Wycliffe Bible Translators have indicated that this would be of considerable interest to them, as they are keen to make use of the mobile phone technology to publish their translations. Some of them have expressed the opinion that the User Interface of Go Bible is "just right" for reading the Bible on a mobile phone.

I would like to hear from any CrossWire volunteers who would be interesting in participating. Not all participants would need to be Java programmers. There is much to be done towards automating the software tools to convert CrossWire Bible modules to one of the formats suitable for use with Go Bible Creator. So if you are interested, please leave a message in my Talk page.

Go Bible on the CrossWire website

The are now some pages still under construction at [1]. Please help to improve them especially now there is a link from the CrossWire main page.

Latest Release

Go Bible software version 2.4.0 was released on 2010-04-17. The developer kit can be downloaded from any of the following locations:

Release notes (change log) is contained within the ZIP file, yet can also be viewed online at

Source code

The most up to date source code version for Go Bible and Go Bible Creator is

If you wish to volunteer to work on programming for the Go Bible project, please email Troy Griffitts to obtain a username and password. Then use the community common login at [2]

Current activities

Software development

We have just released Go Bible 2.4.0 (together with Go Bible Creator). The new release includes some improvements and bug fixes to GoBibleCore. This is the first change involving GoBibleCore since version 2.2.6. All the changes from 2.3.0 through 2.3.6 affected GoBibleCreator only.

Go Bible Forum

I am the main support person for the Go Bible Forum. This takes up a significant part of my time. As well as responding to user questions, I use the forum to post all sorts of useful information relating to Bible software. Please register & sign in to get the best from this forum. Several categories are accessible only when you are signed in.

Copyright lobbying

I spend a proportion of my time researching Bible translations and copyright lobbying, with a view to getting more Biblical content available for distribution by CrossWire, whether as SWORD modules or Go Bible applications.

Other activities

I am an administrator for this wiki. I regularly participate in the Sword Devel mailing list.

Tasks list


These are some of the outstanding tasks for the CrossWire Go Bible project. Feel free to comment on these in my talk page.

Housekeeping tasks

  1. Transfer source code from Google code – done 2009-02-28 (thanks to scribe)[3]
  2. Create new CrossWire project for Go Bible
  3. Setup for GoBible software bug tracking on CrossWire server
  4. Construct a SVN directory for managing Go Bible User Interface (UI) translations.
  5. Start a proper wiki page for Go Bible, to replace and supplement what is in this personal page

Website content tasks

  1. Update the web-pages under construction
  2. Provide screenshots to adorn the web-page
  3. Add link from SWORD Project page header
  4. Mirror most of Jolon's Go Bible website on the CrossWire server (we have his permission)

Programming tasks

  1. Investigate software issues listed in Google code
  2. Review items listed in GoBibleRoadmap
  3. Automate the rebuilding of all the Go Bible applications - required after new release of Go Bible
  4. Define requirements for new development tools

Documentation tasks

  1. Describe how to set up the JDK build environment for developing GoBibleCreator and GoBibleCore

Integrate JSword into Go Bible Creator?

With Java SE being the environment in which both programs run, the following idea is worth considering:

  • Enhance Go Bible Creator to be capable of processing SWORD modules directly, making use of the JSword API to extract the Biblical text.

Export data to Go Bible feature of Bibledit

I have been informed that Teus Benschop has begun to integrate some functionality of Go Bible Creator into Bibledit. This could offer a convenient route for Paratext users to convert from USFM to Go Bible. I am awaiting further details.

The Bibledit wiki has very sparse information about export to Go Bible. To navigate to this section, choose Tasks | Data | Export | Export Assistant | Go Bible. It reads as follows,

This will create a Go Bible. It runs on a cell phone. You need to have a working Java runtime environment. This can be installed through your distribution's software installation mechanism.

I am told that Bibledit provides no place to enter the Info: line needed to display the Go Bible Menu | About. This is an important requirement for Bible translation copyright owners, and is thus a significant omission. I am guessing that several other capability features of Go Bible Creator are not provided in the rudimentary Bibledit export to Go Bible.

Preprocessing tools

For Go Bible Creator, there is a USFM Preprocessor program being developed for Windows. This is not hosted on the CrossWire SVN server. See below for further details.

  • Go Bible Creator USFM Preprocessor – This is a tool to parse through and identify, correct and publish USFM file formats into a file format that can easily be put into the Go Bible mobile phone program. The latest version also includes a tool to export into BQ/DigiStudy format.

For "milestoned" form of OSIS XML files, there is an XSLT script available to convert these to the "containered" form, which is the form required by Go Bible Creator. Details to be added later.

Need to document how to prepare a Shaped Arabic Go Bible for phones such as most Sony Ericsson models, for which the manufacturer did not properly implement glyph shaping in the display firmware, and in some contexts, did not even implement bidirectional text. Details to be added later.

TextPipe filters

For general text file processing, I make frequent use of the proprietary Windows program called TextPipe Standard purchased from DataMystic.
In this section I will describe some of the more general bespoke filters that I have used.

  • TDT to CSV – a filter to convert a Tab Delimited Text file to Comma Separated Variable format
  • CSV to VPL – a filter to convert a Comma Separated Variable file to Verse Per Line format
  • VPL to ThML – a filter to convert from Verse Per Line Format to Theological Markup Language
  • VPL to USFM – a filter to convert a single VPL file to a set of USFM files (with only basic markup)
  • ThML to Books – a filter to extract all the Bible book names from a ThML file

Whenever a particular need arises, I often resort to making a quick TextPipe filter to process text files from other formats.

From time to time, I upload all my filters and related files to My


  • How to convert a SWORD module to Go Bible. See [4].
  • How to convert a Go Bible J2ME application into an Android package. See [5]

Further information

Team blog

For further information, please visit the Go Bible Team blog. The side panel contains links to all the Go Bible related places.

To join the team blog as a contributor, please email me.


My facebook profile is