Java Is Coming To iPhone, But Will Apple Ban It?

Interesting news from Sun.  Sun’s VP Java Marketing just told The Register that Sun will be making a version of Java for iPhone.  It seems that they feel that the iPhone SDK offers enough freedom that they can build a JVM on top of it.   Here’s the quote…

We’ve spent the last 24 hours furiously looking through what information was made publicly available, and we feel comfortable enough at this point on the information we have to commit the engineering resources to bring the JVM over to the iPhone and the iTouch as fast as our schedules and Apple’s release schedule will allow… We’re just 24 hours into this. We have a lot of learning to do, as do all the developers who just got access to the SDK. We just thought it was really important that our development community has the opportunity to write a Java app and have it run on the iPhone.

From a technical point of view, as is always the case with these things, the devil will be in the detail.  They key questions will be: how will Java apps on iPhone compare to native apps for speed, UI richness, and level of functionality?  Sun has said that the version of Java will be based on Java ME, but that additional more SE-like features may be added in the future.

From a commercial point of view, this is a highly intriguing development.  Why?  Because, having a third-party (i.e. Sun) version of Java running on iPhone means that Apple would no longer be in control of the applications running on iPhone.  Java apps could be distributed from anywhere.   Will this, I wonder, make Java count as one of the “unforeseen” types of application that Apple will ban?

Comments

  1. Neil Bartlett wrote:

    From the iPhone SDK Agreement:

    “No interpreted code may be downloaded and used in an Application except for code that is interpreted and run by Apple’s Published APIs and builtin interpreter(s)… An Application may not itself install or launch other executable code by any means, including without limitation through the use of a plug-in architecture, calling other frameworks, other APIs or otherwise.”

    There seems to be no way for Sun to provide Java for the iPhone without breaking this agreement, so this will probably earn them a swift ban.

    Apple are NOT going to let anybody loosen their control over the iPhone.

  2. simon wrote:

    Great find, Neil. The agreement seems pretty clear on this point… Java won’t be allowed without agreement from Apple.

    It’s hard to believe that someone at Sun wouldn’t have noticed this…

    I wonder if all this is some kind of negotiating tactic on the part of Sun. Or if they’re trying to persuade developers that there’s a risk that developing apps for iPhone will be a waste of time and money. That is, “If Sun gets its apps banned, what chance does a small developer have if Apple doesn’t like what they’re doing?” Or perhaps Sun people feel that they have a chance of reaching an agreement with Apple to put Java on iPhone.

    Actually, though, Apple are going to have to loosen their control over the iPhone at some point - competition from other players will for their hand (developers will gravitate towards open platforms). Apple’s management just don’t know it yet. Just like they didn’t know they’d have to release an SDK for iPhone when they launched.

  3. Asam Bashir wrote:

    Java would be a serious downgrade in terms of quality of iPhone applications, hope Apple does ban them. iPhone isn’t about developer choices, it’s about end-user experience - If you want to develop for an iPhone, get a Mac and Xcode and do it right.

  4. Asam Bashir wrote:

    “Absolutely. I’m astounded at how many positive ratings this story has. Java on mobile devices is… Well, it’s basically a joke. You might say 10% of Mac apps are crap (where my definition of “crap” means they’re one of ugly/very buggy/pointless), maybe 30% of Windows apps are, and even up to 50% of current iPhone apps are. The figure hits 90% or more with JavaME… How much of the blame for that rests with the platform or the developers I don’t know, but it’s the last thing the iPhone needs. If they’re poor on standard phones, imagine how embarrassing they’ll be on the iPhone, next to fast, well-thought-out, beautiful native apps designed with Interface Builder.’

    http://forums.macrumors.com/showthread.php?t=450051&page=2

    That kinda sums it up right. That’s the reality for end-users, every single one you ask out there in the real world. You try a few Java apps when you get a new phone, see how rubbish they are, then forget all about them.

    I don’t blame Java developers, I blame Sun Microsystems for producing code that fundamentally doesn’t understand/promote end-user experience. If all these Java developers stopped wasting time producing rubbish applications that no one uses, and instead tried out Xcode and make some Mac OS X applications for both the Mac and iPhone platforms, the world would be a better place!

  5. simon wrote:

    Whether Java would be a serious downgrade would depend on the details of any implementation. However, it may well not be technically possible make Java applications behave like first-class native apps on iPhone, solely using the SDK.

    The truth is, though, software in general is about developer choices. Developers can choose whether to develop their applications for iPhone or for other platforms.

    So, the really big question for Apple now is: will the best people, that develop the best apps, choose to commit time and money to developing iPhone applications when there is zero guarantee they’ll be able to bring their apps to market. I’d say there’s a good chance a significant number will take that risk - iPhone looks like being one of the most attractive platforms for mobile developers right now. It will be important Apple doesn’t drop the ball here though - a few wrong steps, and developers will jump ship pretty quickly.

  6. simon wrote:

    Yes, there are huge problems with Java ME. It’s not that great Java ME apps can’t be built, though. It’s that the Java ME platform is so fragmented, it’s impossible to get rich apps to work across lots of handsets. Which explains why so many apps are crappy.

    The fault isn’t with Sun though. It’s the fault of handset manufacturers and mobile network operators. They really are beyond clueless. As you know, they can’t even ship phones with reliable OSes. Much less ship standards-compliant Java VMs and bug-free APIs. Sony Ericsson should be embarassed by their current smartphone platforms. And even Nokia, who have more resources, are pretty useless.

    The compromises that had to be made (in terms of allowing fragmentation) to persuade these companies to adopt Java ME, make the platform a pain to develop for. So, while there are over a billion Java ME devices out there in the market, it’s not possible to develop apps that target all these devices, and even if you could, getting the apps deployed is a pain.

    The net result? A big shortage of great Java ME applications. The truth is that for these reasons, very few Java developers choose to develop for Java ME. That’s why Sun is trying to do JavaFX Mobile (based on full Java SE)… but whether it will work well enough is anyone’s guess. And whether any handset makers will adopt it, is anyone’s guess too. Google’s Android wants to leverage the millions of Java developers, and Android folks felt that full Java SE on mobile was too ambitious. The quesiton is: is phone hardware yet powerful enough to run Java SE properly?

    Anyway, the net net of all this is that iPhone is probably the single best option in the market right now for mobile developers. And that should drive iPhone sales going forward. Which should set iPhone onto an upwards virtuous circle in terms of growth. I think Apple is in really good shape here, now they’ve opened up the device; not least because their competition seem to be pretty slow-moving and intellectually retarded compared to Apple.

  7. Asam Bashir wrote:

    It’s not just the iPhone remember, iTouch is currently the best iPod, more applications will boost it’s sales and give an even bigger advantage over iPod competitors. The SDK opens the way for more functionality to be added to the iTouch, voip, navigation, PDA. The combined iPhone/iPod/iTouch eco-system is huge…

  8. Asam Bashir wrote:

    Can’t seem to find any sales figures for iTouch, but there must be a good few million of them sold so far. If everyone currently owning an iPod upgrades to an iTouch in the next year you’ve got potentially over 100 million devices out there ready for your application.

  9. simon wrote:

    Yes, the iPod touch is selling well, especially the cheaper ones (lower storage capacity). Apple has almost certainly sold more iPod touches than iPhones.

    It will be interesting to see where games developers set the price points for their iPhone games. One good thing about Java ME games is that they’re really low-cost; so people don’t think too hard before buying them. I’m betting games developers will want to charge more for iPhone games… but not sure consumers will want to pay more…

Post a Comment

Your email is never published nor shared. Required fields are marked *

*

*