J2ME Plug In Needed
Why isn't there a plug-in architecture for Mobile Java similar to the Java Plug-In for browsers? Doesn't this make sense? Why does Symbian and Nokia Series 60 need to have Java embedded in the firmware? Why isn't it more updateable and maleable? Why isn't Java on every PDA that exists today. Look at the success of Sharp's Linux based PDA which has Personal Java built in and runs a variety of its PIM apps based on the technology. Why isn't Sun thinking along these lines? Why can't I write Java code that runs on a PocketPC, Palm and Symbian device? Where's the J2ME Plug In?
This only makes sense to me, Java technology is an ever changing target. Look at J2SE - every month or so there's another dot release which fixes bugs, adds APIs and generally continues enhancing the core Java technology for everyone who uses Java on the desktop. Mobile Java, however, is stuck in the firmware, "part" of the phone. Maybe up until now this was the only way to think about Java because the phones were underpowered and they didn't really have an operating system, but that, as you know, has changed.
There is now Symbian, Windows CE, Palm, Linux, and other OSes that are now being used to run mobile devices. These are real operating systems (well Palm sorta is) and they run on REAL 32-bit ARM based hardware. There's no reason for the devices using these OSes to have Java in their ROM, it should be installed just like it is on my desktop. It can be pre-installed, that's fine, that would be better, but the idea is that a plug-in is upgradeable and that's what Sun isn't getting.
Microsoft is rolling out a new platform where they can - OVER THE NET/AIR - push upgrades to your device's underlying OS. This is amazing and Sun needs to learn from this (as well as Symbian, actually). Java is not just a language, it's a development platform, and as such competes directly with OSes in many ways. You have a choice as a developer, target Java or target an individual OS. If Java sits on top of everything, then the decision is easy. If "Java" actually means 40 somewhat different versions from 30 different manufacturers, then it'll be easy to tell the suits to roll out an MS based mobile solution company wide instead of a Java one.
I hope I'm making sense... Java needs to transition from a "part of" mobile devices to sitting "on top of" mobile devices. You still need efficient and well made OSes like Symbian to do the dirty work, but Java should sit on top of these OSes just like it sits on top of desktop OSes right now.
This is the future of mobile development... maybe once Sun's developers start playing with some decent phones and start to realize that in reality they're using mini-computers instead, they'll get the clue.
Who knows. But to me, this is the type of stuff that Sun should be announcing at this year's JavaOne, not just pushing an incremental upgrade to MIDP that no one will be using for years. They need to get out of their rut and start getting visionary, realizing where the mobile devices are heading and get there first.
-Russ