As a sort of follow-up to my earlier efforts at getting a complete Symbian toolchain for Mac OS X, I've spent most of the day fiddling around with MIDP, believing (quite erroneously) that it would somehow be easier.
I set myself a simple goal: to compile one of the sample Nokia midlets I had found of some interest and then (maybe) port it to my T610 - yes, you read that right: port. Nokia has their own MIDP SDK, which enables proprietary functionality (i.e., all the interesting stuff you want but the standard MIDP profile doesn't contemplate because it's limited as hell...).
So I went and got Michael Powers' MIDP for OS X stuff and the Nokia MIDP Concept SDK for the 6230, which is the most up-to date Series 40 MIDP SDK. I decided to try the Series 40 stuff because I plan to take a closer look at those phones, now that I'm starting to find the Series 60 a bit too much. Besides, Series 40 phones probably outsell Series 60 phones by three to one or so, which makes them a nice development target as far as mobile phones are concerned.
Interestingly enough, the Linux SDK installs in Mac OS X (in fact, I ran the installation on my Fedora machine over X11 at the same time, and save for the installer crashing on Mac OS X if I attempted to pick a different installation folder, everything worked just the same). I am still going through the Java bits and setting CLASSPATH this way and that to get the midlet to compile, but so far it looks doable.
What feels like a huge waste, however, is the amount of things that could be working but were clearly only tested in Linux - and the emulator is the worst one, in the sense that it almost works.
It would probably only have taken a few little tweaks, since the bare skeleton runs in Mac OS X: it displays a preferences dialog, tries to invoke the midp binary (which I replaced with Michael's) and looks like it ought to run the midlets properly, but goes into a loop and eventually dies. Interestingly enough, in Mac OS X I actually get two displays: a Nokia-skinned one drawn by the Apple Java runtimes and a "generic" X11 emulator (which makes me wonder what its internals were carved out of...)
Oh well... Anyway, while taking a break to download photos from my camera, I ended up learning some AppleScript and writing a new HOWTO/Process Images With AppleScript and jhead, which is definetly going to save me some time. Enjoy.