It's a game of catch-up for Sun at this point, with the other technologies showing an earlier end-user orientation on the Web. Java applications may rule on the enterprise server, but its use on the client, where the end user interacts with the Web application, has never been a match for Adobe's Flash or Microsoft's Windows technologies.
And catching up can't come too soon. Sun was back to reporting a losing quarter of 25 to 35 cents per share Monday, as some of its key financial industry customers suffer in the downturn.
The recently released Google Chrome browser requires the Standard Edition 6u10 version of the Java runtime engine on the client and will prompt a download if the user doesn't have it. Most do, a big turnaround from the days when Sun had to convince Web users one by one to download client-side Java. "Nine out of 10 PCs have the Java runtime on them," and the last Java 6 update, No. 5, launched in March, prompted 100 million downloads of the Java Virtual Machine and its user display components, Coward said in an interview.
Most new PCs ship with the manufacturer having preinstalled Java on them, just as Flash and Windows tend to be part of the package, he said. Updates to Java occur much like updates to Windows, with end users being prompted to accept a download of updates off the Internet, Coward said.
If a user needs the Java runtime engine, the download has been reduced from the former 14.5 MB. "Tolerance in waiting for downloads is low," said Coward. So a Java Kernel that's been "slimmed down to 4.5 MB" but includes the functionality to get an application under way makes up the initial download. The runtime environment gets filled out with the rest of the required libraries and APIs in the background, as applications are running.
Once established on an end user's computer, the Java runtime now starts faster with Java Quick Starter. When the computer is started up, the runtime executable is preloaded into cache memory. If the user decides to run a Java applet or application, the runtime starts quickly from cache. Much of the delay in starting Java applications was associated with the need to first retrieve the runtime executable files from disk, said Coward. "It's like having a pre-warmed engine on a car," he said, without adding much overhead to PC operations.
The Java runtime for clients includes a new plug-in mechanism that allows users to capture an applet they like on a Web site, such as a Web applet for airing information on movies. By dragging and dropping the applet to their desktops, they can run it in a separate window, independent of the browser. Users can reactivate the applet and get it to retrieve fresh information off the Internet upon restarting their computer -- without going back to the Web site that offered the applet.
Coward said the drag-and-drop feature opens a new way of distributing Java applets or small applications over the Web. "It's a new channel through which independent software vendors may deliver desktop applications. People can see the application run (on a Web page in the browser) before they install it. If they like it, they can pull it out." An icon used to represent the applet gets transferred from the Web page to the user's computer, where it can be activated in its own window, Coward said.