Java On The Next Billion Devices - Will History Repeat Itself?
|
vs |
|
Jonathan Schwartz poses a great question in his latest blog entry, entitled - I Believe in Network Clients. The question being:
With Java now powering more than four billion devices (ahem, network clients), the question we now face is how do we approach the next few billion.
He is keeping everyone guessing what his answer is, but says:
And without giving away the answer to that question, I’ll leave you with one of my favorite quips:
Different isn’t always better.
But better’s always different.
I thought I’d give my answer to the question here. I think we can learn something from history. Remember Java Applets? Ten years ago, with the right investment, they could have now been dominating graphically rich browser-based applications. Instead, Macromedia took over with their Flash technology, and all but wiped out Java in the browser.
Today, the mobile form of Java, Java ME, is under threat from the mobile version of Flash, Flash Lite. I believe there are two key issues that will decide the winner here:
- How easy it is to deploy software that “just runs”. That is, the software has no manual installation steps. Today, Flash Lite wins that one hands down.
- Which technology manages “fragmentation” best. That is - who delivers on the idea of developing a piece of software once, and having it run on any device. What Java people called “write once, run anywhere”. Today, both Java ME and Flash Lite have fragmentation problems - it’s can be challenging to write a piece of software that runs on all mobile devices.
In a matter of days, Java ME will be Open Source. It will be up to the Java ME community to figure out how best to deliver on these two key areas. For example, software that “just runs” could be enabled by making support for applets (with support for cacheing, so that the applets persist on the device between uses) a core part of CLDC devices, rather than just CDC devices, of which there are are only a few. Done well, Java ME applets could be simply amazing. And by “done well”, remember, I mean the software “just runs” - with no installation steps.
I hope the Java ME community isn’t complacent - because Java supporters are fortunate that Java is where it is today on mobile devices. Quite a few years ago, I remember suggesting to a senior Sun Java person that Sun should consider investing more in Java on mobile devices, because software on mobile devices was going to become a huge global business. However, I was told that Sun didn’t believe this was true, “Software on mobile devices will never be a big opportunity outside of Japan.”, they said. I didn’t bother arguing. The answer told me what I needed to know - that the Java platform would be slow to reach maturity on mobile devices.
The big question today, is whether the community recognises that both of the issues I mention above are key to the success of the Java ME platform. If it doesn’t, we could easily see history repeat itself, and Flash could wipe out Java on mobile devices, just like it did in the web browser.
Alessandro wrote:
Ciao,
very interesting post. At the current moment there is no real competition between J2ME and Flash Lite, but I understand what you are saying. I am a Flash Lite developer and I see the huge opportunity that Flash Lite can create for mobile devices.
I see the challenge to shift from coding to UI and user experience. Flash Lite gives the ability to concentrate on the usability and look and feel of mobile content. I create apps that ran without code chance on Windows Mobile 5, Brew and Symbian. It seams incredible but there were no issues at all, just a matter of copy/install the Flash Lite applications to the various handsets. I think Flash Lite will gain interest quite fast.
Alessandro
Posted 11 Nov 2006 at 8:02 pm ¶
simon wrote:
Alessandro,
If, by any chance you’re interested in taking a look at what’s happening with the Java ME platform and vector graphics, it could be worth checking out JSR 226 - which is a Java standard for dealing with SVG.
Also, the Netbeans 5.5 mobility pack has support for dealing with SVG in Java ME applications. For example, see:
http://www.netbeans.org/kb/55/svg-tutorial.html
Posted 12 Nov 2006 at 11:09 am ¶
Peter Carlsson wrote:
The Java ME vs Flash discussion is important, but I really think that the ‘construction world’ as such needs as many alternatives as possible.
Take care Simon, and write me a mail if you want. A Cambridge pal awaits you….
Posted 12 Nov 2006 at 5:22 pm ¶