[General Topics] Menneisyys:
Great, Cheap Java/Midlet Environment IBM J9 New, 6.1 Version is Out – a Full Compliance & Bug Report & Never Before Published Tweaks that Help Using It Much Easier

IBM WebSphere(R) Everyplace Micro Environment (IBM J9 for short) is one of the best Java and Midlet environments for the Pocket PC (please see this tutorial on what Midlets are and how they can be used). If you make a generic search in my Pocket PC Magazine Expert Blog for "IBM J9" or look around in my full-blown Java-related articles (for example, Using Java on the Pocket PC - the complete tutorial (alternatives: FirstLoox, PPCMag)), you’ll get numerous hits. The former Midlet article and the latter generic Java article are both worth checking out to see what midlets are capable of/usable for.

The last version of J9 was released over a year ago – it took IBM a year to move to a new version. It, however, was worth the waiting.

What’s new – in a nutshell

* Improved Midlet compliance – now, it’s fully compliant with all versions of Opera Mini Advanced (including the latest, 2.0 version)

* VGA (high) resolution without having to use the native VGA mode on VGA devices. There're two separate versions for the QVGA and the VGA devices. Note that there won’t happen any problem if you interchange the low- and the high-resolution versions and, for example, try to run the high-resolution one on a QVGA device. It just won’t start.

Downloading

The Java/midlet suite can be downloaded here for free. Unfortunately, it requires (free) registration, the download section isn’t really intuitive (there’re several versions there; much as it’s not very hard for anyone that knows the Java and the WindowsCE terminology like the palm of his or her hand to get around; for others this may be pretty hopeless) and the download sizes are HUGE (compared to their real content, which is about an order of magnitude smaller than the EXE installers themselves). Unfortunately, as opposed to the previous version, Handango still doesn’t have these environments – that is, you’ll need to download the files off IBM’s site.

Alternatively, to save time/effort (no need to register/look for the right version/install)/download bandwidth, you can also download from the following alternative source. The following are the ZIP files included in the downloadable EXE installers; they’re all you’ll ever need on your PDA. You can find the QVGA MIDP version here, the VGA MIDP version here and the Personal Profile 1.1 version here.

Installation

Interestingly, as opposed to the previous, over a year old 5.7.2 version, this version doesn’t have any kind of CAB-based installer. This is a big problem because the "copy the files to the PDA" manual install method will scare away a lot of potential users.

This will also mean there won’t be any kind of automatic registry imports either. The latter is very important – it’s a pity not even the official IBM documentation (see install.pdf in the doc subdirectory of each ZIP distribution file; these PDF files are also available with each version on the IBM homepage) explain JAR/JAD file association with the MIDP environment so that deploying midlets becomes far easier. The way it is done without the registry import file I’ve created is much-much inferior to the traditional way of ‘just click the JAD file and it is automatically deployed in J9’.

To do this, just download this registry import file, modify all occurrences of "\\SD Card\\J9-MIDP\\" string in there so that it points to the home directory of the MIDP J9 on your PDA and import it into the Registry of your Pocket PC (The file is in Regedit5 format and, therefore, you’ll need to use for example Resco Registry Editor to import it. Please see the Ultimate Roundup of Registry Editors for the Pocket PC for more info). After that, if you click a JAD file, it’ll be automagically deployed – you won’t need to follow the very-very-very awkward way the official IBM tutorial suggests. Strange the folks at IBM didn’t notice this really big problem – IBM has always been a bunch of really clever people (after all, I too have a high-end, 1600*1200 UXGA IBM Thinkpad notebook and just love it); strange they didn’t notice this.

Note that both the MIDP and the PP versions can be installed anywhere; for example, on a storage card.

The Good

Better MIDP (Midlet) compliance

As far as the MIDP compliance is concerned, I’ve thoroughly tested the new version. It’s indeed a considerable step ahead. While the old 5.7.2 version couldn’t run the Advanced version of Opera Mini, the new version can. Everything works – for example, downloading files off the Web (a Pocket Loox 720 screenshot here; it works the same way as in the Intent Midlet Manager) – that is, just making the built-in Pocket Internet Explorer/Internet Explorer Mobile download the files. Note that you may have problems with this if you have let alternate browsers taking care of http:// URL’s. (In previous Opera Mini versions, it was, naturally, not available as can be seen in this Opera Mini 1.2 screenshot).

I’ve also tested the new version with the latest, version 4 beta of WLIrc 2.0, the best Midlet-based IRC application (see the roundup IRC Applications for the Pocket PC for more info if interested). Unfortunately, it’s still not possible to click the individual names in a names list; however, (some) commands entered to the text input field work (for example, whois) and so do private messages – that is, the situation hasn’t changed much from the previous version. An example screenshot is here (Pocket Loox 720) and here (x51v). On the x51v, the IRC midlet worked pretty OK, unlike Opera Advanced.

Native support for VGA devices

In addition, there’re two versions of the MIDP environment: one meant for QVGA and one meant for VGA devices. The latter, as opposed to the previous version, makes it possible to run midlets in high resolution on VGA devices even without having to switch to native VGA mode. An example screenshot of this can be seen in here.

It IS compatible with WM2003(SE)!

Much as IBM states version 6.1 is only compatible with WM5, it’s certainly not the case. I’ve been running it on my WM2003(SE) devices without any problem. An example screenshot of the WM2003 iPAQ 2210 running IBM J9 is here.

That is, you can safely install the new J9 version on pre-WM5 (WM2003/WM2003SE; earlier operating systems aren't supported) devices, it’ll work just great.

The Bad

The Personal Profile Version Still Isn’t Fully WM5-Compliant

On the other hand, the Personal Profile version, while, as opposed to the Personal Profile 1.0-only previous version already supports Personal Profile version 1.1, failed in my Toonel test. (Please see this article for the bug report of the previous version.) As you can see in this and this screenshots, the new J9 PP version still fails at running Toonel.

(A quick remark: if you plan to use an invocation (.lnk) command to start J9 PP and pass a Java class/JAR file to it, you’ll need to use the -jcl:ppro11 parameter instead of the old -jcl:ppro10 used with the older version if you download the PP 1.1 version. This is because the PP 1.1-compliant version doesn’t support PP 1.0; this is why you need to change this argument too).

Major incompatibility issues with the Dell Axim x50v/x51v in Opera Mini

Unfortunately, the midlet version of IBM J9 has problems with the VGA Dell Axim Pocket PC’s. It’s just unbearably slow with all versions of Opera Mini Advanced – while the same IBM J9 running on other Pocket PC’s renders pages instantly, you’ll end up having to watch the progress bar for dozens of seconds, even without not-that-big pages.

This is definitely not a storage card speed problem (I used exactly the same card and exactly the same configuration in my Pocket Loox 720), nor is it a problem with the high-resolution VGA version (the same VGA version runs in my VGA Pocket Loox 720 without any problems). It seems it’s another x51v compatibility problem. Unfortunately, there are compatibility issues with the x51v, even with the latest, A06 ROM: some other WM5 devices are far more compatible with current applications. Also see the case of Handmark Battleship 1.06 (see the story here).

There may be other incompatibility issues with other Midlets running on the x50v/x51v – I didn’t have the time to check them all.

Acknowledgements

A big thanks to AximSite user discord for pointing out the new version.