The Enigma of J2ME Personal Profile
Okay, so there's so much news from 3GSM today it's insane, but I have to drop back and continue to focus on J2ME Personal Profile. Happily I found out today that Nokia is indeed using Personal Profile on the announced Communicator 9500. This is fantastic, however get this - they're using IBM's J9 Websphere MicroEnvironment, not Sun's KVM or Symbian's.
It gets even more wacky. Symbian announced today version 8 of their OS. Great news! But if you check out the pages describing the functionality of the new OS, Personal Profile is no where to be found. Haven't we played this game before with the launch of v7.0s? I found out last summer after I bitched that PP was missing from 7.0s, that it was in fact available as an a-la-carte option from Symbian. But with 8.0? It looks like that the roadmap back then was correct and now it's all MIDP 2.0 with various JSRs tacked on. This *amazes me*. Even Sun itself is promoting everything but Personal Profile in their 3GSM push. It's like they've never heard of any technology except MIDP, and are pretending .Net Compact doesn't exist. I have *no* idea why. Why ignore part of your toolset when you have a company like Microsoft coming on strong with a competitor to that product?
If you check out the slide above taken from today's Series 60 Webcast, Nokia has shifted a bit and is now actively promoting Java as an alternative language for developing on their Series 60 platform as well. Does anyone else see this as a bit odd? They were thinking only C++ not too long ago, Java didn't seem to be a priority. And if you've experienced the horrible quality of their MIDP 2.0 implementation on the 6600, you'd realize that it was demonstrably not something they cared a lot about. But suddenly today, a slide pops up with J2ME talking to J2EE as a talking point about how cool S60 devices are. HUH? This is very interesting. I wonder if this hints towards Nokia putting IBMs PP implementation on S60 phones as well?
Why is PP the ugly stepchild of mobile development for Sun and Symbian? Why is Nokia having to go to IBM to get PP instead of through the provider of their OS? Obviously IBM and Nokia get it and Symbian and Sun do not. It's as simple as that. With Microsoft announcing a slew of new Windows Mobile based handsets that don't suck, launching a the next version of their OS and development platform next month and making deals with Vodafone to sell products directly to the enterprise, you would think Symbian and Sun would be able to read the writing on the wall and support their enterprise developers. No? They just don't get it.
Sun's motivations are always a mystery, but Symbian's outright support of MIDP makes the least sense of all. Are these guys smoking crack? MIDP *BLOCKS ALL ACCESS* to the local hardware and OS. Why, if you were an OS company, would you want to promote a way of programming which negates your reason for being? It doesn't make any sense. "Yeah, MIDP is cool - excuse me while I swap out that expensive SymbianOS with Linux. Thanks. Oh, look, all my apps still work! Great!" Think about this in the context of the next version of the SymbianOS, which will be running on next generation hardware, on next generation networks - why would you limit yourself by promoting MIDP over another version of the language that's 1) more powerful, 2) takes advantage of the OS and 3) is more palatable to the gazillion corporate developers out there?
Does this make any sense to anyone?
Such a mystery to me.