Sun and Java: Pushing the Limits

Sun CTO Robert Brewin talks about Java's "write once, run anywhere" promise.
Robert BrewinThe 2007 JavaOne conference was Sun's most ambitious in years, in addition to its best-attended since the dot-com implosion earlier this decade. Doing demonstrations with pre-beta code caused a few implosions onstage during demos, but the audience understood what Sun was trying to do.

The company introduced Java 12 years ago with the promise of "write once, run everywhere." With JavaFx, it finally means it. It will deliver the same experience on a desktop, set-top device or mobile phone, and the code is portable across all platforms.

So Sun claims. caught up with Robert Brewin, the CTO of Sun's software division. Could there be a more appropriate surname for a Java technologist? He took some time to discuss Sun's future plans and ambition regarding Java.

Q: I've noticed at the demos this year that these are probably the most ambitious uses of client ever. Java has always been about little applets. Now you're doing Open GL and World Wind demos. You're really pushing the limits, aren't you?

Absolutely. That's highly intentional, and that's really where the future is. The analogy I like to use, which may be impersonal, is historically we have the dog wagging the tail. In other words, the enterprise providing what it thinks the consumer wants and the consumer can deal with it. A lot of effort went into hardening and bullet-proofing Java to make sure it performed extremely well.

With the advent of Web 2.0 and participation on the Internet through a variety of devices, it's flipped around. Now it's the client, the consumer, the person using those devices wagging the dog, if you will. So the emphasis and initiatives should be on the client.

A lot of what you're seeing on the demos are largely around how can we do things like improve the user experience. The one demo I would have loved to show onstage if I'd had 10 more minutes would be to take that World Wind app, embedded it on the phone and tie it to a GPS system. Imagine what you could do with that. Real-time GPS tied with satellite imagery on a cell phone. That's just phenomenal.

The notion that I was trying to imply was the Glassfish stuff, which is this understanding that you are not tied to the network all the time. When you are not on the network, you should be able to function. I should be able to update my calendar; I should be able to look up addresses, edit checklist entries; and when I'm back on the network, that stuff just syncs up. That requires a richer client that has persistence, that has an execution environment, and that can't be just JavaScript.

Q: On that note, it reminds me of my JavaFX with Executive Vice President of software Rich Green. The takeaway was JavaFX would allow you to run Web-based apps offline. He said that's the whole point.

That's the whole point, exactly. And from the JavaFX script side, we want to make it as easy as possible for people to build those apps and build them against a common set of APIs and build them 10 times as fast as they could before. And take those apps with them to different devices without having to worry about porting. That's the focus.

Q: I'm hearing the phrase "write once, run anywhere." Wasn't that the promise of 1995?

That was the promise of 1995.

Q: What happened?

Well, I think we took a turn. We took a turn for the right reason at the time, but this notion of creating profiles in the Java ME space fragmented that platform, and created a series of APIs and runtimes that weren't consistent across multiple devices.

Moving an app from one phone to another implied essentially a port. So the whole "write once, run anywhere" notion applied to the desktop space. It applied to the enterprise space. But it didn't apply to the mobile space.

The most amazing opportunities are in that space, whether it's TV, cell phone, satellite navigation, and so on. If you don't achieve that write once, run everywhere there, I think that we're giving away a huge potential market. That's a huge sort of sea change and shift toward writing in that manner.

Q: Is this being driven at all by the advances in technology, such as dual- and quad-core? Has hardware caught up with what you would like to do?

It is and it isn't. Moore's Law is certainly helping. We're now beginning to see devices of incredible power in a smaller form factor. So that will allow things like the World Wind stuff to work in a smaller form factor, like a cell phone or PDA.

The other problem we're faced with on very small appliances is power. The next trillionaire on the planet will be the guy who makes the next generational leap in battery technology that allows for very powerful devices running for a very long time. The good news is Moore's Law helps us there as well, too, because you can trade off performance for devices that can process at lower power but still at a reasonable speed.

Q: Intel and AMD have certainly been in a mad rush to cut power consumption as much as possible, as have you with the Niagara and Rock processors.

That's exactly why we're doing this. Not just in the chips but rack designs and systems themselves. The No. 1 expense in a datacenter isn't running the computers; it's all the heat. So cutting down that heat implies cutting down costs, which means cutting down energy. The same thing applies to smaller devices.

Q: There was a debate on Slashdot over JavaFX vs. Flex. Where do you think will be the big differentiator between the two, and what will be the appeal to content creators to use JavaFX?

There is one truly inescapable truth for Java that has to be used in any comparison, whether it's companies providing players on multiple platforms or on a single platform, and that is that the depth and maturity of the Java platform probably far exceeds what's out there.

The fact is you are building on Java, which has 12 years of maturity, has a set of class libraries and APIs that can encompass everything from database procedures to transactional behavior to high-performance graphics to networking, telephony, that is present in a stack that has proved itself over time. What's lacking is that content author/creative client side of it, and that's where we're putting the emphasis.

But in terms of breadth and depth, Java is there. We're on all platforms with an incredible amount of depth of maturity and performance. What's missing is the content. That's why we're focusing on all of these announcements.

Q: Isn't that an unusual market for Sun? You're looking to make an authoring tool for the masses.

That is what we're trying to create, and that's one of the reasons why we decided to create a product family with a different name, JavaFX. The reason why is it's something different.

In order to impress that something different not only requires a sea change in the industry and consumers but in Sun itself. It's not just the enterprise; it's the consumer. It's people using cell phones and TVs. As a result, JavaFX is partly a statement, not only externally but internally, that this is something new, think different.

Q: But the consumer market is not exactly something you've been in.

No we have not. We have dabbled in it from time to time. Look at StarOffice as an example of creating tools for people needing productivity-based applications. We've got a few instances over the years of delivering in this space, but you're right, it's new. And I think internally that's the challenge.

I think we're up for it. It'll be an interesting year as we start rolling these things out to see the feedback we get from that audience.

Q: Another issue in the Slashdot debate was the slow startup of Java. There's a big hesitation when it first starts up. Rich mentioned improving the speed of Java in his keynote. Can you elaborate?

That's where it's going to start to get faster, with Java SE 6 Release 2. You'll start seeing that later this year, and as updates roll out we'll continuously update that, where the consumer experience and the startup footprint will dramatically decrease.

This article was first published on To read the full article, click here.

Comment and Contribute


(Maximum characters: 1200). You have characters left.