There is still a little time left, but it doesn't look like Apple iPhone users will see Adobe Systems and Sun Microsystems get Flash and Java up and running on Apple's handheld device by Christmas.
Although both Sun and Adobe have expressed a desire to back the iPhone for nearly a year, neither the Flash Player nor Java Virtual Machine run on the device. And it appears that little to no progress is being made. Sun and Adobe, the chief proponents of the Java and Flash platforms, respectively, repeat what they've said all year: that they are still working to get their software platforms running on the trendy phone. Apple, for its part, did not respond to numerous inquiries about the iPhone from InfoWorld.
Enabling Flash and Java to run on the iPhone would expand the volume of applications that could run on the device. But no one seems to know why Flash and Java aren't available for the iPhone. By comparison, the mobile Flash Lite does run on the Symbian OS, an Android version is in the works, and the forthcoming Windows Mobile version will support it. The Java VM or its mobile cousin J2ME run on the Android, Symbian, and Windows Mobile OSes.
The iPhone's processor may not be up to snuff, at least for Flash
There has been some conjecture that the intermediary nature of Flash and Java, which lets applications run in the Flash Player and on the Java Virtual Machine, might stifle Apple's control over what goes on the iPhone. But an industry analyst offered a less cynical theory: "Part of the problem, as I understand it, is the ARM processor" that powers the iPhone, says Rob Enderle, principal analyst at the Enderle Group. Although the processor has the advantage of low power consumption, it also has slow performance. As a result, "neither Flash nor Java work on it very well," Enderle says.
Enderle dismisses conspiracy theories that Apple is blocking Flash and Java from the iPhone to prevent apps and video that don't get sold through its App Store and iTunes Store. He notes that Java and Flash both run on the Macintosh, so it does not seem likely Apple would then block their usage on the iPhone. Enderle expects that as the iPhone gets more powerful, Flash and Java support will follow.
An ARM representative declined to comment on the iPhone but did note that the ARM processor can run Flash. Adobe expects to provide versions of Adobe Flash Player 10 and Adobe AIR (Adobe Integrated Runtime) to run on ARM-powered devices in late 2009.
iPhone developer Christopher Allen, founder of the iPhoneWebDev community, concurs that full Flash support on the iPhone "probably is beyond what the processor can do." He notes that the Flash Lite runs on less powerful processors than what the iPhone uses but on those slower processors does not run most Web content.
But Allen believes that the iPhone could run Java today. "I personally think that Java is feasible," he says. "I think in Java, it's less of a technical problem. It's one of Apple really not wanting software to be dynamically downloaded [to the] iPhone that isn't approved" by Apple, Allen theorizes.
In the meantime, iPhone developers can port their Java apps to the iPhone, using Innaworks' AlcheMo for iPhone, which translates J2ME applications to C++ for deployment on the iPhone.
Why Apple may be resisting Flash and Java support
Beyond the iPhone's limited computational capabilities, Apple may have several legitimate reasons to hold off on supporting Flash and Java, Allen says. "It's very easy to accuse Apple of conspiring to do certain types of things. Usually, it's a bit more complex than that," he says.