What I want most for Java developers is opportunity! I don't mean just the opportunity for a steady job in the corporate world that any competent Java developer should enjoy with confidence. Rather, I mean the awe-inspiring opportunities that come from the sense that Java developers can potentially change the world of technology, and quite possibly the world as a whole.
In truth, it just wasn't that long ago that two guys named Steve started Apple Computer in a California garage and helped spark a furious explosion of innovation and economic growth. In fact, it wasn't even so long before that that Bill Hewlett and Dave Packard started their company in a different California garage! (Note to Myself: Perhaps I should consider working in a California garage.) Energy, enthusiasm, skill and dedication are undoubtedly required ingredients for such successes, but my countless conversations with Java developers have proved that there is no shortage of these within this fantastic and diverse community.
Java and the Internet have sparked an explosion of their own, in a different time and place in history, but no less significant and no less full of awesome potential. Before Java, the conventional wisdom was that our industry had matured and consolidated too much for the small developer to be able to make a difference. The dream that hard work and perseverance might result in the creation of the next Apple or Hewlett-Packard had given way to a different dream. For many, it went something like this, "I hope that when the Borg cube starts moving into the market sector I work in, they will assimilate my company rather than crush it." It was bleak by comparison - but consistent with apparent industry trends. Fortunately, it seems that hope for a better future is alive and well, and Java has played a big part.
This Java explosion should present a myriad of opportunities for developers, and the impending boom in smart devices and information appliances should amplify it dramatically. For some reason, however, not enough of these opportunities have emerged, and the fullness of Java's platform-neutral potential seems to be sidetracked. In fact, the theme of the year from corporate Java spin-doctors seems to be: "We all know Java isn't too great for client-side computing, but the real future of Java is on the server-side anyway."
Yeah, right! It's interesting that the people pushing this amended version of the Java value proposition sell - you guessed it - servers! It's no surprise that they place less emphasis on the power of client-side Java computing than they do on server-side, but I feel it is a wholesale abandonment of the original Java vision and of some of the greatest Java opportunities. I want those opportunities to be kept alive and to help Java developers everywhere thrive while pursuing them with all their prodigious talent and energy.
What can we do, as individual developers and as a community,
to make this happen?
First, we can think for ourselves and keep the Java vision alive, despite what the corporate publicity and marketing machines are pushing. This is a simple and potent step, but an essential one. Who cares that Sun may be floundering without focus and that Microsoft quietly continues its anti-Java attack? The reality of the situation is that we are far less dependent on these big companies than they are on us. The corporate functionaries who spread the conventional wisdom that Java doesn't have what it takes for client-side applications couldn't compile "hello world" if their lives depended on it. If we keep our eye on the ball and move in the right direction, then the corporate interests will eventually have no choice but to be responsive. They are reliably opportunistic, but slow to perceive opportunity.
Second, we can develop a whole lot more top-quality client-side Java software. The new IBM implementation of Java for Win32 is a blazing speed demon, so use it to build something great. Knock the pundits and naysayers out with Java applications whose performance, reliability and value plainly prove them wrong. Take them by surprise and blow them away by using Java to deliver the distributed network applications they've all been predicting for so long. Client-side Java starts to matter when you write client-side Java applications that matter. It's not only possible to build great client-side Java solutions - the opportunity to do it is here at our fingertips. Don't wait, just do it!
Finally, we can collectively make it clear to the platform providers and their major corporate partners that we insist on having a piece of the action, too. It's obvious that it should be this way and that everyone wins when the platform is supported by thousands of innovative developers and the solutions they create. We need to let manufacturers know we want full and immediate access to Java in the tools and devices that will form the foundation of the next generation of information technology. Sony, Motorola, TCI, ATT, Sun - are you listening?
I want a device the size of a Palm Pilot that will run for six months on a single set of batteries, with a brilliant color display and perfect audio, that offers high-speed wireless connectivity anywhere - to my family, friends and colleagues, the Web, and all my personal data. I want this device to help me achieve better productivity in my work and enjoy greater satisfaction from my play - and I want it to be powered by Java! What are you waiting for? Please get out there and build it for me! I'll be forever grateful that you kept the vision of Java's real opportunities alive!
Rick Ross is president and founder of the Java Lobby (www.javalobby.org), which currently has more than 34,000 members. He is also president of Activated Intelligence (www.activated.com) and can be reached at