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 other websites the user adds to their list.
- It should also allow the user to downloaded and install zips (via the remote installer).
- All frontends MUST be GPLv2 licensed. (This should be obvious. The SWORD Project is GPLv2-licensed. All derivative works, such as frontends and utilities, must be GPLv2 or they would be in violation of CrossWire's copyright and the copyrights of 3rd parties whose code has been incorporated into Sword, e.g. the FSF.)