I have been at JavaOne since 1996, its inaugural year. In 1996, JavaOne was colocated with the Software Development conference, which has since fallen on hard times and vanished. But at the time, half of the exhibitors were from SD, and the other half from JavaOne. Weirdly enough, the JavaOne booths were all yellow with a bit of red and blue, so it looked as if the SD half of the exhibit hall represented the free world and the Java One half a totalitarian regime. This year, JavaOne is again colocated with another conference, Oracle OpenWorld, but I am on sabbatical in Vietnam, so I didn't get to enjoy the show.
However, through the miracle of the blogosphere, it is amazing how much information one can get without actually being present. In fact, maybe it's helpful to be outside the reality distortion field. Here is my take from afar.
1. As already hinted, Java SE 7 will have modest improvements and be delivered in 2011. Java SE 8 is promised for 2012.
2. I didn't hear anything about Java EE 7, but that's ok—the EE 6 app servers are just rolling out.
3. There were encouraging words about commitment to GlassFish and NetBeans.
3. The big surprise announcement is Java FX 2.0. A release is promised in 2011 with an ambitious roadmap. There will be Java bindings to the API, which means you no longer have to use FX Script. Now that's something that I have asked for ever since I first heard of Java FX. (By the way, FX Script will not be developed further.) Also promised are a rewrite of the media stack, a new accelerated graphics stack called Prism that works outside the AWT, and a mechanism for rendering a scenegraph to HTML 5. All of this has been touted as “Swing 2.0”.
I am baffled by this, in particular, the timeline. We were told that it would take until mid-2012 to deliver the originally planned Java SE 7. Fair enough, but how can Java FX 2.0, which seems at least as ambitious, come out so much more quickly? Someone still has to work out some pretty basic details, such as how binding is going to be done in a Java API. Multimedia has not been a strong point of Java FX in the past; see for example this blog to get a feel for some of the issues. Prism sounds great, but it's not something for which I could find any public information. And I don't begin to understand the HTML 5 angle. Every time that I hear “rendering for multiple display technologies", I run for the hills. Remember Java FX Mobile? (By the way, that's now dead too.)
I very much want to see a modern client-side library for Java, and if Amy Fowler says that Swing isn't going to cut it, I'll look forward to Java FX 2.0. Provided, of course, it is available under GPL and, at least as of SE 8, a part of the platform. But I am not getting the warm and fuzzy feeling that this is going to happen without pain, or by 2011.
4. I was equally baffled by the mobile announcements. The quote that stuck in my mind was from Thomas Kurian: “I would not underestimate our capability [of] delivering a new Java platform [in this space]”.
Ok, count me among the under-estimators.
Yes, I get the point that there are 10x more feature phones than smart phones. I have one of them. But I am not running a single Java app on it. I wouldn't even know how to get one. (I tried once and was hit with some outrageous data charge—thanks, Verizon.)
A while ago, I used a Blackberry. It had a bunch of fine apps, but those weren't Java ME. Ok, not true. There was one Java ME app that I ran—a terminal emulator. Very mainstream...
Right now, I use an Android. It has a bunch of great apps, but they aren't Java ME either. In fact, I understand that Oracle has issues with that platform...
I realize that elsewhere in the world, people do use Java ME apps, but it really seems like fighting yesterday's battle. And if I did want to fight yesterday's battle, I would promise to give feature phones the good 90% of what smartphone users enjoy—apps that integrate with the calendar, messaging, maps, and media on their phone (and, for that matter, Java-based calendar, messaging, mapping, and media for those phones that don't have them—like that feature phone that I no longer use since I got the Android.) I don't see how talking about WebKit, a Java-to-JavaScript bridge, and LWUIT is going to keep mobile Java alive. (And no, I didn't understand where WebKit comes into the picture.)
So, here is what I conclude, from my vantage point as the Sage of Saigon:
If I am wrong, I will really need to attend Java One 2011 to get a better reading of what is happening.