Skip to main content

Get real, Apple

Posted by terrencebarr on August 27, 2008 at 9:34 AM PDT

Things aren't going so well for the iPhone and Apple these days.

First, it appears that the much-anticipated 2nd generation iPhone (the iPhone 3G) doesn't actually perform that well on 3G networks - many users are reporting that 3G connectivity is frequently very flaky and Apple has been hit with a class action lawsuit. Next, the iPhone doesn't actually seem to be selling that well in many parts of the world - here in Europe I've seen very few of them.

And to top off Apples woes it just has been reprimanded by the U.K. Advertising Standards Authority. An Apple TV ad has been claiming that "all parts of the Internet are on the iPhone" ... well, not quite. Java is a major component of the Internet, used on thousands of web sites and available on close to 95% of the world's desktop computers - but not on the iPhone.

In their response to the unfair advertising claim Apple tried to hide behind the statement that "... proprietary languages or technologies, such as Flash or Java, were not open source ...". Come on, give me a break! Nice try to slip proprietary Flash into the same sentence along with Java. But we all know that the Java language has been open from its very beginning in 1995 and the Java runtime is open source for nearly two years now. The folks at Apple should know better.

So, Apple, get real. If you really want to deliver the whole Internet on the iPhone then Java must be a part of it. By the way, if you think Java is not "cool" enough for the iPhone - check this out.

Cheers,

-- Terrence

Comments

With all the controversy that has come along with Apple's iPhone, I'm glad that I wasn't one of those folks who stood in horrible weather conditions, in long lines on the first day of it's release, only to find all of these negative issues going on with the darn things. I'm staying clear, way too many bugs going on for my taste! Respectfully, Betsy Buchanan

Hi Terrence, I'd love to see it running on an iPhone. I was just pointing out that the movie you linked to wouldn't convince people that Steve Jobs was wrong in his statement that Java is slow. I've seen other movies on YouTube where LWUIT was running much more smoothly. I've written Swing apps in the past and there's a fair amount of work involved in getting the applications to look like native OSX applications (menubar on top, proper icon, handling minimize, maximize, non-native file-picker, etc). I would hardly call it seemless if you have to do additional code for each and every platform to make it feel a little more native (you can usually still tell the difference). I'm not saying Java shouldn't be on the iPhone... I'm a Java developer. I would love to have Java on the iPhone. I'm just looking at it from the viewpoint of Apple and their end-users. You're saying Apple isn't doing so well. I'm saying they are doing tremendously well. The iPhone sales are well ahead of schedule (10 mln by the end of the year, which I think it has already surpassed), every big cellphone maker is copying Apple's ideas and none of them has nailed it yet, the appStore is an enormous success and the Phone is a joy to work with. I've been doing a lot of mobile development, especially on Windows Mobile devices and I think the iPhone is better than any of the devices I have seen so far. Yes there are some issues and only having a touch-screen isn't for everyone, but I haven't seen one mobile device that doesn't have its share of problems. A single digit market share is not bad in a multi-billion-dollar market.

onno_scheffers,

As for "Java is slow" and "Java is jerky": You haven't seen it running on the iPhone yet ;-). And consistency: Java can seamlessly blend into the look and feel of a platform: There are Java apps on Mac OS X that you can't tell from native apps - the integration is awesome - without breaking portability.

Of course, Apple is free to ignore Java for the iPhone. But can they can achieve significant market share with a niche platform? OS X, while great and enjoying strong growth, is stuck in single digit market share. Will the iPhone be able to break out of a niche platform solely relying on a proprietary model? I seriously doubt it.

-- Terrence

I would love to see Java in the iPhone as well, since I'm currently forced to learn Objective-C to be able to write iPhone apps. But it is a developer-thing. End-users don't care about the language their applications are written in and Apple likes control and consistency. You certainly won't win the end-users of Apple for Java using that example-movie you use to show how cool Java is. As a matter of fact, it proves exactly the 'Java-is-slow' statement by Jobs. If you compare the smoothness of the iPhone animations to the 'jerkiness' of the LWUIT animations on that device, it doesn't help Java much. And if you compare the animated fish-background to the current best-selling for-pay application on the iPhone (Koi Pond), end-users will see no reason to include Java. So while I agree Java on the iPhone would be great, I still don't see any real reasons for Apple to include it. It would take away some of their control, You get inconsistent look- and feel for different applications, which breaks the user-experience, Java apps take longer to start up because of the VM startup time, it adds an additional layer that needs to be maintained, there are simply no killer-apps for Java that cannot easily be ported to Objective-C and Java lacks the out-of-the-box eye-candy Apple is known for. Even if Java was included, it should have an additional API to make it possible for your applications to look consistent and that would mean you'd still break the write-once-run-anywhere concept, just like Android does.

Whether Java is used on 1%, 10%, or 95% websites is irrelevant. It is a standard, period. Flash is proprietary, true, but to brag that "all parts of the Internet are on the iPhone" they should include it too. Now, let's follow the money. No Java and Flash support == more money from AppStore. It's that simple.

"For a while now there has been some concern over Apple's apparent lack of love for Java. Lately the debate has shifted over to the iPhone and the blogosphere is doing its best to send a message to Apple. While I am far from a supporter of the policies and practices of Apple, I do think they are right in determining Java as legacy or an anomaly on the web of 2008..." [Pingback from http://coffeecokeandcode.blogspot.com/2008/08/myth-java-widely-used-on-web.html]

Hi, I think that Apple has all the right to decide what to include on its phone. What I think that is not fear is to include legal limitations for avoid that others can offer a Java VM on the App Store. JD

Just for the fun of it I just created a Java app which checks n random websites, parses the HTML and searches for Java (applet or webstart) content. The average result is roughly 10 such sites out of 1000 or 1%. And when I inspect these hits, most are old/poor applets which are either broken or serves little purpose. This is the result of one such scan: http://www.geocities.com/Heartland/Estates/7865/index.html http://www.accurate-imaging.com/ http://www.mlrh.com/ http://members.tripod.com/~daoey/ http://www.burtleburtle.net/bob/physics/cruithne.html http://armadaweb.com/Anime/Sailor/ I sorry to say it, but Java in the browser is currently very dead and I am not convinced SUN's second attempt will succeed. If they do, I am sure we will see Java on the iPhone. Until then one can't exactly blame Apple.

It is not that easy to estimate Java usage. According to Alexa our site alone has a 0,03% reach. We definitely use Java, and I bet none of you ever heard about us.

I'm an experienced client and server-side Java developer that has spent the past 3 weeks exploring Objective-C and Cocoa in order to try and build iPhone apps. I agree that not supporting java applets is not a big deal for a consumer device. Give me the name of the biggest site you can think of that has a java applet. I'm honestly interested. AOL and Yahoo both switched their web-based IM clients in the past year to use flash. Those would have been my two previous sites. Maybe enterprises are using applets, but not my enterprise. Regarding the SDK being mac-only: All the iPhone APIs match pretty close to the existing Mac Cocoa APIs. I hear few people complaining that you can only program Win32 on windows (discounting WINE of course). Of course, Apple could have included a JVM on the iPhone, and then used the Java-Cocoa bindings to allow Java developers a little more familiarity. You can actually do this yourself if you jailbreak. Here's a blog about it: http://code9.com/2008/08/20/osgi-on-an-iphone/ The problem with a JVM on the iPhone is memory footprint and speed. iPhone apps need to start/stop extremely quickly; need to use a minimum of RAM footprint; and need to consume as little battery as possible. The main problem with virtual machine technologies are that they tend to have problems delivering all 3. Given these issues, it makes perfect sense to use a small-footprint, manual-memory-management, runtime like Objective-C. As for the application lock-down, it annoys me too. However, it makes sense for a consumer application. Apple needs to keep a pristine walled garden for average consumers to play in. The prevalence of malware on windows machines should be evidence enough that the average computer users cannot administer their own machines. Malware on a cell-phone can have dire consequences: reduced battery, which negatively impacts a consumer's impression of the iPhone; and increased network usage, which negatively impacts a consumer's phone bill. Given these risks, the restriction makes sense.

wordwarrior,

Thanks for the comment. I agree with you that one has to be worried when a vendor actively discourages or sabotages the use of their technology in ways that doesn't seem to match their strategy. In the end that almost always backfires on them.

As for the mobile space, one reason I am calling Java "integral" is because we have not yet seen the emergence of a "dominant design" in the mobile space and I am not sure we even will due to the inherent heterogeneous properties. So, unlike the desktop, a multitude of platforms is pretty much unavoidable and that stunts growth and opportunities for everyone long-term. The iPhone, however compelling, is just another dimension in the fragmentation space. Java, with all its faults, is the only viable solution to this problem. If Apple wants to jump beyond a low single-digit market share in smart phones they need to offer economies of scale and not niche solutions, languages, and platforms.

-- Terrence

I'm a Java developer and have been annoyed by Apple's handling of the Java situation on OS X. However, I'm going to defend Apple on this particular issue. Java developers tend to overestimate the importance of GUI-side Java, while just about everybody else tends to underestimate the importance of Java on the server. This means that Java missing from the iPhone is of minimal consequence. Of far greater consequence is the decision to leave Flash off the iPhone. It's Apple's platform, and they're under no obligation to support Flash or Java, either on the iPhone or OS X. However, anything that Apple does to prevent *others* from installing such runtimes on the iPhone is an entirely different story, and I would agree with those who object to such preventative measures. Also, the argument that client-side Java is an "integral" part of the internet is stretching things. So, let's put Apple's decisions into their proper perspective. I have no problem if Apple chooses not to keep Java current on OS X but does nothing to prevent an OpenJDK port to OS X. However, I would object strongly if Apple actively prevents this, then it's not simply a question of them not caring and refusing to provide the effort. Also, the iPhone is a fantastic device. I own an iPod touch, and it's by far the most elegant mobile device I've ever used. Among other things, it has the only mobile browser that doesn't look like crap. The App Store makes the device even more compelling.

mrmorris,

I think you'd be surprised how many sites use Java, especially for the more complex apps and vertical solutions - Flash and JavaScript just don't cut it. And let's not forget thousands of Java ME apps (not just games these days) that I consider "Internet content" as well. And with the new Java plug-in coming out in Java 6 u10 I think we'll see a resurgence of Java in the browser ... Applets v2 is *much* better than the first time around. About the Java FX website: Yeah, that does suck ... I agree.

-- Terrence

I can't believe that Apple must approve the very iPhone application before deploying it....... How's being closed now????

Amen. I couldn't believe the iphone sdk was osx only either. So let's see, no Win SDK, no Java, no Flash, and good Js, but slow Js animations. Why do I want to develop for this thing again? For me, "development" on it is going to take the form of plain ole web pages. Nothing interesting, nothing that useful to a potentially serious iphone user. I'm pretty annoyed with the development aspect of it honestly. Here's what it's good at: 1. 10 dollar games like Ms. Pacman that really should be available for free via any of the million flash games sites. 2. A sexy and intuitive email and voicemail system. 3. Looking good. Maybe they'll eventually pull a Mac on the iphone and let people install Windows Mobile. Hah.

I'm not one for defending Apple usually but let's be frank here. Pick 1000 random websites and then see how many use Java. Let's say a little optimistically that 10 of them do, that still amounts to only 1%. For crying out loud even the JavaFX website itself doesn't use Java, but rather a lot of Ajax and Apple quicktime movies.

100% agreed. I started not liking Apple after I discovered iPhone SDK just run on Mac OS X and I could not try phoneMe anymore. Apple, get into the Java world.

:) brave voice..