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.