A short(ish) summary of the hot and cold, cool and lame, good and bad at JavaOne this year.

What was "hot"?

Virtually every presentation, announcement, or conversation included mention of these…

AJAX: Even without the Google announcement (see below), AJAX is as high on the hype curve as it’s ever been. To borrow an analogy from American history, it’s the wild west of technology at the moment. Cowboys, fortune-seekers and city-builders are rushing out there to claim their piece of the frontier. Sadly, there are precious few city-builders around, the ones that will create the infrastructure that can support new enterprises for the long-haul. Plenty of cowboys and fortune-seekers, though, who are interested in short-term fun and profit. I’ll leave it to you to decide who falls into which of these categories.

JavaEE: Everyone has high hopes that the new focus on ease-of-development by the JCP will be delivered by JavaEE 5.0. It was encouraging to see various vendors, community projects and community leaders throwing their support behind the new enterprise specification. Flush from the success of their participation in the EJB 3.0 specification, JBoss was talking up their efforts to convince the JCP to make elements of JBoss Seam part of a new Web Beans specification, aimed at improving the development model for JSF-based apps. Virtually all the application server providers announced JavaEE-compatible releases. JBoss already has an EJB 3.0 implementation in the form of Hibernate Annotations and Hibernate EntityManager, and JBoss 5 is intended to be JavaEE 5 compliant. Apache Geronimo 2 is meant to be JavaEE 5 compliant as well. BEA announced the release of Kodo 4, which includes an EJB 3.0 implementation. Non-trivial investments for these guys to make in the new specification.

Mobile applications: The US market is still ripe for the picking for mobile applications, and the European and Asian markets are humming along several months/quarters/years ahead of the US in terms of mobile market maturity. So naturally the mobile players were very prominent at the show - Nokia and Motorola were showing off numerous innovations in Java-based mobile apps and services, SavaJe wowed lots of attendees with their Java phone, and the tools for mobile app development had clearly advanced in the past year.

What was cold/un-cool/not hot?

Anything Sun had to say. Sorry, Sun, nothing personal, but that’s the impression you left. Sun’s general sessions were extremely uninteresting. I mean, at one point a demo lingered for an eternity on refactoring code in NetBeans. It’s hard to categorize that as mildly interesting, let alone ground-breaking. The "announcement" that Sun wants to open source Java, but with no plans for when, how, who (or why, for that matter), left everyone yawning.

Also, the new "airport-style" of managing the show sessions really irritated just about everyone. This year, you had to pre-enroll online for sessions to ensure a seat - a reasonable measure when around 15,000 people come to a show, all wanting to cram into the same few sessions. But each session room had checkin terminals outside the doors, and every attendee had to swipe in before entering. Ostensibly this was to make sure you had signed up, but undoubtedly the real reason was to gather details on who was actually attending the various sessions (in terms of numbers and demographics - remember that registration form you filled out?). This caused very long airport-screening-esque lines of people, and a fair amount of confusion ("What line is this? Is this for people pre-enrolled, or in the waiting list? How many forms of ID do I need? Do I have to remove my shoes?"). Another example of making customers suffer in order to extract more market information from them.

Sleeper Topics

These topics didn’t make their way into a lot of slides, but they were well-worn hallway themes nonetheless:

IDE Wars: NetBeans and Eclipse were the IDE stars of the conference. NetBeans because Sun was pushing hard to get their IDE in front of developers, and they used keynotes, sessions and their expansive floor space in the pavilion to do so. Eclipse was a star for more pragmatic reasons: virtually every IDE-related vendor demo and most of the non-Sun sessions were shown in Eclipse, and virtually every vendor offering an IDE plugin was offering it for Eclipse. Very little mention anywhere of IntelliJ, except in a few speaker demos, lending credence to the general sentiment that the days of paying for IDEs are behind us. Also very little mention of JDeveloper outside of the Oracle booth and their sessions.

Security: No one likes to think about security, but everyone is facing the reality that security is an issue that everyone has to deal with, or suffer the consequences. Fortify Software sponsored an interesting panel at the W Hotel, where Bill Joy and a panel of experts (mostly from academia) discussed the current security situation and their thoughts on the remedies. Unfortunately, they stuck to the responsiblities of individual application developers (in no small part because of Fortify’s suite of test tools in this space). But I left the session with a renewed sense that the real answer needs to be something inherent in the infrastructure and protocols that support the online world. Perhaps I’ve read too much of Lawrence Lessig’s writing for my own good.

Scripting Languages: There was a quiet excitement at the conference about the upswing in scripting support in the Java environment. Grails, Groovy, JRuby, JSR 223, and various other initiatives were topics of a lot of chatter.

Announcement of the show

I think everyone would agree that Google’s Web Toolkit announcement stole the limelight from all others. Developers were jazzed by the prospect of AJAX made trivial for Java developers. The message they received was "write a Java app, and we’ll convert it into Javascript". Anyone interested in AJAX-enabling their apps had to get a rush from that. We’ll have to see if Google’s Web Toolkit delivers on its promises.

Paradoxically, the Google announcement also generated the most groans at the show. Not groans of disappointment (see "What was cold?", above), but groans of anxiety that the AJAX landscape is still a bit of a mess, and the Google offering doesn’t help clean it up. It’s yet another approach to supporting AJAX, and one that doesn’t play very easily with other approaches, like client-side Javascript component libraries (the predominant approach). Any commentary on the Toolkit generally went like this: "Cool, but when is this AJAX toolkit-of-the-week subscription going to end?"