[sword-devel] Proposal: New sword front-end -- lcdbible

Lynn Allan sword-devel@crosswire.org
Mon, 1 Dec 2003 12:12:24 -0700


IMHO, I believe there is an unfilled niche for Bible software that works
*very well* on hopelessly obsolete computers.

LcdBible: Lowest Common Denominator Bible

It would be specifically targetted to people with obsolete computer systems
with an unreliable/nonexistent internet connection. Missionaries in Africa
come to mind. EasyEnglish Bible translators?

Tentative Requirements Document for ver 1.0:
* Delivered by COB, April 11, 2004 (Easter)
* LdcBibleSetup.exe fits on 1.44 floppy disk, including KJV-Lite NT.
Downloads in less than 4 minutes on 28.8 POTS modem.
* Platform requirements are circa 1997:
   - 233 Pentium
   - 32 meg memory
   - 800 * 600 res (color or b/w)
   - 1 gig slow hard drive (16ms or faster)
   - Win98-Second Edition
* With above components, LcdBible.exe launches in less than 5 seconds.
* Functionality is limited to simple drop-down comboboxes for unambiguous
specification of Book and Chapter. No parsing. The entire specified chapter
will be displayed in a read-only text window with scroll bar. Copy/paste is
supported. That is the extent of the user interface.
* (Under consideration: brute force "Search" capability a'la Find "do it
heartily" would find Col 3:23. Find of "savior lord" would return nothing.)
* Stubs for Context Sensitive Help (CSH) via WinHelp.
* English only. No internationalization.
* No commentaries or dictionaries. No provision for commentaries or
dictionaries.

Tentative Requirements Document for ver 0.9:
* Delivered by COB, December 25, 2003 (Christmas -- 24 days eta)
* Specifications as noted above, except CSH.
* Modern computer components allowed. Launches in under 1.0 second.
* LdcBibleSetup.exe does not have to fit on floppy.

Tentative Requirements Document for ver 1.1
* Delivered by COB, July 4, 2004
* Newbie friendly community:
   --- Developer user manual drafted (twiki?)
   --- User manual drafted
   --- Installation manual drafted
   --- Tutorial drafted with no more and no less than 12 steps
   --- "Programming for Dummies 101" coding standards. *NO* cascading
function calls.
   --- Step into debugging facilitated. *NO*   if (count = GetInfo() > 0)
{ do something }
   --- Two person team programming encouraged, if possible / applicable.
* Objective: ex-newbies equipped per Eph 4:11-12 to participate in the
"show" (swordwin and/or sword-api)

Tentative Design/Implementation specs for ver 0.9:
* Use mfc42.dll and msvcrt.dll to minimize download size and avoid dll-heck
* (Under consideration. gui is so limited that could be practical to use
Win32 api and avoid mfc42.lib altogether.)
* Use nsis-198 installer
* Use Visual Studio 98 sp5.
* Use experimental "plug-in" swordlib with modified VerseKey containing
CanonVersifier object
* Uses dll's rather than statically linked lib

Tentative Requirements/Design specs for ver 2.0
* Port to CBuilderX and clx widgets for cross platform linux compatibility
* KJV-Lite OT and NT both available. BBE and WEB available.
* Downloads with 28.8 POTS modem in less than 30 minutes.
* Available by COB, Dec 25, 2004 (Christmas)
* Accepts "plug-ins" such as InVerse that can use published api via dll +
lib

Other Notes and caveats:
* Weekly releases that compile, link, and at least launch
* It will embrace XP development. Ver 1.1 will disallow:
  -- weekly releases without doxygen 1.3.x or later documentation.
  -- weekly releases of gui logic without Visual Test 4.0a
  -- weekly releases of non-gui logic without cppunit 'scaffolding'

* This should keep me busy and not pestering people :-)