[jsword-devel] jsword on j2me

DM Smith dmsmith555 at yahoo.com
Fri Dec 15 09:37:33 MST 2006

    I am excited about the prospect of a j2me version of JSword!

Kobus Grobler wrote:
> Greetings.
> I've been thinking about implementing a mobile version of jsword for a 
> while now and have concluded that there's not much (if any) of the 
> current jsword libraries that can be used on mobile devices. This 
> means it has to be implemented almost from scratch. I have a lot of 
> experience on the j2me platform, but cannot do this on my own, so I 
> would like to know if a few other people would like to commit to time 
> to this so I don't start something that will not be completed. I 
> really think a mobile version with a few "special" features will be of 
> help to our brothers that live in countries where access to a bible is 
> still an issue (but not to a cellphone...). So internationalization 
> should be a priority.
J2ME has been on our wish list for years, but there has always been so 
much to do in rounding out the JSword implementation of the Sword API. 
We have almost completed that task.

The other thing that has held me back is that I have no experience with 
j2me. So, I have focused on what I do most effectively.

 From a J2ME perspective only the common.jar and jsword.jar are of any 
interest. And only a subset of common would be used. There is a lot in 
there that would not pertain to a J2ME environment. Obviously, 
common-swing.jar and bibledesktop.jar are out. A new UI would have to be 

I'm concerned by the "not much (if any) of the current jsword libraries 
that can be used" statement. Could you help me understand this? Should 
we target 1.0 or 1.1? What are the pros and cons?

My guess is that J2ME does not have a robust collections framework. Is 
it possible for us to use a collections framework (say GNU or homegrown) 
to bridge the gap?

If at all possible, I'd like for a core jsword implementation to be 
useable on all platforms/devices. That is, I'd rather not duplicate 
behavior. I'd rather evolve the code than create a parallel implementation.

The most critical packages will be o.c.j == org.crosswire.jsword
    o.c.j.book (Interface code)
    o.c.j.book.basic (Abstraction code)
    o.c.j.book.sword (Implementation code)
    o.c.j.filter (Interface code)
    o.c.j.versification (KJV versification code)
    o.c.j.passage (Interface, abstraction and implementation code)

The core architecture of JSword is its xml handling of sword modules. 
Does J2ME allow for xml and xslt?

> A few questions:
> 1)Has anybody else started/experimented with this?

Yes. Zhoujun has expressed interest in eRCP as a j2me implementation. 
eRCP is in alignment with some of the other things that we want to do.

> 2)Can we use the "incubator" repo?

Yes. You have write permissions to there (as does everyone else). I'd 
suggest creating a directory "eRCP" and under that create your directory 

> 3)Would anybody else be interested in helping (especially with 
> internationalization)?

I can provide guidance as to how to understand the code. My approach to 
internationalization is to create a framework and allow people to 
translate it as they see fit. Currently we have a German and a Farsi 
effort underway to translate BibleDesktop.

We already have i18n Bible book names in about 30 languages.

In His Service,
    DM Smith

More information about the jsword-devel mailing list