Difference between revisions of "Projects:Go Bible"

From CrossWire Bible Society
Jump to: navigation, search
(TextPipe filters: two more filters listed)
m (Protected "Projects:Go Bible": With jolon.org having been closed, we are now the only archive of information about Go Bible. ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) [cascading])
 
(87 intermediate revisions by the same user not shown)
Line 1: Line 1:
''New page under construction - content initially copied from [[User:David Haslam]]''.
+
'''Go Bible''' is a free Bible viewer application for Java mobile phones, originally developed by [http://www.facebook.com/jolon Jolon Faichney]. Following the rapid growth of smart phones, apps like Go Bible for feature phones are now well past their peak popularity. Go Bible is no longer being actively developed.
 
 
'''Go Bible''' is a free Bible viewer application for Java mobile phones, originally developed by Jolon Faichney.
 
  
 
== Collaboration between CrossWire and Go Bible ==
 
== Collaboration between CrossWire and Go Bible ==
Line 10: Line 8:
 
My contacts at [http://www.wycliffe.org/ 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.  
 
My contacts at [http://www.wycliffe.org/ 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 [http://gobible.jolon.org/developer/welcome.html Go Bible Creator].  So if you are interested, please leave a message in my Talk page.
+
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 [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]].  So if you are interested, please leave a message in my [[User talk:David Haslam|Talk]] page.
  
 
=== Go Bible on the CrossWire website ===
 
=== Go Bible on the CrossWire website ===
  
The are now some pages still under construction at [http://crosswire.org/gobible]. Please help to improve them especially now there is a link from the [http://crosswire.org CrossWire] main page.
+
Please visit [http://crosswire.org/gobible here]. Please help to improve these pages especially now there is a link from the [http://crosswire.org/ CrossWire] main page.
  
 
=== Latest Release ===
 
=== 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:
+
Go Bible Creator version '''2.4.5''' was released as a maintenance fix on 2013-11-12.
* http://gobible.googlecode.com/files/GoBibleCreator_Version_2.4.0.zip
 
* http://go-bible.googlegroups.com/web/GoBibleCreator_Version_2.4.0.zip
 
* http://go-bible-dev.googlegroups.com/web/GoBibleCreator_Version_2.4.0.zip
 
  
Release notes (change log) is contained within the ZIP file, yet can also be viewed online at
+
For download details, please see [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]].
* http://code.google.com/p/gobible/wiki/GoBibleCreatorReadMe
+
 
 +
Now that smart phones have overtaken feature phones, Go Bible software is no longer being actively developed.
  
 
==== Source code ====
 
==== Source code ====
The most up to date source code version for Go Bible and Go Bible Creator is https://crosswire.org/svn/gobible/
+
Until 1st March 2014, the most up to date source code version for '''Go Bible''' and '''Go Bible Creator''' was https://crosswire.org/svn/gobible/
  
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 [http://community.crosswire.org/]
+
There is one branch called [[Projects:Go Bible/SymScroll|SymScroll]] developed by Daniel Sim to support touch screen only phones. Although development by CrossWire has ceased, Daniel still has '''GitHub''' as his source code repository for the '''SymScroll''' branch. See [https://github.com/xkjyeah/gobible-creator gobible-creator].
  
=== Current activities ===
+
NB. The source code for '''GoBibleCore''' isn't part of Daniel's branch.
  
==== Software development ====
+
=====GoBibleCore=====
 +
The source code for GoBibleCore is now available in [https://github.com/DavidHaslam/GoBibleCore GitHub].
 +
* 2017-11-17 It was updated with the latest code in our SVN server.
  
We have recently 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.
+
=== Activities ===
  
SIL are adapting Go Bible Creator to be capable of specifying [[File Formats#XHTML|XHTML-TE]] as a source text format, in order to provide further support for their [http://www.sil.org/computing/fieldworks/TE/ FieldWorks Translation Editor].
+
==== Software development ====
 +
In some African countries, even Android phones are too expensive for many, so there's still a useful role for Go Bible.
  
==== Go Bible Forum ====
+
As of November 2017, there's some new development activity started to add a '''Section Headings''' feature to Go Bible. The new activity is being done on [https://github.com/DavidHaslam/GoBibleCore GitHub] rather than in CrossWire SVN.  
Please visit the [http://jolon.org/vanillaforum/ Go Bible Forum]. On the forum you will find 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.
 
  
== Tasks list ==
+
In March 2011, we released a maintenance update as '''Go Bible Creator 2.4.1''' to fix some issues in the internal manifest.
  
=== CrossWire/GoBible ===
+
In April 2010, we released '''Go Bible 2.4.0''' (together with Go Bible Creator). The new release includes some improvements and bug fixes to GoBibleCore. This was the first change involving GoBibleCore since version 2.2.6. All the changes from 2.3.0 through 2.3.6 affected GoBibleCreator only.
  
''These are some of the outstanding tasks for the CrossWire Go Bible project. Feel free to comment on these in my talk page.''
+
SIL adapted Go Bible Creator to be capable of specifying [[File Formats#XHTML|XHTML_TE]] as a source text format, in order to provide further support for their [http://www.sil.org/computing/fieldworks/TE/ FieldWorks Translation Editor].
  
==== Housekeeping tasks ====
+
==== Go Bible Forum ====
# Transfer source code from Google code – done 2009-02-28 (thanks to scribe)[http://groups.google.com/group/go-bible-dev/t/b1abfb96f146f691]
+
The [http://jolon.org/vanillaforum/ Go Bible Forum] database permanently crashed some time ago and is unlikely to be repaired.
# Create new CrossWire project for Go Bible
 
# Setup for GoBible software bug tracking on CrossWire server
 
# Construct a SVN directory for managing Go Bible User Interface (UI) translations.
 
  
==== Website content tasks ====
+
There's a snapshot archive of the forum on the Wayback Machine [https://wayback.archive.org/web/20150727055430/http://jolon.org:80/vanillaforum/ here]. However, there's no way to login even if you were registered, so the full set of categories will remain hidden.
# Update the [http://crosswire.org/gobible/ web-pages] under construction
 
# Provide screenshots to adorn the web-page
 
# Add link from SWORD Project page header
 
# Mirror most of Jolon's Go Bible website on the CrossWire server (we have his permission)
 
  
==== Programming tasks ====
+
=== Tasks list ===
# Investigate software [http://code.google.com/p/gobible/issues/list issues] listed in Google code
 
# Review items listed in [http://code.google.com/p/gobible/wiki/GoBibleRoadmap GoBibleRoadmap]
 
# Automate the rebuilding of all the Go Bible applications - required after new release of Go Bible
 
# Define requirements for new development tools
 
  
==== Documentation tasks ====
+
Please refer to [[Projects:Go Bible/Tasks]].
# Describe how to set up the JDK [[Go Bible Build Environment|build environment]] for developing GoBibleCreator and GoBibleCore.
 
  
 
== Development Tools ==
 
== Development Tools ==
Line 73: Line 59:
 
=== Preprocessing tools ===
 
=== 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''.
+
For Go Bible Creator, there is a '''USFM Preprocessor''' program available for Windows. This is not hosted on the CrossWire SVN server. ''See below for further details''.
 +
 
 +
* [http://gbcpreprocessor.codeplex.com/ 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. The latest version also includes an option to fix any versification issues detected in the USFM files. Linux users may find it useful to learn that this .NET application works in [http://en.wikipedia.org/wiki/Mono_%28software%29 Mono], though you may need to use Open Office to grab the contents of the clipboard.  
  
* [http://gbcpreprocessor.codeplex.com/ 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.
+
* 2017-11-17 The source code for [https://github.com/GeoDirk/gbcpreprocessor Go Bible Creator USFM Preprocessor] has been copied to GitHub.
  
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''.
+
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''. This was written by [[User:Lars Huttar|Lars Huttar]].
  
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''.
+
* This third party project [http://code.google.com/p/osis-converters/ osis-converters] includes a Perl script that converts OSIS files to make Go Bible applications.
  
 
==== TextPipe filters ====
 
==== TextPipe filters ====
Line 89: Line 77:
 
* '''VPL to ThML''' – a filter to convert from Verse Per Line format to Theological Markup Language
 
* '''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)
 
* '''VPL to USFM''' – a filter to convert a single VPL file to a set of USFM files (with only basic markup)
* '''VPL to VPL'''  – a filter to convert from my VPL format to CrossWire VPL format (replace booknames)
+
* '''My VPL to CrossWire VPL'''  – a filter to convert from my VPL format to CrossWire VPL format (replace booknames)
 +
* '''CrossWire VPL to my VPL'''  – a filter to convert from CrossWire VPL format to my VPL format (replace booknames)
 
* '''VPL to IMP'''  – a filter to convert from CrossWire Verse Per Line format to SWORD Import format
 
* '''VPL to IMP'''  – a filter to convert from CrossWire Verse Per Line format to SWORD Import format
 +
* '''diatheke to ThML''' – a filter to convert from the SWORD utility [[Frontends:Diatheke|diatheke]] output format to simple ThML format
  
 
* '''ThML to Books''' – a filter to extract all the Bible book names from a ThML file
 
* '''ThML to Books''' – a filter to extract all the Bible book names from a ThML file
Line 97: Line 87:
  
 
Whenever a particular need arises, I often resort to making a quick TextPipe filter to process text files from other formats.
 
Whenever a particular need arises, I often resort to making a quick TextPipe filter to process text files from other formats.
 +
 +
==== AutoIt Scripts ====
 +
I have created some [http://www.autoitscript.com/site/ AutoIt] scripts that are useful for various file format conversions in Windows. These automate some tasks I've often encountered during preprocessing translators' source text files. They can be downloaded from a shared [http://www.box.com/s/tzn03tgx2zajrflpbebr folder] in my box.com account. These are now available:
 +
 +
* '''MSWord to RTF''' – Convert multiple MS Word documents to Rich Text Format by means of MS Word
 +
* '''RTF to RTF''' – Convert RTF files (from any application) to simpler RTF files by means of Wordpad
 +
* '''RTF to Unicode''' – Convert multiple RTF files to Unicode text format by means of WordPad
  
 
=== Miscellaneous ===
 
=== Miscellaneous ===
Line 103: Line 100:
  
 
* How to convert a Go Bible J2ME application into an Android package. See [http://gobible.blogspot.com/2009/10/go-bible-for-android-phones.html]
 
* How to convert a Go Bible J2ME application into an Android package. See [http://gobible.blogspot.com/2009/10/go-bible-for-android-phones.html]
 +
 +
* How to change the User Interface (UI) for an existing Go Bible application. See [[Projects:Go Bible/Changing the UI|Changing the UI]].
 +
 +
== Integration of Go Bible in other software ==
 +
A number of other Bible translation related software applications have integrated Go Bible as an output format option. These include:
 +
* [http://sites.google.com/site/bibledit/ Bibledit] – (old version)
 +
* [http://pathway.sil.org/ SIL Pathway]
 +
 +
'''Notes:'''
 +
# The Go Bible applications made in this way may not include all the rich features available in applications made using Go Bible Creator.
 +
# There are no procedures in place to ensure that the output option matches the latest version of Go Bible software.
  
 
=== Bibledit: Export data to Go Bible ===
 
=== Bibledit: Export data to Go Bible ===
I have been informed that Teus Benschop has begun to integrate some functionality of Go Bible Creator into [http://sites.google.com/site/bibledit/ Bibledit]. This could offer a convenient route for [http://paratext.ubs-translations.org/ Paratext] users to convert from USFM to Go Bible. ''I am awaiting further details''.
+
Teus Benschop has integrated some functionality of Go Bible Creator into [http://sites.google.com/site/bibledit/ Bibledit].
  
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,
+
The Bibledit wiki has very sparse information about export to Go Bible. To navigate to this subsection, choose Reference | Menu | File | Export # 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.
 
: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.
+
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.
  
=== Integrate JSword into Go Bible Creator? ===
+
=== SIL Pathway ===
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 [http://www.crosswire.org/jsword/ JSword] API to extract the Biblical text.
+
SIL Pathway is written in C#. It can be integrated into using it with either UBS Paratext or SIL Field Works. One of the output formats is for Go Bible. The program calls upon a local copy of Go Bible Creator. Before sending USFM input text to that, some internal pre-processing is done to cope with:
 +
# Verse ranges
 +
# Split verses
 +
We are in touch with the project leader, Greg Trihus.
  
 
== Further information ==
 
== Further information ==
Line 125: Line 135:
 
''To join the team blog as a contributor, please email [[User:David Haslam|David Haslam]]''.
 
''To join the team blog as a contributor, please email [[User:David Haslam|David Haslam]]''.
  
[[Category:Projects]]
+
[[Category:Projects|Go Bible]]
[[Category:Go Bible]]
+
[[Category:Go Bible|Go Bible]]
[[Category:Mobile]]
+
[[Category:Mobile|Go Bible]]
[[Category:Bibledit]]
+
[[Category:Bibledit|Go Bible]]

Latest revision as of 11:41, 8 January 2018

Go Bible is a free Bible viewer application for Java mobile phones, originally developed by Jolon Faichney. Following the rapid growth of smart phones, apps like Go Bible for feature phones are now well past their peak popularity. Go Bible is no longer being actively developed.

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

Please visit here. Please help to improve these pages especially now there is a link from the CrossWire main page.

Latest Release

Go Bible Creator version 2.4.5 was released as a maintenance fix on 2013-11-12.

For download details, please see Go Bible Creator.

Now that smart phones have overtaken feature phones, Go Bible software is no longer being actively developed.

Source code

Until 1st March 2014, the most up to date source code version for Go Bible and Go Bible Creator was https://crosswire.org/svn/gobible/

There is one branch called SymScroll developed by Daniel Sim to support touch screen only phones. Although development by CrossWire has ceased, Daniel still has GitHub as his source code repository for the SymScroll branch. See gobible-creator.

NB. The source code for GoBibleCore isn't part of Daniel's branch.

GoBibleCore

The source code for GoBibleCore is now available in GitHub.

  • 2017-11-17 It was updated with the latest code in our SVN server.

Activities

Software development

In some African countries, even Android phones are too expensive for many, so there's still a useful role for Go Bible.

As of November 2017, there's some new development activity started to add a Section Headings feature to Go Bible. The new activity is being done on GitHub rather than in CrossWire SVN.

In March 2011, we released a maintenance update as Go Bible Creator 2.4.1 to fix some issues in the internal manifest.

In April 2010, we released Go Bible 2.4.0 (together with Go Bible Creator). The new release includes some improvements and bug fixes to GoBibleCore. This was the first change involving GoBibleCore since version 2.2.6. All the changes from 2.3.0 through 2.3.6 affected GoBibleCreator only.

SIL adapted Go Bible Creator to be capable of specifying XHTML_TE as a source text format, in order to provide further support for their FieldWorks Translation Editor.

Go Bible Forum

The Go Bible Forum database permanently crashed some time ago and is unlikely to be repaired.

There's a snapshot archive of the forum on the Wayback Machine here. However, there's no way to login even if you were registered, so the full set of categories will remain hidden.

Tasks list

Please refer to Projects:Go Bible/Tasks.

Development Tools

Preprocessing tools

For Go Bible Creator, there is a USFM Preprocessor program available 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. The latest version also includes an option to fix any versification issues detected in the USFM files. Linux users may find it useful to learn that this .NET application works in Mono, though you may need to use Open Office to grab the contents of the clipboard.

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. This was written by Lars Huttar.

  • This third party project osis-converters includes a Perl script that converts OSIS files to make Go Bible applications.

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)
  • My VPL to CrossWire VPL – a filter to convert from my VPL format to CrossWire VPL format (replace booknames)
  • CrossWire VPL to my VPL – a filter to convert from CrossWire VPL format to my VPL format (replace booknames)
  • VPL to IMP – a filter to convert from CrossWire Verse Per Line format to SWORD Import format
  • diatheke to ThML – a filter to convert from the SWORD utility diatheke output format to simple ThML format
  • ThML to Books – a filter to extract all the Bible book names from a ThML file

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

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

AutoIt Scripts

I have created some AutoIt scripts that are useful for various file format conversions in Windows. These automate some tasks I've often encountered during preprocessing translators' source text files. They can be downloaded from a shared folder in my box.com account. These are now available:

  • MSWord to RTF – Convert multiple MS Word documents to Rich Text Format by means of MS Word
  • RTF to RTF – Convert RTF files (from any application) to simpler RTF files by means of Wordpad
  • RTF to Unicode – Convert multiple RTF files to Unicode text format by means of WordPad

Miscellaneous

  • How to convert a SWORD module to Go Bible. See [1].
  • How to convert a Go Bible J2ME application into an Android package. See [2]
  • How to change the User Interface (UI) for an existing Go Bible application. See Changing the UI.

Integration of Go Bible in other software

A number of other Bible translation related software applications have integrated Go Bible as an output format option. These include:

Notes:

  1. The Go Bible applications made in this way may not include all the rich features available in applications made using Go Bible Creator.
  2. There are no procedures in place to ensure that the output option matches the latest version of Go Bible software.

Bibledit: Export data to Go Bible

Teus Benschop has integrated some functionality of Go Bible Creator into Bibledit.

The Bibledit wiki has very sparse information about export to Go Bible. To navigate to this subsection, choose Reference | Menu | File | Export # 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.

SIL Pathway

SIL Pathway is written in C#. It can be integrated into using it with either UBS Paratext or SIL Field Works. One of the output formats is for Go Bible. The program calls upon a local copy of Go Bible Creator. Before sending USFM input text to that, some internal pre-processing is done to cope with:

  1. Verse ranges
  2. Split verses

We are in touch with the project leader, Greg Trihus.

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 David Haslam.