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
(Credit: 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. (Click to enlarge.)
(Credit: 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."
SAN FRANCISCO--Sun Chief Executive Jonathan Schwartz rightly gets credit for pioneering the corporate blog as a tool to reach customers, employees, and others. But pretty soon the novelty of his methods will wear off, he predicted.
Sun CEO Jonathan Schwartz speaks at the Web 2.0 Expo
(Credit: Corinne Schulze/CNET Networks)"At some point the word 'blogging' will be anachronistic," Schwartz said at the Web 2.0 Expo here in San Francisco. "I communicate."
And he predicted, in effect, that the rest of the executive world will catch up. "Historically, communication took place by being a celebrity CEO who met with heads of state, and got the local media to cover it," he said in an on-stage interview with O'Reily Media chief Tim O'Reilly. "You got the message out in an inefficient and environmentally irresponsible way. Then the Internet came round and gave you a way to reach the entire planet."
In Sun's effort to recover some of the glory and profitability it had in the first Internet bubble, the company has embraced open-source software, adopted servers based on Intel and AMD's x86 processors, and switched CEOs.
One thing hasn't changed, though, from the Scott McNealy era to the Schwartz era: the company tries to be provocative. It's cheaper than advertising, and blogs are just a new way to accomplish the goal.
"If you say undifferentiated things that are expected, then you shouldn't expect anyone to care," Schwartz said, asked about what he meant when he said, "Controversy was...not a byproduct of the strategy--it was the strategy," on his blog earlier this month when discussing his company's open-source processor strategy.
Blogs and open-source software are complementary, Schwartz added.
"Sun makes money by selling the innovations in data centers," but that's a hard market to reach, he said. "Free software and free ideas are the best way to reach the marketplace."
Update: I added comment from Google.
Painful flashbacks are beginning to torment those of us who lived through the Java wars between Sun Microsystems and Microsoft that began 10 years ago.
Earlier this week, Google released programming tools for its Android mobile-phone software project that shun the existing Java standard-setting process in favor of a Google-specific variety. Sun responded on Wednesday by expressing concern that Google's Android project could fragment Java into incompatible versions.
"Anything that creates a more diverse or fractured platform is not in (developers') best interests," said Rich Green, executive vice president of Sun's software work, speaking to reporters at the Oracle OpenWorld conference in San Francisco. "The feedback from developers is, 'Help us fix this.'"
He said Sun wants to work with Google to nip any problems in the bud. "We're really interested in working with Google to make sure developers don't end up with a fractured environment. We're reaching out to Google and assuming they'll be reaching out to us to ensure these platforms and APIs will be compatible so deployment on a wide variety of platforms will be possible," Green said.
Google unrepentant
Google didn't adopt a terribly conciliatory tone in its response, arguing that when it comes to Java fragmentation, Android is the solution, not the problem.
"Google and the other members of the Open Handset Alliance are working to help solve fragmentation and supporting the developer community by creating Android, a mobile platform that responds to the needs of the developers, has the backing of industry leaders, and will be available as open source under a nonrestrictive license," Google said in a statement.
And asked whether it would discuss the issue with Sun, Google said, "We're talking with industry leaders around the world about Android and the Open Handset Alliance but we're not commenting on any of those discussions."
On Monday, Google indicated that it expects fellow members of the Open Handset Alliance phones who are working on the Android phones to help keep its variation of Java familiar to programmers.
Java today is governed by the Java Community Process, in which a number of companies vote on which features to accept into the Java system and create standard mechanisms called application programming interfaces (APIs) by which Java software can use those features. The extent to which Android will or must conform to these APIs is not clear.
For those who need a refresher on the Microsoft history here, the software company licensed Java back in the 1990s, way before it became open-source software. However, Microsoft added some features to Java that meant that it could work differently on Windows machines, a move Sun saw as undermining the "write once, run anywhere" promise of the technology.
And the beat goes on.
Sun Microsystems' xVM virtualization efforts is getting louder and louder.
Sun's xVM is its Solaris-based version of the Xen open-source hypervisor project. Sun's xVM aims to allow x86 servers to run multiple operating systems simultaneously on a single computer, in a move toward increased flexibility and data center efficiency. xVM also relies on Sun's Solaris operating system, while Xen primarily uses Linux.
Last September, Sun named its Xen-based virtualization project xVM. That effort attracted some attention on Sun's blog.
Then in October, Sun executives expanded the scope and geography of that message, talking to the press from London to San Francisco. The topic: Sun xVM Server and Sun xVM Ops Center, designed to serve as soup-to-nuts software for virtualizing and managing the datacenter.
Earlier this month, Sun released OpenSolaris Developer Preview for download. The beta included such features as xVM and is scheduled for release in the spring as OpenSolaris 3/08.
Sun's chief executive, Jonathan Schwartz, is scheduled to discuss Sun's virtualization strategy and roadmap at Oracle OpenWorld on Wednesday, as well as some of its partners for the free, open-source datacenter virtualization and management platform. MySQL and Quest Software, for example, have signed aboard as xVM partners.
Providing further context around Schwartz's pending keynote was Rich Green, Sun's executive vice president of software.
"Virtualization is just beginning, as evidenced by VMware's roll out in the market," Green said. "We look at VM as a wide range of technologies. In the next five years, it's hard to imagine any IT company that would deploy their architecture without VM."
He added that the challenge is how a guest operating system views the data center. And the hypervisor is the window through which applications view the entire data center.
"The key is getting the most out of the data center," Green noted.
SAN FRANCISCO--One area where Sun Microsystems' Java caught on was in mobile phones, but a leader of the project is working to eventually replace the mobile-specific version of the software.
Sun Vice President James Gosling speaks in May at the JavaOne conference in San Francisco.
(Credit: James Martin/CNET News.com)Java Standard Edition (SE), geared for desktop computers, will gradually supplant Java Micro Edition (ME) as technology improvements let more computing power be packed into smaller devices, said James Gosling, the Sun vice president often called the father of Java.
"We're trying to converge everything to the Java SE specification. Cell phones and TV set-top boxes are growing up," Gosling said at a Java media event here Wednesday. "That convergence is going to take years."
The prime example of the trend is Sun's own JavaFX Mobile, software Sun got through its SavaJe acquisition and which the company hopes mobile phone makers will embrace. JavaFX Mobile includes almost all of Java SE, though it's missing a few pieces such as CORBA (brace yourself: Common Object Request Broker Architecture) for getting software to work with other programs across a network.
Sun's Java expectation dovetails with recent trends, most notably Apple's iPhone, which architecturally is much more an Apple computer writ small than a mobile phone writ large. In particular, Apple uses a version of its regular Safari Web browser so users will have as much of the desktop Internet experience as possible.
At the same time, Intel is working to bring x86 processors that run PCs into mobile gadgets. It's in cohoots with open-source efforts including Ubuntu Mobile and Mobile Firefox .
The move to Java SE won't happen overnight. Rich Green, Sun's executive vide president of software, said he expects smart phones using various pared-down versions of Java to stay in the market for at least a decade.
But the shift already was under way. "All the work in Java ME had been pushing it closer and closer to Java SE," Gosling said.
Defragmenting mobile Java
Moving to Java SE could help fix one nagging problem with Java ME: fragmentation.
Java ME is a collection of abilities--basic ones and higher-level options layered on top--each defined by a detailed description called a Java specification request. For Java ME, there are a large number of these JSRs for various features. That posed a challenge to Java's original tagline, "write once, run anywhere."
The tagline came about because a program written in Java could in principle run on any computer that had a Java virtual machine. The JVM is a software foundation that lets a generic Java program run on a particular computer. But with the multiplicity of Java ME extensions, there was often little guarantee that a program written for one mobile phone would work on another.
Java SE has a much richer basic set of abilities, so using it instead of Java ME could at least in principle restore some of Java's promise of software portability.
JavaFX mobile is one component of a multipronged effort called JavaFX that Sun announced in May at its JavaOne conference.
"JavaFX is probably the largest and most complex software engineering effort Sun has ever done," Gosling said. Here's a quick tour of the JavaFX components:
Tour de Java FX jargon
Unless you're a serious Java nerd, and maybe even if you are, Sun's latest nomenclature is a crazy hodge-podge of terms. Java SE--OK, that's been around for nearly a decade, we can handle it. Though there was some numbering madness a few years ago, Sun seems to have settled on the current version being Java SE 6. But let's work outward from there.
First comes Java 6 Update N, formerly called the Consumer Java Runtime Environment (JRE). This is an attempt to make Java SE easier on the average computer user, chiefly through improvements to the plug-in that Web browsers use to deal with Web pages using Java.
Among the Update N features: It preloads Java when the computer boots to avoid the excruciating delay when you encounter a Java Web page. It installs faster by loading only a bare-minimum kernel--typically less than 4MB--that gets things started and then updates itself with the full 12MB Java software collection. It takes advantage of Windows' Direct3D graphics abilities. And it includes a more graphically modern user interface that gives a unified look across multiple operating system.
Update N should go into beta testing in December and be available a few months later, said Chet Haase, Sun's Java SE client architect.
Atop Update N comes JavaFX Script. This is a new scripting language geared specifically for fancy user interface actions such as transparency and other effects that are difficult with the prevailing Web browser scripting language, JavaScript (which contrary to what its name may imply isn't based on Java). JavaFX Script is geared toward use more by design types than engineers, Gosling said.
Of course, you can't have a script without something to understand it. Thus there's JavaFX compiler to translate people's code into instructions the computer can execute.
Last is the aforementioned Java FX Mobile. This software is in part a reaction to gripes by Java ME developers who wanted a more unified foundation, Gosling said. Another difference compared to Java ME is that Sun will deliver it as a prewritten binary program; Java ME typically comes as source code that programmers must compile into something useful.
Potshots at the competition
Gosling and Java have been at the vanguard of an idea that in a way is just coming back into vogue: rich Internet applications, which is software that runs in a Web browser but comes with a lot more pizzazz and capability than bland Web pages.
Java caught on as a way to run server software and to run games on mobile phones, but one original promise of Java was turning a Web browser into a foundation for sophisticated software. (If you're having flashbacks to Netscape taking on Microsoft Windows and the resulting federal antitrust case, just breathe deeply for a moment to settle down.)
But much of the rich Internet application action is happening with software such as Ajax, the Adobe Integrated Runtime (nee Apollo) and Microsoft's Silverlight and Google Gears.
Gosling thinks JavaFX has a chance, too, though, listing several advantages he believes it has: a richer user interface, faster performance, a robust and well accepted language and better abilities when a computer is disconnected from a network.
And security, he adds. Adobe's AIR is designed to let programs work like regular PC software, but Gosling thinks the approach unwise. "It's a petri dish for viruses. Security is really hard to implement well."
- prev
- 1
- next







