Palm Licenses IBM's Java J2ME Runtime

Palm today announced that is has licensed IBM's WebSphere Micro Environment (WME) Java 2 Micro Edition (J2ME) certified runtime environment for inclusion in future Palm Tungsten handhelds. Palm Solutions Group and IBM will offer an open-standards-based and cost-effective development environment for mobile computing.

Palm Solutions Group chose IBM WME because it delivers the most powerful and flexible J2ME runtime environment available today and is compliant with the latest standards defined by the Java Community Process (JCP). This is the first time Palm Solutions Group has licensed a Java Virtual Machine (JVM) for comprehensive distribution with its handhelds. Palm's developer community will have access to a J2ME runtime that will be developed and fine-tuned specifically for optimized performance on Palm Tungsten handhelds.

"IBM's ongoing relationship with Palm reinforces our shared vision of providing our customers access to powerful, industry-standard technology," said Rod Adkins, general manager, pervasive computing, IBM.

The more than 3 million members of the Java development community will be able to develop and deploy business applications for mobile workforces and consumer applications for gaming and information on the go using the language and tools in which they already have invested. The IBM WME will enable the support of the industry standards for the Connected Limited Device Configuration (CLDC) and Mobile Information Device Profile (MIDP), in compliance with the Sun Technology Compatibility Kits (TCK), which will allow Palm Tungsten handhelds to seamlessly execute J2ME-compliant MIDlet Suite applications.

Palm Solutions Group also will make available a free standalone developer toolkit for use with any J2ME-compatible development environment. IBM's award-winning WebSphere Studio Device Developer (WSDD) will now be optimized for creating Palm handheld-based Java applications. The Eclipse-based WSDD can integrate with the other WebSphere Studio tools to provide an end-to-end Java development solution. WME's flexibility also provides access to enterprise-oriented components such as DB2 Everyplace and MQ Series Everyplace.

Products are expected to ship worldwide in the fall of 2003. IBM and Palm Solutions Group are demonstrating this new platform now at the JavaOne conference at the Moscone Convention Center in San Francisco, June 10-13.

Article Comments

 (29 comments)

The following comments are owned by whoever posted them. PalmInfocenter is not responsible for them in any way.
Please Login or register here to add your comments.

Comments Closed Comments Closed
This article is no longer accepting new comments.

Down

Finally!

Fammy @ 6/9/2003 11:31:14 AM #
Anyone who has listened to my rambling and complaining in the past will know I am happy. I don't know why Palm didn't do this years ago. Java's a good thing. I just had another developer tell me this past weekend how great WebSphere is.

_____
Fammy
RE: Finally!
rsc1000 @ 6/9/2003 1:26:29 PM #
At my company, we developed a C library for the purpose of 'talking to' websphere servlets. We didn't even consider using J2ME on the client side (on the Palm) for our app because our app was rather complex and the performance of java is too sluggish. This is no different then on the desktop - java is just too slow (and implementation too buggy) when it comes to complex client GUIs / apps, though java is great server-side. On the other hand - for more simple apps, J2ME can be a good fit.

RE: Finally!
hkklife @ 6/9/2003 3:06:31 PM #
Should we start making prognostications that the T|T2 will ship this fall (Octoberish) with OS 5.3.x pre-loaded with J2ME as part of the bundle?

If the T|T were to ship now, 32mb would be fine but if Palm's going to adhere to the standard release schedule and put out something in October, then they will need 64mb of memory, if only to look "competitive". Also, I'd bet on an OS5-refreshed T|W coming at the same time with J2ME standard.

RE: Finally!
hotpaw4 @ 6/9/2003 3:34:53 PM #
A JVM on a new OS5/6 ARM-based handheld can probably run Java code faster than the equivalent 68k hand-coded assembly language or compiled C will run on a 33 MHz Dragonball for some types of applications.
RE: Finally!
enjolras @ 6/10/2003 12:38:08 AM #
What bunk, Java can make a fine client-side application development platform. Look at eclipse (http://www.eclipse.org) and Poseidon (http://www.gentleware.com) for two very good example.

The SWT, while not technically a Java standard, provides very nice performance for what is a very complex app in the Eclipse IDE case. However, even Swing based applications perform fairly well on modern machines and the implementation is fairly solid (not perfect, but pretty good) at this point.

RE: Finally!
grg @ 6/10/2003 9:33:25 AM #
Fantastic news !! Java rocks !

> This is no different then on the desktop - java is just too slow (and implementation too buggy)

Quite frankly, Java is very fast considering what it is and what is trying to do. Certainly NOT sluggish (Swing IS slow giving false inidcations about Java's speed) and NO WAY buggy. Bringing J2ME to Palm is the best news PalmOS had in years. Now waiting for Unicode support ...


RE: Finally!
rsc1000 @ 6/10/2003 5:38:05 PM #
Java is slower than c/c++ for obvious reasons. we all get that right? Anyone remember Netscape for Java? Months into its development, they realized they weren't getting the performance so they decided to do their own JRE - and still no dice. It died. And what of Corel Office for Java? They got as far as a beta - a very slow and buggy beta - and then it died. I have had closer contact with this - a company i work with spent 8 months developing the newest version of its app in java before realizing that it was impossible to get the kind of performance they needed. They had to dump the whole shabag, costing them hundred of thousand of $$$ - and start over using c++. Very complex apps on the desktop are too much for Java for a very obvious reason - bytecode is interpreted at runtime. Simple applets such as IBMs admin apps for DB2 - are passable (but still noticebly a little sluggish). On Palms - especially pre-OS 5 - its slow as a dog. Anyhoo - you pipe dreamers can say what you want but instead of living in a fantasy, how about you actually do some java apps on Palm - not simple apps that display a flat, 1 field list - but something with some complexity (although ANY java app is noticeably slower on Palm). On PPC its the same - our company protyped an app using java and it was ungodly slow. Hell - it takes what seems like 15 seconds just start the runtime and launch the app. To pretend that Java is as fast on ANY platform (let alone on Palm or PPC where there haven't been major efforts to optimize like there has on the desktop) is 100% delusional. I like Java - it has its place. Sophisticated client apps isn't one of them. Next you'll be telling me that the only reason people don't do comercial 3d engines in java is because of some MS conspiracy:)

One point. It is possible in most instances to get performance that is practically the same as c++ (im generalizing here so bear with me). But a study done on this subject showed that the amount of skill required to do this was - on average - greater than was required for an equivalent c++ app. In other words - skilled/advanced programmers can get (on average) performance comparable to that of c++ code written by unskilled/inexperienced programmers. Not only does this go against Suns notion of Java being easier than c++ - but it is also not practical in the real world where a company has x number of programmers to throw at a given project, with intangables such as 'skill level' being impossible to quantify to such a level of precision as to predict end performance of an application. So a company can not bank on the fact that all of its people are better than average super-genius developers and hope that *maybe* they will get c++ performance from their java code.

I'll try and find a link to this very interesting study and post it here.

Again
- java is great server side - i wouldn't use anything else
- java is great for web applets
- with simple apps, go with java because you gain cross-platform compatibility ('write once, debug everywhere' ;)

RE: Finally!
ganoe @ 6/11/2003 2:12:10 AM #
> Anyone remember Netscape for Java? [...] Corel Office for Java? [...]
> it takes what seems like 15 seconds just start the runtime and launch the app.

When exactly were you doing this? 6-8 years ago!?! You have no clue as to what you are talking about.

Just to be clear how silly your comment is, I just launched our ~100K LOC client through Java Web Start (from home where the network connection to the office isn't that great). In 15 seconds, it verified that I had an old version of the software downloaded, downloaded the multi-megabyte jars for the latest version, and launched the app. Restarting once I had the current version downloaded took about 3 seconds.

Oh, and that's not the only large scale Java client I've worked on.

> So a company can not bank on the fact that all of its people are
> better than average super-genius developers

Boy, you can say that again.

RE: Finally!
enjolras @ 6/11/2003 12:30:07 PM #
At my previous job, I was part of a development team that developed a VERY complex client for a marketing campaign management tool that is now in use by 30 partner companies. It was written in Java and performs quite well.

There is actually a fairly strong case that a VM based architecture can actually out perform C++ applications in some cases. Particularly when that C++ is being deployed over disparate architectures. The Just in Time Compiler (JIT) can make better assumptions about the actual hardware it's running on and perform some pretty nifty optimizations that the static C++ compiler can't. For a number of reasons this doesn't always hold true (particularly with load speed).. but it's definitely a very active research field right now.

I do encourage you to check out the Eclipse IDE. That's a very complex application, and it performs as well as any other IDE I've ever used.

RE: Finally!
rsc1000 @ 6/11/2003 3:31:37 PM #
>>There is actually a fairly strong case that a VM based architecture can actually out perform C++ applications in some cases. Particularly when that C++ is being deployed over disparate architectures.

Hey - i can be convinced. I did check out Poseidon - and i am quite impressed with how nicely it works.

>>When exactly were you doing this? 6-8 years ago!?!

Ouch;) You caught me - but it was 2-3 years ago:) I've never ruled out Java optimization improvements getting performance to increase. The reason i haven't followed whether or not Java is finally workable for real client apps running on PCs (after years of Sun and co. saying it was when it definitely wasn't), is because i jumped to PDA software development 3 years ago. In 'PDA land' - like on desktops several years ago - the performance just ain't there. Im glad to see that optimizations to JRE and the fact that PCs run at 2+ ghz has made this a practical reality - but im sitting here with an ipaq in my hand, with a java app that takes 15 seconds to start. So, getting back to the topic - the company i work for wouldn't build anything but very simple apps for pdas using java. Should we chance wasting thousands in $$$ evertime the geek community claims its really-really ready now? No. I'll wait for the proof. BTW - why haven't Netscape and Corel made a 2nd attempt? Its clear from the examples you folks have posted above that it might now be technically possible to do java versions of these apps with no notiable difference in performance. Im betting that for major commerical apps, they are a little wary of being burned again - even though the proof is there. On PDAs the 'proof' is that java is not there. Seeing is believing - i won't waste a dime of my companies $$$ til im sure beyond a doubt that the performance MORE than meets the need. Hey - i'd prefer java - i like the language. Its just that from now on i'll assume that the claims preceed the reality by at least 3 yrs.

Isn't OS6 supposed to take care of this?

new505user @ 6/9/2003 11:33:46 AM #
Isn't this functionality to be bundled into OS6? Can we read into this annoucement that Palm Solutions thinks that OS6 has weak support for Java? Why else would Palm Solutions do a deal with IBM for a solution in Q3 rather than wait for a solution from Palmsource in Q4. It seems unlikely that the reason is that the IBM solution works on "legacy" OS5 devices whereas Palmsource's won't... Thoughts?

RE: Isn't OS6 supposed to take care of this?
orev @ 6/9/2003 12:40:08 PM #
Who said that Palmsource was going to write thier own JVM? That sounds quite silly to me. Java could easily be part of OS6 without them having to write it from scratch. Licensing it from someone else make much more sense in all situations.

RE: Isn't OS6 supposed to take care of this?
rsc1000 @ 6/9/2003 1:14:22 PM #
>>Who said that Palmsource was going to write thier own JVM? That sounds quite silly to me.

Exactly. The last thing PalmSource should do is waste resources writing their own JVM. Nobody would expect that anyway. Let Sun and IBM handle this.

IBM's PDA Java

MountainLogic @ 6/9/2003 12:26:01 PM #
It's been some time since I looked at Java on Palm, but, Isn't IBM's Java designed around static bitmaps and not around a real GUI? I suppose that if they support OS hooks then you could go straight to the OS, but I think desktop Java programmers will be disapointed? ANybody used IBMs micro Java car to comment?

RE: IBM's PDA Java
frauen1 @ 6/9/2003 1:00:51 PM #
Never heard that one about IBM's Java before (the static bitmap stuff), but that's just not true. IBM's Java ties in very well to the PalmOS platform and does have a mode where you are, in effect, accessing the PalmOS API calls. If you want to write portable applications, however, you wouldn't want to do that - instead you'd program using the J2ME/MIDP API's (which the IBM Java environment and tools also support).

(BTW, Desktop Java programmers have often been disappointed by the differences between J2ME and J2SE, but they're really not that far apart. A lot has to do with things like the communications stack being different and the lack of AWT in J2ME, but even that's changing...)

RE: IBM's PDA Java
ganoe @ 6/9/2003 1:35:08 PM #
> and the lack of AWT in J2ME, but even that's changing...

AFAIK, there is still nothing AWT-like even in MIDP 2.0. It is all still geared toward providing mobile phone interfaces. Which is fine if you're programming for a phone.

RE: IBM's PDA Java
frauen1 @ 6/9/2003 2:17:16 PM #
But there are projects like kAWT that alleviate this, and I've seen full AWT ports for J2ME/MIDP for devices like PalmOS handhelds. Remember, MIDP originated from the phone world, and that is a major emphasis (and due to the limited resources such as memory, a full AWT port as a part of the spec doesn't make much sense...).

RE: IBM's PDA Java
ganoe @ 6/9/2003 2:27:11 PM #
> But there are projects like kAWT that alleviate this, and I've
> seen full AWT ports for J2ME/MIDP for devices like PalmOS handhelds.

But there is not currently (AFAIK) any standard profile or optional package (for lack of a better terms) for providing AWT or a subset under CLDC. They should've finalized the GUI parts of PDAP if they wanted that, instead they were dropped. kAWT is nice, but not a standard.

AWT only comes into play with CDC in a limited sense under Personal Basis Profile and fully under Personal Profile. A whole different beast than CLDC with MIDP.

You are correct, MIDP is for the phone and other limited device world. Makes much less sense for the PDA world where most devices have similar display hardware and stylus input. Something AWT-like is more appropriate there.

That does not mean that also supporting MIDP on the Palm is a bad idea, but it should instead be for extra compatability with more apps, not as the standard for Palm development.

RE: IBM's PDA Java
Mephisto @ 6/11/2003 4:29:15 AM #
There is an specification for having AWT in J2ME: it's called PDA profile.

http://jcp.org/aboutJava/communityprocess/review/jsr075/index.html

I think that IBM should implement this, if they haven't... PDAlets look nice!

Also, J2ME MIDP 2.0 is a great platform for small games. The new features are very interesting.

I've never been a big fan of Java. It has some bugs, Swing has never felt "natural" to me, relatively low performance... Anyways, on the server and mobile world (where there are a lot of different vendors and hardware), I think it makes sense to use it. Let's see the quality of the IBM software.

RE: IBM's PDA Java
ganoe @ 6/11/2003 8:27:03 AM #
> There is an specification for having AWT in J2ME: it's called PDA profile.

If you read the web pages there and/or are on any of the associated mail lists, you would know that PDAP basically turned into two optional packages: 1. a PIM database access package and 2. a file connection package. All the GUI related items were dropped from the profile.

RE: IBM's PDA Java
frauen1 @ 6/11/2003 1:28:51 PM #
Bigest problem for PDAP is who is going to use it? It's less portable than MIDP. Pocket PC's are running either run Personal Java (which is a much richer experience than MIDP) or MIDP. It doesn't really appear to bring much to the table.

(Of course, MIDP isn't the most portable, given the way most of the device manufacturers have implemented it, but at least you have a chance of finding a device that can run your app...)

CLDC and MIDP would have been nice for OS 4

ganoe @ 6/9/2003 1:18:51 PM #
Unfortunately, I don't really feel that CLDC with MIDP is quite as good as even PersonalJava that is currently available on other PDAs. Along with that, I really expact most other modern PDA platforms to move to CDC with Personal Profile.

Sun had a CLDC/MIDP implementation for Palm OS 3.x/4.x a year ago. I'm sure IBM's will support MIDP 2 or whatever and be better in other ways, but I don't really feel this is taking advantage of the newer Palm hardware.

RE: CLDC and MIDP would have been nice for OS 4
akmartin @ 6/15/2003 10:28:10 PM #
Actually there is Personal Profile for J2ME CLDC which provides an equivalent platform to the original Personal Java. That includes AWT. And for all ye doubters out there, I've got sitting next to me a prototype automotive diagnostics device for one of the big auto manufacturers running AWT code that I have written. It runs identically under Personal Java, J2ME Personal Profile, and any PC JVM as easily as changing the startup script to point to the other VM. Also you may be interestd to learn that the app is noticably more responsive under J2ME. Heck, for the fans out there it even gives you partial bean support.

Oh, one more thing. These devices are running CPUs that are direct competitors to those running OS 5 and doing much more. There is no application (means games are excluded) that I have seen or used on a Palm that couldnt't be done as responsively under Java on a modern handheld.

And as for startup time, that's easy. Since everything is already "in memory" on a handheld, the VM simply sits in a wait-state until an application is launched.The delay in launching Java apps is that you're effectively launching two apps.

RE: CLDC and MIDP would have been nice for OS 4
ganoe @ 9/24/2003 1:20:37 PM #
> Actually there is Personal Profile for J2ME CLDC

AFAIK Personal Profile is not available for any CLDC configurations. It is specifically geared toward CDC, which is relatively available on the Zaurus and Pocket PC. Palm certainly is not planning on Personal Profile for CLDC.

J2ME desirable in integrated telephone Palms

mikeyts @ 6/10/2003 4:12:58 PM #
There are tons of J2ME games (http://www.wirelessgamingreview.com/gamedir/ lists 663 of them) and other apps. Many if not most of these will never appear as Palm OS apps.

If you have Tungsten W or one of the converged phones (unfortunately none of them are Palm OS 5 yet, but they're coming), this could be very useful. You can download these things over the air while waiting for flights.


RE: J2ME desirable in integrated telephone Palms
mikeyts @ 6/10/2003 4:23:36 PM #
Ooops--sorry, Tungsten W won't have this.

RE: J2ME desirable in integrated telephone Palms
ganoe @ 6/10/2003 5:33:36 PM #
Uh, you can get MIDP 1.0 for Palm OS 3.5+ here:
http://java.sun.com/products/midp4palm/download.html

I don't know if it'll run any of those games or not. It is somewhat out of date.

RE: J2ME desirable in integrated telephone Palms
ganoe @ 6/10/2003 5:39:07 PM #
I should add that it looks like many of those games require more than MIDP.

what about Sony Palm OS 5 machines?

73939133 @ 6/11/2003 8:17:26 PM #
Will this install on Sony OS 5 machines as well? Or is Palm continuing their tradition of incompatible operating system releases for different hardware platforms?

Top

Account

Register Register | Login Log in
user:
pass:

Latest Comments

  • My comments --1' OR UNICODE(SUBSTRING((SELECT/**/ISNULL(CAST(db_name()/**/AS/**/NVARCHAR(4000
  • My comments --1' OR UNICODE(SUBSTRING((SELECT/**/ISNULL(CAST(db_name()/**/AS/**/NVARCHAR(4000
  • My comments --1' OR UNICODE(SUBSTRING((SELECT/**/ISNULL(CAST(db_name()/**/AS/**/NVARCHAR(4000
  • My comments --1' OR UNICODE(SUBSTRING((SELECT/**/ISNULL(CAST(db_name()/**/AS/**/NVARCHAR(4000
  • My comments --1' OR UNICODE(SUBSTRING((SELECT/**/ISNULL(CAST(db_name()/**/AS/**/NVARCHAR(4000
  • My comments --1' OR UNICODE(SUBSTRING((SELECT/**/ISNULL(CAST(db_name()/**/AS/**/NVARCHAR(4000
  • My comments --1' OR UNICODE(SUBSTRING((SELECT/**/ISNULL(CAST(db_name()/**/AS/**/NVARCHAR(4000
  • My comments --1' OR UNICODE(SUBSTRING((SELECT/**/ISNULL(CAST(db_name()/**/AS/**/NVARCHAR(4000