Frontends:Tyndale STEP

From CrossWire Bible Society
Revision as of 11:11, 14 June 2012 by David Haslam (Talk | contribs) (Volunteers: You can also contact David Instone-Brewer via facebook.)

Jump to: navigation, search

The STEP Project (Scripture Tools for Every Person) aims to build a study tool for Christians around the world. The software will be available on-line as well as distributed to pastors in poorer countries who would usually not be able to afford commercial software.

Click the following link for the Developer's STEP technical home page.

Aims & Architecture

Aim of the STEP project

The intention of the STEP project is to have a bible tool that will be available for a wide number of platforms:

  • multiple platforms: including off line and online
  • multiple operating systems, including mobile OS

It is accepted that the mobile versions of the STEP project will access a web-based version, due to the variety of platforms and restrictions in development capabilities (for e.g. no Java platform on iPhones). Note: It is possible that offline access would be available for Android devices.

The motivation is to help believers who have limited access to the internet, by providing tools which can be distributed on flash memory, which are expandable online when access is available.

Intended features

The roadmap, features and bugs are in the Crosswire JIRA. Our roadmap strategy can be found here.


The data produced by Tyndale House, Cambridge, UK will be the main driving factor of development of this front-end. This new project offers a lot of development opportunities:

  • developing in writing a web-based front-end to JSword;
  • working with Tyndale House to help them produce and publish their data; and
  • enhancing the main Sword and JSword engines to cope with the new types of datasets.

Range of features

The following features are just a sample list of the intended feature set:

  • History modules (including genealogies, timelines, articles, etc.)
  • Geography modules (maps, integration with Google Maps, Google Earth, overlay of historical maps)
  • Linguistics (interlinears, lexicons, parsing help)
  • Parallels (searching extra-Biblical literature from the same time & culture)
  • Translations (alternative transliterations, variants & manuscript evidence)
  • Modern publications (links to commentaries, journal articles and books)

Overall Architecture

To further the aim outlined above, the choice of technologies is as follows:

  • Embedded Jetty (for the stand-alone applications)
  • Embedded JavaDB[1] (for web and standalone) ensuring common data access throughout.
  • JSword for Bible and Module access

As a result of the above choice, we have a 100% Java application, and are able to run it as an online and offline application.

Go to the Tyndale Step High Level Design for more information

Description of the external libraries

  • Jetty is a java container that will be used in the embedded mode for serving local web pages. On a server, STEP can be deployed to a Tomcat or Jetty server
  • JavaDB or Apache Derby is an RDBMS written in Java, that can be run in server mode as well as embdeded in the VM. If used in the embedded mode it starts up upon the first request
  • JSword needs no introduction - see {link} instead
  • Dependency Injection
    • Server-side: Guice (on the server)
    • Client-side: Gin (similar to Guice but for client-side code)

Development of Datasets

  • Bibles - mainly PD versions with interlinear based on tagging
  • Dictionaries - merging and editing of PD dictionaries & encyclopaedias
  • Maps - 1:20,000 scale maps scanned for overlay with GoogleMaps; gazetteer with co-ordinates
  • Translations - analysis of differences in translations, and interpreting variant data
  • Modern literature - gaining copyright permissions; links to Bible refs; develop specialist search
  • Parallels - collecting parallel literature; create search by linguistic domains


If you are interested to become a volunteer, please visit the facebook page below, or contact the STEP team by email. You can also contact David Instone-Brewer via facebook.


  1. If possible, the Embedded JavaDB module dependency will be removed in time.

External links

Historical Tyndale STEP blogs