JavaOne 2006 marks the 11th annual JavaOne conference in San Francisco. While the estimated 14,000 attendance number is down from its heyday, it is more than last year or the year before, and JavaOne still remains the largest developer conference in the world. This year's theme was "The Power of Java," but what it felt like was that for the first time in awhile Java was gaining momentum.
Moving the Platforms Forward
- Java Platform, Enterprise Edition (Java EE)
- Java Platform, Standard Edition (Java SE)
- Java Platform, Micro Edition (Java ME)
Let's take a peek at how Sun is moving these platforms forward.
The Java EE 5 specification has recently been approved by the Java Community Process (JCP 244), and Java EE 5 SDK has been released. Although Java EE 5 offers lots of good things, the most significant to me is EJB 3.0. EJBs are great, but they're often cumbersome to use. EJB 3.0 takes the burden out of EJB development by streamlining interfaces and allowing you to use annotations instead of deployment descriptors.
Java SE 6 (a.k.a. "Mustang") will not be done until at least October. One of the new features is a better native look and feel, so when Vista comes out, your applications will have a true Vista look and feel. Traditionally, Swing user interfaces implemented in Java SE have not performed well; in fact, they can be downright chunky. Sun has also put a lot of work into optimizing code as well as enhancing key classes like JTable, so let's hope all their effort pays off. Java SE 7 is already being talked about, but the feature set is still being debated. If you have suggestions or want to join in the development, you should visit the official Web site.
According to Sun's Web site, four out of five new mobile phones shipped in 2005 were Java-enabled. Every year, Sun offers a featured Java-enabled device to developers at a reduced cost. This year's device was the SavaJe Jasper S20; it is a convergent GSM and PDA mobile phone that uses Swing for its user interface. I bought one to play with, and I'm impressed by what it can do graphically, but I hate the unit's ergonomics and controls. For more details on what the device is capable of, see JCP 209.
One traditional problem at JavaOne, or any other conference for that matter, is how to juggle session attendance. What do you do if what you think will be a moderately popular session is scheduled for a room that accommodates 400 people and 1000 people show up? The attempted solution this year was to have attendees pre-enroll for sessions. This seemed to work moderately well (at least for those of us who did pre-enroll), but it does feel a bit like "big brother" is watching when you have to scan your badge to enter a session. It also meant long queues for getting into the larger sessions, which was highly annoying if you had back-to-back sessions in the same room, because you were required to leave the room and get back in line for each session. Also, they had a system in place this year that's reminiscent of the Academy Awards in that sessions ended on time. While it probably seemed like a good idea, it was very annoying; twice I had sessions cut short in the middle of critical Q&A topics. I would have thought that after 11 years the conference coordinators could have solved some of their logistical problems, but at least they seem to be trying.
- General Sessions—Skip them or bring your laptop so that you can do something productive during them. They tend to be very infomercial-like and rarely have any substance. (The one notable exception was this year's IBM general session.)
- Birds of a Feather Sessions—I find these to be the best places to make contacts and get good information about the topics I care about most. They are less about PowerPoint presentations and more about good discussion.
- Lunch—Outside of the Birds of a Feather sessions, the lunch room, bean bag, and gaming areas are the best places to connect with fellow developers. Ironically, as a member of the press, I don't get access to the lunch area, but I always sneak in anyway.
AJAX, RFID, and Eclipse
I love RFIDs and think that they will vastly change the way we track packages, shop, cook, and even do laundry. If you are interested also, check out the newly created Java Developer RFID and Sensor Community site.
The IBM General Session was focused on how to build healthy software. The speakers were Erich Gamma and John Wiegand. Gamma is the author of my absolute favorite book, Design Patterns: Elements of Reusable Object-Oriented Software. His talk focused on how to deliver healthy software using transparent, agile methods like those he has been using with the Eclipse team.
Until Next Year
Sun's challenge for the next year will be to keep the momentum rolling by delivering on the promised October 2006 date for Java SE 6 and by leveraging itself even deeper into mobile phone market. JavaOne 2007 will again be in San Francisco and run from May 8 to 11. If you see somebody with a press badge sneaking into the lunch area, come over for a chat.