There's a Cross-Platform Tempest in Apple's Teapot. Again.
So the
iPhone won’t run Java. Specifically, no applets, no desktop applications, and none of the
JavaME games and applications that are already running on 80% or more of the world’s existing smart phones.
Well, we’ve seen this before. Do you remember that the Macintosh did not run DOS applications? For good reason: a DOS application is
nothing like a Macintosh application. And guess what? A JavaME application is nothing like an iPhone application.

iPhone applications have been carefully designed. They use the new iPhone interface. They integrate with each other. The entire purpose of the iPhone is to make phone applications
work, make them useful and accessible for the vast majority of people who are not gadget enthusiasts.
Of course, someone out there loves their XYZ application and will say, “the reason to run JavaME is so that I can buy an iPhone and run XYZ.” Sorry, that’s not a reason. That’s a reason for that person to stick with their existing handset. Lesson one of product design is to decide who
is not your customer as well as who
is your customer. People who want to run their DOS applications on a shiny new iPhone are
not part of the iPhone’s target market.
People who buy a phone, but don’t use 95% of its features, much less install new applications, are the iPhone’s market. People who buy a phone, learn how to use most of its features, and then install
even more features by downloading JavaME programs? They are not a priority.
Although that makes compelling sense to me, there’s a much more important reason it doesn’t matter whether the iPhone runs JavaME. It’s the same reason It isn’t important whether Apple opens up development to third parties or whether there’s a FORTRAN-to-Cocoa bridge for iPhone. The reason is that native API development is
so last century. Well, not really “last” century, but try raising VC funds (or
YC funds) for your great desktop application idea.
Let me put it another way: the iPhone
does run Java applications like
ING Direct’s online banking (a personal favourite). It also runs Ruby applications like
37 Signals’ Basecamp. And Python applications like
Tabblo. It’s 100% open: anyone can write an application for iPhone. In fact,
this weblog is available to read on every iPhone sold. Right out of the box, no fancy installation!
Although the idea of skipping from WiFi sites to Cingular network and back and forth seems a little sketchy, I have a feling that the WiFi connectivity will turn out to be the killer application for iPhone. There’s lots of free public WiFi around, enough to make web servers a reasonable platform for iPhone applications.
So instead of worrying about whether iPhone runs the JavaME version of Tetris, why don’t we see how much of
flickr works on an iPhone? Seriously, for every person who wants their JavaME XYZ application, how many people might use their
del.icio.us bookmarks, their Google docs and spreadsheets, or even their office time tracking application on an iPhone?
Exactly.