The first day of JavaOne proper began with a lesson in crowd control. I haven’t been in a conference of this kind of size for a long while, but the management of the crowds and generally the coordination of the conference attendees and speakers are right on target. Attendees were ushered along with brisk efficiency and had friendly (mostly) Moscone Center staff manning the area showing the way or giving directions with confidence and a quick nod or smile.
After a quick bite at the breakfast counter, I rushed to join the long snaking queue to go into the first keynote/general session. This year, as always, the general sessions was hosted by John Gage. However the first keynote was by Rich Green, Executive VP of Software in Sun Microsystems. As Rich Green started his session with flair and great finesse, he began to troop one partner after another on stage to give announcements on partnerships. Executives from companies such as Ericsson, Nasdaq, Sony, Yahoo! and even the United Nations(!) joined in the Java lovefest.
As I sat there listening to the fanfare, laser light-show and blasting rock music (Paul Harriman, the Ericsson executive called it a ‘Java rock concert’) I came to a realization that Java rightly owed its current pole position largely to Sun Microsystems. With 6 million developers, it is the currently most popular programming language and has been so for the past 3 years. Large companies put lots of money into Java and business people generally believe Java strongly at many levels, from the Java Card smart cards running in hundred of millions of SIM and EMV cards around the world, to hundreds of millions of Java ME enabled mobile phones and the countless Java EE server applications that run at the the backend of large enterprises. For another programming language or platform to overtake Java it would be a mamoth task without the backing of an organization like Sun.
But today Sun wanted to fight on a different level. It wanted to slug it out in the rich application client arena currently dominated by Adobe Flash, with a recent tentative entry by Microsoft in the form of its Silverlight offering and Adobe’s new Flex offering. The Web 2.0, of course, has also it’s current king of the hill technology, AJAX.
What is more interesting is more interesting to gadget people is perhaps the announcement of JavaFX Mobile, a JavaFX-based middleware application stack for mobile phones. Which was quite ironic since only the annoucement before, Yahoo came up to talk about Yahoo! Go, Yahoo’s platform for mobile applications. And of course, everybody’s favourite search engine, Google was rumoured to join the mobile application fray early next year.
The afternoon’s general session was equally interesting. NASA joined in the list of Java partners as they introduced and offered the NASA World Wind technology as a Java SDK, which provides the same global geo-mapping capabilities as Google Maps or the likes, but as a Java SDK.
Another point of interest for me is Glassfish version 3. I admit I pooh-poohed the earlier versions of Glassfish as a wannabe, following Apache Genronimo and other open source app servers (and having bad experience in previous versions of the J2SE-linked app servers) but the demo of the new version 3 impressed me. Someone had earlier on demoed how he packaged a Ruby on Rails application (Mephisto) as a war file to be run under Glassfish with JRuby. But in Glassfish version 3, Jerome Doche, the Glassfish lead showed how Mephisto, a PHP app and a war file was deployed side by side with no change to the original code!
The few technical sessions I managed to catch (the sessions were very annoyingly arranged such that sessions I was interested in were invertently running concurrently) ranged from eye-opening (Groovy) to humourous (Jason Hunter’s Web Algorithms), obivous (closures in Java) and vaguely cool (Java in Robotics).
Groovy excited me quite a bit as it was every bit the scripting language I wanted when I doing Jaccal (I can’t remember why I didn’t go for it), being very interestingly similiar to Ruby in its syntax and capabilities. It even has Groovy on Grails, and I suppose it’s flattering for Ruby on Rails to be copied in such an obivious manner. Closures in Java were maddening — while Neal Grafter from Google was very earnest in introducing the needs and gaps in Java for closures, it was evident to anyone else who knows any other programming language other than Java or C/C++, that closures are incredibly useful and elegant way of coding.
In between the sessions, what little time I had I wandered through the Java Pavilion and cruised around for the traditional JavaOne goodies. I got a couple of nice ones — a nifty little ball that flipped colour from yellow to red, and a retro-toy — a slinky. I also caught up with some cool exhibits, like the mobile datacenter in a container from Sun Microsystems (called, what else — the blackbox), a Java-controlled robotic helicopter and a Java-controlled robotic submersible, and interestingly got to know more about Java Card version 3.
Apparently in Java Card 3, the draft specifications to be released early next year, Java Card will include a built-in web server (you heard it right), which will serve AJAX-enabled html pages (and probably applications) from the smart card itself. This is from the Gemalto folks from the Sun booth so I probably wasn’t dreaming (or drunk — they had free flow of beer and wine by evening).
All in all, today was a very interesting and fruitful day, a head-ful of new technologies and interesting turn of events (I look now at JRuby with renewed interest and Java Card 3 is just plainly mind-boggling) and some neat toys in tow.
Can’t wait for tomorrow’s sessions.