So MIDP is a Standard and Java is portable, huh?

OK. After nearly two hours of fiddling with , I have made astoundingly little progress in my quest to port a Series 40 midlet to the , and have found enough problems to put most people off this.

Interestingly enough, most of them are just plain stupid and easy to fix if you’re , or .

But let’s not digress. After my first successful compile of the code (which entailed installing the Nokia for on , stripping out the binaries and adding the relevant JARs and ZIPs to my CLASSPATH, and turned out to be quite easy), I naturally assumed that, in order to re-compile it for the , I would have to get a SonyEricsson.

As such, I duly proceeded to find (quite easily) a Java Docs & Tools page. As added bonus, besides the relevant SDKs, I also found a “Special Interest Paper discussing how to adapt your Java MIDlets, with special focus on Nokia Series 40, to Sony Ericsson’s phones”. Neat.

Sadly, their SDK is packaged as a executable, which, in my book, counts as an Extremely Dumb Move. Firing up and attempting to install it gave an error message stating that I had to have the JDK installed first.

This is my first gripe. Is it that fscking hard to provide alternative packaging (even if only with libraries and documentation) for non- platforms? Sure, I can run . But even if I ran as my platform of choice at home, would I want to install a ton of garbage just to look at the documentation and libraries? Why won’t it install without the JDK?

So I went over to and duly downloaded the 2 SDK, which is only available in a bundled install with the NetBeans IDE. As much as I tried, I could not find a post-1.1.1 JDK that gave me a “barebones” SDK without the IDE.

This is my second gripe. Irrespectively of the “added value” that the NetBeans IDE might provide, why doesn’t provide a plain (preferably zipped) install of the JDK for all platforms with command-line binaries? The first thing I do after installing it on is remove all traces of NetBeans, since I never use the IDE (which, incidentally, is slow as molasses). Again, what if I have an IDE that I am perfectly comfortable with – why do I have to download and install all the junk?

So I left trying to install it and spent a couple of hours with the progress bar stuck at 8% – after it installed the IDE I don’t need. It turns out that the installer itself needs oodles of RAM to do its stuff, and I can only provide  with 128 if I want to keep using my (gosh, I really need to get more RAM).

I eventually gave up – I intend to fire up my 640MB RAM laptop, install the and crud on that, and take a look – later.

In the meantime, I have been reading through the “Special Interest Paper” and figured out that I should not need a special SDK to develop for the – the document goes to some length in explaining some of the proprietary extensions  added to the Series 40, and how to emulate some of them with standard calls (it glosses over some of the most difficult ones, but considering they went to the trouble of figuring out ‘s stuff and letting developers know, I’m warming up to already).

But we haven’t covered my main gripe yet. At this point, ‘s proprietary extensions are comparably acceptable, and I’m willing to consider as a standard with a large grain of salt. No, my main gripe follows.

The concept that you can use on any operating system to develop for painlessly is a fallacy. Yes, you can do it in with relative ease (largely thanks to Michael), but the vendors (including ) seem to have gone out of their way to prevent their SDKs from being portable. I have no problem with targeting as the developer platform of choice and providing better tools – but there is no excuse for not having a trivial ZIP file available for other platforms.

No, not even time or effort – which is what we have to provide in order to get things working the way they ought to.

Nevertheless, I’m glad I’m doing this in . I wonder what I’d have to go through with another OS…

This page is referenced in: