Mobile Java Platform

Bob Deanna bdeanna at
Thu Feb 1 16:27:28 CET 2007


Regarding J2ME CLDC, you are right, there is extensive support for
multimedia, messaging, PIM, bluetooth etc...via the ever growing list of

CDC is helpful if you are building server/service/agent functionality on
the device.

I agree that support for both is ideal, and indeed that is what MIDP
v3.0 specifies.

Mono is really maturing, and is quite robust with v1.2 released

Success stories:


-----Original Message-----
From: Terrence.Barr at Sun.COM [mailto:Terrence.Barr at Sun.COM] 
Sent: Thursday, February 01, 2007 8:38 AM
To: Bob Deanna
Cc: Christopher Heiny; scottoberg at;
koen at; openmoko-devel at
Subject: Re: Mobile Java Platform

Bob Deanna wrote:
> Terrence,
> Your assessment is right on target.  PhoneME or JamVM are probably the

> best bests.
> I think most Java developers would prefer CDC, rather than CLDC 
> because CLDC is geared for Java clients and is pretty limited as a

Not sure I agree. Both worlds have benefits and it really depends on
your target market and audience. There is a lot of functionality (JSRs)
that are available only in Java ME at the moment. Having both is best.

> A port of Mono (possibly by the Mono folks) would be awesome too, 
> since that would open the device to .NET developers.

I'd be curious to know where Mono stands these days.

> The other spec to keep in mind is MIDP 3.0.  Arguably, this may be the

> most important Java spec to have support for on the device.
> I assume PhoneME would ultimately support such.
> There are a lot of great features targeted for MIDP 3.0/JSR 271 
> (faceless midlets, midlet daemons, inter-midlet 
> name a few).
> See:
> 71

Yes, MIDP 3.0 is very important. phoneME will have a MIDP 3.0
implementation so doing a phoneME port to Neo now would naturally make
MIDP 3.0 available when it's ready.

-- Terrence

> Regards,
> Bob
> -----Original Message-----
> From: Terrence.Barr at Sun.COM [mailto:Terrence.Barr at Sun.COM]
> Sent: Wednesday, January 31, 2007 4:00 AM
> To: Christopher Heiny
> Cc: openmoko-devel at; Bob Deanna; 
> scottoberg at; koen at
> Subject: Re: Mobile Java Platform
> Chris,
> There is quite a lot of interest in Java on OpenMoko, both from the 
> Java SE as well as the ME perspective. I think Java will be critical 
> to the success of OpenMoko given the huge software base that would be 
> instantly available once the Java stack(s) are ported to OpenMoko.
> Based on the specs of Neo 1973 I believe Java SE is possible but it 
> would probably tax the system quite a bit so I think it is not a slam 
> dunk.
> There are two important parts to a Java SE port:
> - The VM itself
> - The class libraries
> As for the VM there are several open source options such as JamVM, 
> Kaffee, Cacao, and Apache Harmony. Of course, now there is also Sun's 
> Java SE implementation that is being open sourced under GPLv2
> As for the class libraries there is really not much point in 
> reinventing the wheel here multiple times. The GNU Classpath project 
> is seriously considering moving to Sun's class library implementation 
> now that it is under GLPv2. I expect that eventually the market will 
> rally around Sun's implementation.
> As for the effort of a complete and functional Java SE port I can't 
> really make a statement ... I haven't worked on such a port before.
> Since compatibility with other Java SE implementations is key there 
> will have to be a lot of focus on compatibility and testing (including

> running TCKs).
> Java ME (both CDC as well as CLDC configurations) are both a good 
> match for the Neo 1973 specs. CDC is based on Java 1.3 so that gives 
> you a high level of funcationality. CLDC is a subset of CDC and has 
> the advantage of running the MIDP profile which is present on nearly a

> billion phones today.
> There are a lot of interesting things going on in the Java ME space, 
> including very cool UIs and Web 2.0-type applications.
> As for open source Java ME stacks the options are fairly narrow. There

> are some Java ME VMs in open source but I think they are all somewhat 
> lacking resources and are incomplete (correct me if I am overlooking 
> something). But since Sun has also released it's entire implementation

> of both of it's Java ME stacks I suggest this is the way to go:
> phoneME Feature is a full-featured, product-quality CLDC/MIDP stack 
> with additional JSRs. phoneME Advanced is a product- quality 
> CDC/FP/PP/PBP stack for advanced mobile and embedded devices.
> Both are developed in the open and present the cutting edge of the 
> Java ME platform market. They are designed for portability and have 
> been ported to a number of platforms already, amongst them Linux on
> So I think phoneME is an ideal candidate for OpenMoko.
> Where to go from here:
> I am working with Sean on how we can proceed. I believe it would be 
> best to create an official phoneME sub-project for the OpenMoko port 
> so that it becomes a part of the standard phoneME repository. As a 
> side effect the OpenMoko effort can then leverage the expertise and 
> infrastructure of the phoneME (Mobile & Embedded) Community.
> Let me know if that answers some of your questions.
> PS: SuperWaba is *not* Java. I know SuperWaba has been around for a 
> number of years and is based on the open source Waba project but I am 
> not sure how much traction it has. There is a lot of innovation and 
> market penetration of Java ME that SuperWaba is not participating in 
> so it appears like a niche solution.
> -- Terrence
> Christopher Heiny wrote:
>> [I've cc'ed some folks who expressed interest in Java on the 
>> community
>> list (at least in the messages I've kept around).  I don't know if 
>> you're on -devel - if you are, I apologize for the double posting.  
>> If
>> you're not actually interested in Java on Openmoko, I'mm sorry to 
>> have
>> bugged you.]
>> On Tuesday 30 January 2007 11:38, Jonathon Suggs scribbled in crayon 
>> on the back of a kid's menu:
>>> I had looked into developing some applications based on this 
>>> platform
>>> a while back and just got an email about it latest version.  Anyway,

>>> I don't know how much work it would be to get its VM ported to our 
>>> platform, but if we did then we could instantly get more 
>>> applications
>>> that were compatible with our device.
>>> >From their website: SuperWaba is an open-source software 
>>> >development
>>> platform for PDAs (Personal Digital Assistants) and Smartphones.
>>> Let me know what you guys think...
>> Hmmm.  It's hard to tell on a 5-minute examination whether the 
>> Professional version is fully opensource or not.  Their comparision 
>> page indicates that you need the $495 SuperWaba professional to get 
>> image handling, email, html, ftp, and printing.
>> Of the options that folks have mentioned on the community list, I 
>> think JamVM might be best.  I believe that it's already checked into 
>> OpenEmbedded, so it should be easy for it to be part of OpenMoko.  An

>> email here
>> / 001036.html Koen describes some first steps on getting Java 
>> installed and going (note that the PDF linked in that mail is 
>> broken).
>> I noticed that the appears to be up and running
> now.  
>> Maybe we should set up project with the goal of getting Java going on

>> OpenMoko (probably via OE) and maintaining it?
>> 					Chris
>> [Disclaimer: Though I've been messing around with J2SE for about 8 
>> years now, is is my first venture in the ME world of Java.  It's kind

>> of an unfamiliar & bewildering territory, so please correct any 
>> egregiously boneheaded statements I might make.  Thanks.]

More information about the openmoko-devel mailing list