[mobile-devel] GoBible and Shared RMS for IPC

Stephen Denne stephen at datacute.co.nz
Thu Nov 20 15:23:36 MST 2008


I've looked into Scribe's UI#-Language-Name, UI#-property implementation, but I have not yet looked at the important side of working with these through GoBibleCreator, so I know that what I say here doesn't consider the full situation....

I'd have chosen a different implementation: supporting multiple language preferences in a similar way to Java SE, using country and language codes as suffixes, with one file per language, and reading a new properties file (or a new stored RMS record) when the preferences are saved. This would need an additional new properties file listing included languages, and their codes.

For bible book names, I'll revive my incomplete "BibleSwitchboard" idea from a number of years ago, and convert it to JavaME... which was essentially helper applications to manage and provide a gui for updating bible book names and lists of abbreviations the user wishes to use for referring to them.

My old idea used IPC, which is very difficult in Java ME. This'll work most simply on MIDP 2 using shared RMS. MIDP 1 GoBible will still work, but not be able to interact with helper applications. Any (popular) helper applications developed could be integrated into GoBible so that they'd then be usable under MIDP 1)

The settings to use for different languages could be stored as different records.

Other idea (in addition to book names) for things which GoBible could share with helper applications are:
- Shared "current" verse reference (can be used by other applications that have some concept of a current verse, or to direct GoBible to display a different verse)
- Current verse text
- Currently chosen bible (for a future GoBible that supports multiple bibles)
- Bookmark references
- Bookmark titles
- Notes 
- Viewing (verse selecting) history references
- Excerpts
- Search result references (can be used by applications which generate a list of references, like concordances, reading planners, or TSK style application that convert your current verse into a list of related verses)
- Structure of currently selected bible. (So search results/verse selection tools can limit the used references appropriately)

Another helper application could be used to sync/backup these settings to a PC.

I'm happy to design and code all this. I'm limited in access to devices to test it. I've a MIDP2 device with lots of extras, and a low-capability MIDP1 device.

One other idea I'll record here since I seem to be performing a brain dump at the moment, is to increase backwards compatibility in GoBible's preferences RMS store through using multiple records, a new number for each breaking change in preferences. So record 1 stores the preferences that the current version of GoBible understands. If this list changes in a later version of GoBible (perhaps saving chosen colours instead of theme numbers) then save those as record 2. What this gives is the ability for users to keep their preferences when updating to a newer GoBible. The structure remains the same so you do not end up with old data in places that have a new meaning. You can also share your preferences with other applications, and be able to release new versions of GoBible without breaking the other applications.

So may I humbly request a development branch, (and commit rights) of crosswire's GoBibleCore and GoBibleCreator SVN that I can start trying out these ideas publicly?

I'll repeat: I'm new to the Java ME. Consequently it is likely that there are all kinds of problems with my ideas, and I welcome your thoughts.

Regards,
Stephen.




More information about the mobile-devel mailing list