Ok, more on java on mobile devices. There has been some long delays using java on S60 when really, this shouldn’t be difficult to port code from mac to cell phone if it is all pure java? Read my “Batman Phone Review” to see the first round of driver issues with this phone.

After finally getting the Flashing Cable (CA-101) to work the firmware upgrade on the phone only took a few minutes. This with the latest version of the OVI suite (v1.1.3) the bluetooth synchronization worked much better and the cable was not needed, but the Nokia Launcher did cause crashes on several occasions were my software was using the bluetooth (WIDCOM) stack at the same time. That I can live with, but the cable driver now shows up as two devices in the PC Device Manager and yes, that causes the flashing cable issues!

Notice that on the development side of things that the S60 Emulator is slow to launch and I’ve not been able to use it from Eclipse! Only thing you can do is to build your JAR files and then open them with the Nokia S60 Emulator.

The crazy, maddening thing here is that the Nokia Firmware is sooo hit and miss as to what java calls will work, and which ones will return errors or just have when running on the phone, even though the exact same code runs fine on the emulators. See Below for the errors launching S60 Emulator from Eclipse:

So, in terms of any code advice for the nokia phones? I have had much better time with S60 Python Libraries. The ability to basically telnet into the phone and run commands from OSX has been dreamy and what initially made the phone attractive — FAST DEVELOPMENT. Looking at JavaFX and NetBeans.. more of the same, but very nice tools to mash together a MIDlet.. but good luck if you get stuck. Long story short.. I’m praying for better Dev tools from Nokia or Sun., but the promise of “write once, run anywhere” turned out to be one of those great ideas that never happened.. Maybe Python is the answer? (Or Maybe choose higher end phones like Apple or Google for your fast tracked app you want to sell online.)

You can test this on your phone by installing the MIDlet test Tools I’ve posted on my Google Code Site Please try these simple apps on your emulators and devices and see what works and what error codes you get. I’ll write about Bluetooth issues like service advertising and discovery next week.