Before doing anything else, I want to thank Bob Eckstein for the series of articles he wrote while at JavaOne. And I want to apologize in public for steering him to quite possibly the worst French restaurant in San Francisco on the last day of the show. If you've ever been to San Francisco, you know that it's a city in which finding bad restaurants takes real talent. I guess I have it.
More seriously: I thought I'd start by giving a very high-level overview of what I thought was important about JavaOne. I didn't get to many technical talks, so you'll have to take Bob's word on those. Every time I tried to wander off to a talk, someone would grab me to talk about a book he or she wanted to write, or ask what O'Reilly's plans were for some topic. In a way, it was annoying--I really wanted to get to some technical sessions--but it was also very good. I've got lots of new ideas and potential authors.
JavaOne had the expected barrage of new announcements, but they were smaller and more realistic than last year's. JDK 1.2, JFC, JavaCard, and the Media Framework are obviously real; APIs like 3D, Sound, and the Electronic Commerce Framework are clearly making progress; JavaOS still seems to be in trouble, but it's a very small part of the picture. (I suppose I wouldn't say that if I hoped to sell a billion dollars of network computers in the near future, but one of Java's strengths is its ability to hide the operating system. You clearly don't need JavaOS to have the Java platform.) Internationalization was a conspicuous absense--which is strange, because it's an important topic, and JavaSoft has a great story to tell.
My biggest question going into the show was "Is Java healthy?" You can interpret "healthy" any way you want. The answer was a resounding "Yes." If it wasn't, there wouldn't have been over 14,000 attendees. There wouldn't have been so much excitement. And I wouldn't have come back with my pockets stuffed with business cards from people who wanted to write books. (The saddest thing is that there's no way O'Reilly can publish all of these books.) One of the most interesting perspectives came from an audio engineer on the Moscone Center's staff. He told me that this was the youngest crowd he had ever seen at a software developer's convention. It's not clear what this means for Java's future, but it certainly can't hurt to have the next generation of developers in your camp. Just as UNIX was the programming environment for serious innovators in the 80s and early 90s, Java will be the platform on which new ideas are tested and developed into the next millennium.
Of course, I went to JavaOne expecting a lot of JavaSoft cheerleading, and I certainly found it. Perhaps a better question to ask is how Java is faring in the rest of the world. Just before JavaOne, I asked Bill Day, our Java Media Players author, some questions about Software Development 98, which took place last February. (Bill wrote an excellent summary article in Java World.) Java was clearly a very important topic at SD98; according to Bill, there was a lot of good, serious, and open discussion. Furthermore, Bill said:
"I did not talk to a single person or hear a single developer [at SD98] come out pro-MS on the Java issues, or for MS's changes to Java. In fact, most everyone in the Java track sessions seemed to be basically ignoring anything Microsoft talked about which undermined the portability and cross-platform promises made by Sun and its Java partners."Really interesting. There's been a lot in the press about how Microsoft is successfully splitting the Java platform. The pundits must be talking to Microsoft's PR staff, not real developers. I wouldn't have been surprised a bit if Bill made this remark after JavaOne--after all, that's Sun's party. But he made it after SD98, which is very much a Microsoft-centered show. The battle for control of the Java platform isn't over by a long shot, but if Microsoft can't convert its own developers, they're certainly losing.
The biggest problem Java now faces isn't so much Microsoft, but dissatisfaction among developers who want to license the Java platform. JavaSoft has not been easy to deal with. They seem to recognize that there's a problem, but it's not clear what they plan to do about it. (For more on this topic, see my article Free Java?)
Expense is certainly one issue. I understand that Sun has to make money from their investment in Java, but I'm very concerned that they'll try to take too much out too soon, and price Java licenses out of the reach of the small developer. But a bigger issue is that JavaSoft just doesn't seem interested: I've heard many complaints that they don't return calls, that they're inflexible, that it's impossible to find the right person to talk to, and so on. This doesn't help. I'm sure the developers making these complaints would have no problem finding someone to talk to at Microsoft. I'd hate to see Java lose because of inept business practices. Unfortunately, most technologies fail for business reasons, not for technological reasons. Java is just too important for Sun to risk this fate.
The other pet complaint from developers is delayed schedules. I'm not as worried about that--delayed schedules make it easier to publish books on time. Seriously, though, if you looked realistically at what Sun was promising at the first and second JavaOne conferences, you knew they were being extremely optimistic. A third of what they promised would have been reasonable--and they've actually delivered more like two thirds, which is nothing less than superhuman. I don't want to underestimate the problems that JavaSoft has caused by not meeting their schedules, and I hope they're more conservative in the future. (This year's announcements are much less agressive.) But if you look at what JavaSoft has actually delivered in a few years, it's very impressive.
So Java is in good shape, at least until next year's JavaOne. If JavaSoft can figure out how to treat their developers well, Java will be in great shape. In the meantime, I have a lot to do. Java Security and Java Cryptography will both be out in May, and I'm working really hard to get the Swing and Media Players books to you as soon as I can.