[sword-devel] More Detailed Design of curses version of bible.

Glenn Reed sword-devel@crosswire.org
Fri, 7 Jan 2000 20:21:17 +1300 (NZDT)


Here is my proposal so far...

Prelimary Design Specification of NCurses Bible.

1)  Implement Basic bible functionality

2)  Implement Extended bible functionality

3)  Implement Lofty bible functionality

Also I would like to think of a better name than Ncurses bible.  But I can
wait for that.

Basic Bible functionality

* Implement bible with Ncurses functionality with colour and mouse support
but none of these being essential requirements.

* At least two types of keyboard mappings handled by a configuration file. 
One for "at the computer" with Page Up and Page Down keys chosen as the
default mapping.  One for telnet and perhaps using something similar to the
wordstar key mappings or those used by the 'joe' editor.  Perhaps using a 
key mappings file with settings something like:

Page-Up		<ESC>[5~
Page-Down	<ESC>[6~
Up-Arrow	<ESC>[A
Down-Arrow	<ESC>[B

and these can be changed by editing a text file or selecting another premade
text file.

* Reference List based bible.

This is just an idea I've been thinking about after seeing some deficiencies
in some older bible programs.  (I don't know how the bibletime computer
software works as I haven't downloaded it except for a couple of
screenshots.  I also don't __yet__ have a computer powerful enough to use

The basic building block of the user interface being the reference list. 
The reference list is a window containing a list of scriptures relating to a
central idea.  This isn't a rigid thing.  It might be, for instance,
scriptures I have been thinking about last Tuesday.  But its also based
around the way the Holy Spirit seems to work.  Often I will receive
scriptures along a central theme and I will be given a number of scriptures
which relate along a common phrase, idea, symbol or figure.  Because these
are personal revelations of scripture they may not be covered in coventional
commentaries and such.  However for the purposes of the program the
reference list is simply a window containing scripture references with user
entered annotated text attached to that window.  This is over and above
annotated text attached to individual verses.

There can exist more than one reference list but there must exist at least
one.  I can call this the Main Reference List window.  Scripture references
can be moved to and from reference lists at will.  These Reference Lists are
permanent and so do not finish upon exiting of the program.  So perhaps I
should call them something else rather than a window.  For now I will just
call them a reference list.

Relationship lines can also be added between two or more reference lists
with again anotated texts.  These also are permanent.

Reference lists can contain references to scripture translations,
commentaries and dictionaries.

* Included Notepad Editor for making notes about references lists, or
verses, other commentary references, etc.  Uses key mapping file.

* Quickly find a reference list from a list of user annotated text. 
Basically a reverse index of some sort.

* Quickly find a user annotated reference from a list of the user annotated
text.  Again a reverse index.

Other things I haven't thought through yet.

* Speech Synthesis (???)

* Voice Recognition (???)

* I would also like to make my data files, inasmuch as possible, in some way
compatible with Bibletime and other GPL bibles.  So you can exchange
reference list notes (Import \ Export) between each program.

Anyway, what does everyone think?

In Christ

Glenn Reed		Email: g.reed@clear.net.nz