With JavaFX, Sun seeks new coders, new revenue

Sun will launch JavaFX 1.0 on Thursday, trying to reclaim Java's strength as a foundation for rich Internet applications. But it's no longer the incumbent.

With a back-to-the-future technology called JavaFX to be launched Thursday, Sun Microsystems hopes to attract a new class of developer while building a much-needed new revenue source.

JavaFX 1.0 returns to the sales pitch that Sun used during Java's launch more than 13 years ago: a foundation for software on a wide variety of computing "clients" such as desktop computers or mobile phones. JavaFX builds on current Java technology but adds two major pieces.

Sun CEO Jonathan Schwartz
Sun CEO Jonathan Schwartz Stephen Shankland/CNET Networks

First is a new software foundation designed to run so-called rich Internet applications--network-enabled programs with lush user interfaces. Second is a new programming language called JavaFX Script that's intended to be easier to use than traditional Java.

But JavaFX faces some steep challenges. Chief among them: while Sun spent much of its energy adapting Java for servers, a host of other software options for building rich Internet applications sprang up. Java paved the way in 1995, but now it's got to take on Adobe Systems' Flash and AIR, Microsoft's newer arrival, Silverlight, and JavaScript and its more sophisticated cousin Ajax.

"This is the essence of the Hail Mary," said Illuminata analyst Jonathan Eunice. "I would like to think there's a role for Java on the client, but it's very late."

But Chief Executive Jonathan Schwartz, despite Sun's dropping revenue, low stock price, and large new layoff , believes that JavaFX will overcome its obstacles.

"Don't confuse relevance for stock price," he said, pointing to Java's widespread adoption among developers and students, and to Sun's expansion into newer open-source areas such as the MySQL database software. "We're more relevant today than any other software developer on the face of the Earth."

And while JavaFX may not be widely discussed today as a rich Internet application foundation, "I promise you that will change in the next 60 to 90 days," Schwartz said.

Java's stronghold
With help from allies such as IBM, Sun built Java into a powerful technology for server software tasks such as running stock-trading applications. And it gained a stronghold on millions of mobile phones.

But it missed out on desktop computers, where it was notoriously slow to load, and lost out chiefly to JavaScript built into the browser and to Adobe's Flash plug-in. On mobile phones, Java has suffered from a sprawling set of optional features that undermine its "write once, run anywhere" promise to developers. Different phones essentially have different varieties of Java.

JavaFX is designed to address both of those issues. First, a more unified "runtime" foundation spans PCs and mobile phones, though the latter version isn't expected until the first half of 2009. And this time, Sun supplies it in an unmodified form so phone manufacturers won't splinter it into incompatible versions.

Sun is promoting JavaFX as a good way to write rich Internet applications.
Sun is promoting JavaFX as a good way to write rich Internet applications. (Click to enlarge.) Sun Microsystems

"We're making our binaries available" to mobile-phone makers "so we can unify the Java platform implementations," said Schwartz, who expects rapid adoption. "We're starting with a couple billion handsets in the marketplace and swimming downstream."

The business case
Sun also will charge those handset makers a per-unit royalty for JavaFX, and right now, Sun needs all the revenue it can get. Although Java has been good for Sun's brand, it hasn't been a cash cow, but here again, Schwartz has high expectations.

"Java has become the single most profitable software product at Sun, growing more rapidly than any other," he said, pointing to billings (PDF) that Sun charged customers in the company's most recent quarter.

In raw revenue, though, its 18 percent growth to $34 million lagged that of MySQL, for which billings grew 50 percent annually to $37 million. And Sun's hardware revenue still is an order of magnitude larger than its software revenue.

Schwartz also believes that JavaFX has more appeal to content providers because it comes from a neutral technology supplier, not a potential rival.

"The problem with browsers, when viewed as the default mechanism for delivering content for the Web, is that browsers have become hostile territory," Schwartz argued. "Internet Explorer is owned by Microsoft. Firefox is owned by Google, at this point. Chrome is owned by Google. Beyond that, with maybe (the exception) of Safari, which is owned by Apple, there is no safe route to distribute your content into the marketplace."

Perhaps JavaFX's open-source nature reduces the threat that Sun could hold a business partner hostage. But when it comes to safety, there also are risks to betting on new technology.

Distributing JavaFX is another challenge. The auto-update feature in desktop Java will take care of PCs, starting next year--though people will be able to actively download it sooner in coming days--but for mobile phones, Sun relies on handset makers and electronics companies such as TV makers to build it in.

EZ coding
JavaFX is designed to be easier to use too. The JavaFX Script origins lie in a project originally called F3, short for the "form follows function" slogan from the Bauhaus school of architectural thought.

"You can use Java to solve difficult problems," but doing so often requires sophisticated programming, said Eric Klein, Sun's vice president of Java marketing. And regular Java isn't well-adapted to creating basic, media-rich applications that run in browsers. Building a simple media player application in Java takes 100 lines of code, but JavaFX Script can do it in 20 or 30 lines, he said.

"The goal was to make (the) power of Java accessible to an entirely new class of developers," Klein said. "For existing developers, it would accelerate how fast they could get things done."

JavaFX also comes with a slick feature, the ability to move running applications out of the browser and onto the desktop--and back, if desired. Essentially, they can change their nature and abilities according to where they're housed. And the same application also can run on JavaFX Mobile, holding the promise for programmers that they won't have to endlessly rewrite the same applications for different media.

"You can build a media player, run it in a browser, then you can simply drag it out of your browser onto your desktop, and it becomes a desktop application automatically. It's the same code, the same application," said Jeet Kaul, Sun's senior vice president of Java engineering.

Moving to the desktop, the application could take advantage of new screen real estate that affords a better user interface and new permissions for tasks such as writing files to a hard drive, Kaul said.

Again, though, incumbent players have an edge. JavaScript has matured as an interface language, Flash has many loyal developer fans, and Silverlight is powerful, Eunice said.

"I'm invariably skeptical that a language you don't know yet is going to be easier than all the languages you do know," Eunice said. And unlike with earlier chapters of the Java saga, "Sun has to do all this heavy lifting on its own."

 

ARTICLE DISCUSSION

Conversation powered by Livefyre

Don't Miss
Hot Products
Trending on CNET

Hot on CNET

CNET's giving away a 3D printer

Enter for a chance to win* the MakerBot Replicator 3D Printer and all the supplies you need to get started.