Projects:Go Bible/SymScroll

From CrossWire Bible Society
Revision as of 16:08, 10 April 2011 by David Haslam (talk | contribs) (Other numeral systems: methods & default)

Jump to: navigation, search

Symmetric Scrolling Branch

New page under construction.

Raison d'être

The motivation for developing the SymScroll branch of Go Bible was to provide support for touch screen only phones that have Java ME. For touch screen phones with a hardware menu button, using SymScroll you can safely get rid of the on-screen virtual keypad and retain full Go Bible functionality, thus taking advantage of the full area of the screen for the application display.

Features

Enhanced/changed features

  • Symmetrical scrolling
  • Touch screen full support

New features

  • Text added by translators can be displayed (e.g. in italics)
  • Line breaks
  • Psalm titles
  • Other numeral systems (e.g. Arabic, Devanagari, Thai)
  • Search next
  • Key mapping (e.g. for phones with QWERTY keyboard)

Bug fixes

Some existing software bugs are being fixed. Details will be included in the release notes.

Implementation details

Symmetrical scrolling

Pressing 'up' now goes up by one screen, and pressing 'down' still goes down by one screen. This should be much more intuitive than the previous method. [1]

The previous method had its merits, namely speed, which this branch assumes is less relevant in the era of phones that can emulate Nintendo Gameboys.

  1. In which 'up' went up to the start of the previous verse.

Touch screen support

The Biblical text display now includes simple book and chapter headings, such that during continued scrolling, there is a better visual feedback for navigating.

The Go Bible Menu is accessed by touching anywhere in the top bar.

Key mapping

This new feature facilitates remapping keys to the Go Bible navigation functions, thus making it possible for the user of a phone with a QUERTY keyboard (for example) to assign keys more conveniently. This feature requires several new UI properties.

The new Search next feature is by default assigned to the previously unused "0" key.

Other numeral systems

The new UI property called UI-Digits facilitates using a different numeral system for chapter and verse numbers. The method is to specify a ten character string corresponding to the digits 0 through 9. Examples: Default (if omitted):

UI-Digits: 0123456789

Eastern Arabic numerals:

UI-Digits: ٠١٢٣٤٥٦٧٨٩

Farsi numerals:

UI-Digits: ۰۱۲۳۴۵۶۷۸۹

Devanagari numerals:

UI-Digits: ०१२३४५६७८९

Thai numerals:

UI-Digits: ๐๑๒๓๔๕๖๗๘๙

Go Bible Creator

The SymScroll branch of Go Bible Creator supports the new features. Several new UI properties have been defined. Some further properties are available for use in collections text files.

New UI properties

Here is a list of the new and re-used user interface (UI) properties:

UI-Book: Book
UI-Chapter: Chapter
UI-Verse: Verse
UI-Chapter-Number: Chapter %1
UI-Search-Next: Search next
UI-Digits: 0123456789
UI-Delete-All-Bookmarks: Delete all bookmarks

Notes:

  1. This list is still incomplete.
  2. Parameter %1 in UI-Chapter-Number is a placeholder for the numerical value. This facilitates having a different position for the number in the displayed chapter headings.
  3. In version 2.4.x, displaying "Delete all bookmarks" was a kludge using "UI-Delete", "UI-All" and "UI-Bookmarks".

Collections text file properties

Here is a list of the new collections text file properties:

Support for XHTML-TE

The SymScroll branch of Go Bible Creator incorporates the extension to specify XHTML-TE as the source text format. The code is as provided by one of the programmers at SIL in Dallas. It was designed to support their FieldWorks Translation Editor.

Go Bible data format

Go Bible data format already assigned the control character code \x01 to toggle on/off red letters for Words of Jesus.

This method has been extended as follows:

\x01 – red letters
\x02 – 
\x03 – 
\x04 – 
\x05 – 

As Go Bible makes no standard use of control characters, it was envisaged that any UTF-8 character up to \x1F might be used for further enhancements to the Go Bible data format.

Backwards compatibility

The SymScroll branch of GoBibleCore is backwards compatible with existing Go Bible applications. This means that earlier applications can be changed to SymScroll merely by replacing the file gobiblecore2.jar and using the Update option of Go Bible Creator to rebuild the application.

Development Status

The SymScroll branch is still being actively developed. Most of the features are already implemented. The branch is at the testing and debug stage. No milestoned release has yet been announced.