Leveraging the thousands of Java ME apps on the market and run those on tablets... (RIM PLaybook, WebOS)
hwadechandler-openjdk at yahoo.com
hwadechandler-openjdk at yahoo.com
Thu Feb 17 15:04:09 UTC 2011
I don't know the answer Fernando, but I have been wondering this for years. Sun,
and now Oracle, are way behind the ball on mobile Java, and I've never been
given any answers as to why when I have asked the folks I know. Really I think
it just comes down to a losing model being chosen where it was left up to
vendors and carriers to implement the pieces of the specification versus
something like what I'm fixing to talk about.
Google goes the complete full circle with the OS and all, but for just
supporting Java, Oracle wouldn't have had to have done that.
On some systems, you probably can't get a JVM on them. But, what could happen is
to precompile the application to a native version for a targeted platform.
Different look and feels etc and capabilities could exist which one could
include in their final output; well on the look and feel I envision this just
using the native libraries and essentially exist a translation layer of some
sort. Would need preprocessors etc too.
Write once run anywhere is a good idea in principal, but in reality that isn't
going to always be possible. Where it is, and where it makes good business
sense, then it is good to have, but based on what has won and what hasn't it
seems that model wasn't a winner. It is much more likely for a solution similar
to what xmlvm is doing to be done and work quite well in my estimation. The
major pluses are resource and library gain. We as developers don't have to have
resources for every specific mobile device and too we can reuse existing and new
libraries across platforms, but of course we have to target and test those
platforms (and if an open community we could fix the issues in the platforms
where it is an issue with the environment).
Something along these lines based on openjdk and phone me would be good in my
opinion; moving from simpler to more complex for different devices and
categories of course. If Oracle won't or isn't going to focus on such an effort
it would be nice to get such a thing going here, but resources and time are a
big BIG thing which don't come easy or cheap, so it is easy to criticize.
Certainly the GNU "with linking and classpath exceptions" would be a big deal
because of this, and this certainly makes building such a thing on openjdk
attractive for all who might be involved.
For the final output, I envision common libraries being generated on systems
which support that, and others, where there can only be a single executable
linked in, then everything required being statically linked into that file. This
is where not having the JVM itself and everything needed to support that is very
important. Have to keep things as small as possible.
Outside of mobile devices, a system similar to that described above, would be
good for desktops too. First, there are larger applications where it makes sense
to have an installer etc, and embedding a JVM and all the capabilities makes a
lot of sense. Say some system which is able to support plugins and can grow with
the user and their needs. Or, just the fact you need an installer means it is
more feasible than apps which don't need an installer.
For utility applications or things like gotomypc which need a simple bootstrap
launcher to grab and download the other needed requirements or are just a simple
shell for remoting all that top heavy stuff doesn't make any sense at all. This
is where such things make a lot of sense for desktops. Even when thinking about
Perl, Python, etc, the same issue exists of a top heavy runtime with all this
functionality globbed into it.
Basically if the JVM and native libraries etc were broken down into finer and
finer grained sub-systems of linked libraries with statically linkable counter
parts, that would fix a lot of that I imagine; off the top of the head kinds of
thoughts. Too, precompiling the Java logic to a final output would be needed. I
don't think a final output supporting byte code would be able to be small
enough; VM would naturally take up a lot of space. I'm sure there is an
extremely large amount of work for such a feat though.
Software Engineer and Developer
NetBeans Dream Team Member and Contributor
----- Original Message ----
> From: fernando cassia <fcassia at gmail.com>
> To: discuss at openjdk.java.net
> Sent: Wed, February 16, 2011 11:53:15 PM
> Subject: Leveraging the thousands of Java ME apps on the market and run those
>on tablets... (RIM PLaybook, WebOS)
> Hi there,
> I´m a long-time Java SE advocate on the desktop (both Windows and Linux). I
>also used to be a Palm OS fan on the mobile side, and have been running Java
>mobile apps (J2ME) on my ancient PalmOS mobile for years, software which wasn´t
>even designed to run on the PalmOS, all thanks to the IBM J9 Java VM for Palm
> Having said that, I´ve been looking at the tablet marketplace with interest,
>but haven´t found any that I find outstanding from the point of view of OS
>openness. Ideally, a tablet to be attractive for me would have to:
> 1. Allow porting Linux apps to it (if not run Linux natively). I guess I´ll
>have to wait for a MeeGo based tablet?.
> 2. Have some form of Java VM available (wheter Oracle licensed or full OpenJDK
>or PhoneME ported and running within it).
> With the thousands of Java ME apps already available on the market, it boggles
>the mind as to why no tablet OS developer is taking advantage of this and
>offering the possibility to run Java ME midlets as "widgets" on the larger
>tablet OS screen. Or why isn´t Oracle pushing the Java VM to tablet devices.
> If Windows Vista and 7 have desktop widgets, why can´t be Java ME apps run as
>widgets on a tablet OS ?!?...
> So.... I was partly attracted to RIM´s Playbook as it mentioned "future" Java
>compatibility.... possibly to run Blackberry mobile apps designed for the RIM
>phones Java ME.... but nothing has been delivered so far AFAIK on SDKs etc.
> HP´s WebOS tablets won´t likely include a built-in Java VM and it´s unclear
>how easy it would be to develop one.
> So, this is the main question:
> How difficult would it be to port PhoneME and OpenJDK to the Playbook´s QNX OS
> What about HP´s WebOS?.
> I guess the "community" can take care of running OpenJDK and PhoneME (open
>source J2ME) on MeeGo as it´s the most open of all the previously mentioned
> PS: If I were Oracle, I´d port PhoneME and OpenJDK to both WebOS and RIM´s QNX
>Playbook OS, then do a major relaunch of the Sun "Java App Store", featuring
>Ellison showing sample .JAR /.JAD J2ME apps downloaded from the web running as
>widgets on those tablet OS... you know, give away the open source Java runtime,
>and make money as middle man selling Java apps to end users from the "Java App
More information about the discuss