• On CHOW: Sexy vampire party
October 19, 2007 11:50 AM PDT

Sun starts bidding adieu to mobile-specific Java

by Stephen Shankland
  • Font size
  • Print
  • 2 comments

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.

James Gosling

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."

Stephen Shankland writes about a wide range of technology and products, but has a particular focus on browsers and digital photography. He joined CNET News in 1998 and since then also has covered Google, Yahoo, servers, supercomputing, Linux and open-source software, and science. E-mail Stephen, or follow him on Twitter at http://www.twitter.com/stshank.
Recent posts from Underexposed
Nikon app teaches photography on the fly
Smile! Flickr has an official iPhone app
Corel Digital Studio 2010 opens up to consumers
Adobe tests raw support for Olympus E-P1, new Nikons
Adobe's next Lightroom to forsake PowerPC Macs
How Flickr needs to change
Adobe kills low-end Photoshop, urges users online
Toshiba plans 64GB SDXC memory cards for 2010
Add a Comment (Log in or register)
Java SE to solve Java ME fragmentation issue
by cbazza October 19, 2007 2:15 PM PDT
Not in a million years !!! The fragmentation issue with Java ME is indeed with so many JSRs for phone specific things like Bluetooth (JSR 82), Multimedia (JSR 135), Location (JSR 179), etc, etc.

The problem is that each handset vendor implements these differently (by a lot or by a little) and that causes problems. Not to mention handset specific bugs.

None of these JSRs are available in Java SE (yet required for cellphones) so they will need to be added to future Java SE and hence the problem just migrates to future Java SE implementations.

The real solution Sun should have implemented with Java ME was to require cellphone makers to get JavaVerified to make sure their Java implementation was solid in the first place instead of trying to push this responsibility to application developers.

Imagine if Microsoft required application developers to have to verify their apps with every machine that comes out to make sure the app runs properly. Actually that is the value Microsoft brings to the table, developers don't have to worry about that, you simply write one Windows app and it runs on all Windows machines. Funny how Microsoft gets "Write-once-runs-everywhere" (where there is Windows) and Java fails miserably short.

Another major problem with Java ME is performance and there is such large discrepancy between implementations. Just take a look at jbenchmark.com to see what I mean.

For all I've said, you might get the impression that I am a Windows developer but I am actually a Java ME developer.


Carlos.
Reply to this comment
After all of these years
by Maclover1 October 19, 2007 5:00 PM PDT
Java still sucks. I cringe evertime I see some piece of software kick into Java mode....because I know I am in for a SLOW ride.

Just today working with a NetApp SAN, digging through the management interface I thought this as it was just slow to come up.
Reply to this comment
advertisement

The 411 on early-termination fees

Verizon Wireless has doubled its early-termination fees for smartphones, but what does it mean for the rest of the industry?

Google has its own plan for Netbooks

No, the search giant isn't saying it will build a Netbook. But it sure knows what it would like one running Chrome OS to resemble, and that's a little different from the Netbook of today.
• Screenshot tour of Chrome OS

About Underexposed

This blog sheds light on digital photography subjects such as cameras, photo editing, and Web sites. Shankland joined CNET News in 1998 after a five-year stint as a science writer. He's a lab rat who grew up in Los Alamos, N.M., and graduated from Harvard.

Contact Stephen at Stephen.Shankland@cnet.com

Add this feed to your online news reader

Underexposed topics

advertisement
advertisement
Click Here

Inside CNET News

Scroll Left Scroll Right