Welcome!

Java Authors: Maureen O'Gara, Liz McMillan, Walter H. Pinson, III, Yakov Werde, Tony Bishop

Related Topics: Java

Java: Article

We Need More Innovation

We Need More Innovation

In my last editorial (Vol. 8, issue 6), I argued that we, as an industry, have too much innovation. We have solutions pouring out our ears, stuff we often don't need, yet we use it anyway. This month, I'd like to clarify that somewhat: we need more innovation.

The seeds for innovation are already present: new projects are fertile ground. The problems are often unique, so the solutions that present themselves are individual as well. What's more, sometimes there's a better solution that's simply waiting for the right viewpoint in order to become obvious.

New solutions often imply new technology. Without innovation, we'd be using batch programs to generate paper results overnight. Instead, we had online transactions, the Web, CGI, then mechanisms to improve even that in various ways. All are necessary steps in innovation, and I don't think we've seen the end of online transactions or information presentation yet.

To judge whether we need to create a new solution, we first have to investigate what already exists. We must be willing to accept investigation, especially at a local level, and accept what the results are, even if they go against what we want. We may want to create a new invocation framework; it could be fun to write! However, the costs in terms of development and implementation might not justify the creation of yet another solution.

Once we've accepted that existing solutions aren't going to be enough, it's time to start thinking about how it should be done. This is where the creative juices start flowing, and new ideas wend their way into the light. This is where old ways of doing things die out in a Darwinian survival of the fittest. We need to be willing to kill bad solutions in favor of better, more flexible ones.

Java, as a community, needs to be prepared to do the same - Java itself is susceptible to being outmoded by new technology. If we want "Java" to survive as a name and brand, we must encourage innovation and accept honest evaluation of its strengths and weaknesses in the market - official approval in the form of the JCP isn't enough to keep Java alive. The technology that the JCP puts out needs adherents, adherents in the real world and not just JSR participants or yea-sayers.

It's hard to understate that last point. The JCP tends to foist new standards on an industry that's often watching the rank and file moving in different directions. Look at JDO: some companies were using fairly popular JDO implementations before the JCP started their JDO specification, and the resulting specification ended up invalidating the prior art, even though the prior implementations didn't need as much repair as the specification might have implied.

Standards are best generated from what people are using, not from what people in a boardroom think should be used. The market moves faster than a standards document can. The open source community understands this. So does Microsoft, who tends to flood the market with new products if only to make sure that they're perceived as innovators. As a result, you see the most impressive things from open source initiatives, which can move faster than Sun seems to want to. Some of these will end up working against Sun's vision of Java, and that's all right.

The key is when to innovate and when not to. Innovation should be spurred by fresh, clear ideas about how things might be done better, while acknowledging that industry momentum isn't something to ignore. You shouldn't be creating another solution that duplicates the weaknesses of one that already exists - try to repair the existing one instead.

Therefore, a larger problem is indicated: How do we learn what solutions are out there? There are sites like http://freshmeat.net and others, but those aren't enough; they only echo data that's pushed to them.

If you're working on a project, you should be talking about it, even prematurely. Create an RSS feed, and let various aggregators like http://technews.n-ary.com and http://javablogs.com know about it. Watch these sites and participate in the overall community as much as your time permits. Eventually you learn which way the wind blows, and how to leverage all that information to your benefit.

More Stories By Joseph Ottinger

Joseph Ottinger, formerly editor-in-chief of JDJ (2003-4), is a consultant with Fusion Alliance in Indianapolis and is one of the contributors to the OpenSymphony project.

Comments (1) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
tom farmer 07/08/03 11:18:00 PM EDT

great article,

JBoss is the best example of innovation, even going back in the early days, led by an implementation and not just a spec.

I would be more positive than that though, while the specification was leading every vendor in the field (say circa 1999) it is clear that it is the vendors that are driving innovation today.

BEA is innovating in the GUI field, JBoss in the container field, SUN still standardizes in the specification. So I hope that something like JBoss AOP will find its way in the JCP and a JSR, since it is relevant J2EE innovation but we should give credit where credit is due, the spec from SUN and IBM.

So the spec was leading the implementations and now the implementations lead the spec. As long as the spec writers adapt and the vendors keep on sustaining innovation we are good.