JVM for Windows Mobile (J2ME) // PocketPC – PDA MySaifu 8

If you’ve ever tried to run a java program with your windows mobile device you’ll be aware its one of the most difficult tasks. Sun doesn’t officially support windows mobile devices, so you must go to a third party solution.

Why hasn’t Sun released an official JVM for ARM pocket PC’s? As you can read in the official Sun forum in the thread Open letter to SUN to produce a JRE for Pocket PC

…Unfortunately, since it’s not an officially supported project at Sun (i.e. one that will generate enough revenue based on our projections to cover the costs) it is having problems getting out to the public…”

There is a great FAQ where you can find summarized everything about this issue Java on PocketPC (Unofficial FAQ).

Available JVM’s

Java Support on Pocket PC This URL forwards you to an old comparison chart where you can find a summarized list of the java available options for Pocket Pc’s.

There are many commercial and non commercial non-official JVM’s for pocket pc. Most of them have the common problem of needing too much memory to run and implementing very old java profiles.

IBM WebSphere Everyplace Micro Environment

This is a commercial JVM developed by IBM. You can buy licenses online for about $5. There are also trial versions avaialble at IBM for you to try.

As you can read in the IBM site, the JVM features J2ME support for the Connected, Limited Device Configuration (CLDC 1.0 and 1.1) and Mobile Information Device Profile (MIDP 2.0) and for the Connected Device Configuration (CDC 1.0_01), Foundation Profile, and Personal Profile.

Summarizing, IBM solution is a cheap way to implement java in your pocket pc, and enable it to run smartphone software.

Mysaifu JVM

MySaifu is a GPL’d licensed Java virtual machine which runs on Windows Mobile OS’s. Currently you can find compiled versions for:

  • Windows Mobile 5.0

  • Windows Mobile 2003 Second Edition software for Pocket PC (Pocket PC 2003 SE)

  • Windows Mobile 2003 software for Pocket PC (Pocket PC 2003)

This is my personal favorite solution. Apart from being free, it isn’t a memory expensive solution and you can run java 1.3 applications, including support for AWT.


These are two screenshots of sample applications running on PocketPC using MySaifu JVM. As you can see there is complete support for AWT components which can be easily extended to support better graphic options.

The Rest

As far as I’m concerned the rest of JVM options have been abandoned long ago and are very outdated. Other than that, most of them are commercial versions and much worse than the IBM solution. So if you want to implement java applications in your pocket PC my recommendation is either to use IBM webSphere if what you want is the J2ME standard or MySaifu if you prefer to run J2SE programs.

Leave a comment

Your email address will not be published. Required fields are marked *

8 thoughts on “JVM for Windows Mobile (J2ME) // PocketPC – PDA MySaifu

  • Rohan Chandane

    I dont know how, but when I installed on my i-mate sp3 which has Windows Mobile 2003, it doesn’t work and was always throwing exception while running Midlet. Even when I run Hello World Midlet.

    Rohan Chandane

  • Marc Nuri

    You say you’ve installed something but not what you installed. I imagine you installed mySaifu and for that reason you’re having problems to run your midlets.

    As I said on the post, IBM WebSphere is apropriate to run J2ME applications, and MySaifu is recommended to run J2SE.

    If you plan to run already programmed midlets from your i-mate, it’s highly recommended you install webSphere because you’ll avoid headaches.

    If what you’re planning is to develop your own applications and they are solely designed to be run from your pda, mySaifu is your best choice, because it’s not so limited.

    This doesn’t mean you are not able to run midlets from mySaifu, because as in a regular desktop computer, there are toolkits available that permit you emulate midp environments. you can read more in Sun Java Wireless Toolkit for CLDC or ME4SE.

  • Brandon

    Thanks, this is helpful. I have been using J9 for a while now and I’m pretty sure it’s the best option. I use SWT and JFace.

  • we24support

    24/7 Techies helps you to save your time and money by solving your home

    computer problems online.