SAN FRANCISCO, Calif. — Sun Microsystems is working to make good on the many promises related to client-side computing that it first made earlier this year at JavaOne — although it admits parts of the effort may be some ways off.
During that show, the company introduced its new client-side technology, JavaFX, which would compete with Adobe’s AIR and Microsoft’s Silverlight. It also promised a future update of Java SE would offer considerably improved performance, particularly in areas related to startup.
Speaking here with journalists yesterday, Sun officials said the effort is underway, but could still take years because of its dependence on making massive changes in Java SE.
In the meantime, the company sought to clear up uncertainty among developers surrounding what JavaFX will involve.
“There has been a certain amount of confusion of which pieces are what and where they go,” James Gosling, a Sun Fellow and the creator of the Java language, said yesterday. “It’s a complicated landscape of puzzle pieces that fit together.”
The company said JavaFX, which is built on Java SE, will be designed to bridge the gap between Web designers (the ones who took art courses in college, as he put it) and developers (or the ones who took computer science). JavaFX Script will be a scripting language like PHP or Python, but focusing on rich user interactions.
One concern has been that building JavaFX Script applications will require a developer environment, and Sun isn’t exactly known as an IDE company. However, it said its content creation tools would come in the form of a plug-in that works with either Adobe’s Photoshop or Flash CS3.
On the wireless side, Sun said JavaFX Mobile will be built on the assets of SavaJe Technologies, which the company acquired in April of this year. However, one change is that JavaFX Mobile will be based on Java SE, not ME, as has been the tradition for mobile phone.
“It’s an attempt to get uniformity by having the same bits on all phones, to have the same commonality on all OSes, so you have interoperability,” Gosling said.
Major update ahead for Java SE
Sun officials also discussed the next significant release of Java SE, currently dubbed Java SE Update N — since the release does not yet have a release number or a name approved by Sun’s lawyers.
The release is available in an early-access form now, with most features functional. Some portions, especially kernel-related features, are still in internal testing, according to Chet Haase, a Java SE client architect at Sun. Haase added that a beta release is planned for December.
When Update N ships, Sun is banking that it will address some of the issues facing the consumer space — most notably the browser plug-in system and startup performance. Gosling called the present level of browser support a mess, due to upgrades, lawsuits and patchwork fixes.
Ken Russell of the Java SE deployment team said support for Java applets would get a “ground-up rewrite.”
“This is important for both consumers and enterprises,” he said. “This will change how your poker game in your browser is run and how your enterprise corporate app will be run.”
Fortunately, Russell said Sun’s effort to rewrite plug-in support for Update N is progressing rapidly. He said the first build of the browser plug-ins for testing passed more compliance tests than even the old Java plug-in architecture — and Update N hasn’t even gotten to beta yet.
He also said the browsers will be able to run bigger, more powerful applets than in the past, thanks to much larger heaps for expanded memory footprints.
Vista support also will be beefed up, Russell said, by allowing signed applets to run in protected mode. For enterprise customers, an application can be set to run in one particular version of the Java Runtime Environment (JRE), enabling them to maintain compatibility should an app be certified only an older version of the JRE.
One commonly cited issue in Java SE is that applets sometimes don’t display on a Web page or banner at all, because Java has to load from scratch, which often necessitates a notable lag. To address this, Sun is working on an Update N project called Quick Starter that will pre-fetch data to launch Java applets much more swiftly.
Haase also said graphics performance also will get a big boost in Update N by defaulting to the GPU in the computer for 2D rendering. Java has offered the option to have the GPU and either DirectX or OpenGL graphics libraries handle rendering, but this had to be manually switched on. With Update N, it will be on by default.
Sun also plans a major overhaul of the media codecs in Java. Haase described the current codecs as old, out of date, not part of the core platform and not very good quality.
That will all change to offer high-quality audio and video playback in Java with Update N, he said.
Update N will also include improved version detection on the client, Haase said. The release’s new Deployment Toolkit determines what versions of the JRE are installed and updates them appropriately. Currently, Java doesn’t detect which of its versions is on the client computer very well and isn’t very smart about what to install.