Sword Frontend Ideal Feature List
General UI features
- Bible reading
- Parallel view for Bibles
- Parallel view for commentaries
- Search (see below)
- Hyperlinked scripture references
- Full unicode support/proper encoding support for all interface elements and all modules
- Font choice on a global level and on a per language and/or per module level
- Transcoding and transliteration support (probably implemented with ICU).
For bibles, the following should be able to be turned on and off (if included in the underlying module and if the frontend does not implement that feature in some other way):
- Cross references (display & toggle)
- Footnotes (display & toggle)
- Strong's Numbers (display & toggle)
- Morphology (display & toggle)
- Toggling and/or simultaneous display of textual variants
- Red letters of Christ
- Toggling of Hebrew cantillation (important), vowels (less important), & morpheme segmentation (important?) and of Greek accents (fairly unimportant)
Genbooks, dictionaries and commentaries should all be supported.
The frontend should support user created material. Users should be able to put references in to any passage in the bible, or to any other module. Users should be able to create both commentaries and hierarchical books (and possibly dictionaries, i.e. topical notes).
Users should also be able to manage (create, edit, save) verse lists, possibly with comments on each verse.
Users should be able to manage bookmarks in a tree list.
Search should have the following features:
- Multiword search
- Phrase search
- Search Ranges (user definable)
- Implemented for all modules
- Search in multiple modules simultaneously
- Search history
The search should also be able to complete a search very quickly (<5 seconds). It should by default match on full words (that is, searching for eat doesn't match verses with meat). This will probably be done using (C)lucene.
Ideally the different Sword search engines would be supported.
The frontend should be easy for users to use. Most of its features (and all of its major features) should be able to be used without having to look at the manual. Also, it should not contain bugs or crash.
Module installer features
The frontend should allow remote installation of modules from both the Crosswire website, and any other websites the user adds to their list. It should also allow the user to install the downloaded zips. Preferably, it should be able to install any of the forms of zip downloadable from the Crosswire website - raw zip, windows or mac.
The ideal frontend should be open source (preferably GPL).