http://java.sun.com/ http://java.sun.com/ http://java.sun.com/javaone
JavaOne - ExperiencingJava technology through education, industry, and community
2007 Conference
Home
Registration
   Conference Hotels
Schedule
   Activities
Tracks
Sessions
   General Sessions
   Business Day
   TV Day
   JavaOne Camp
Hands-on Labs
Pavilion
   Cosponsors
   Exhibitors
   Media
   How to Exhibit
Blogs
Multimedia
Java University
 
Conference Tools
Schedule Builder
Event Connect
My Registration Details
 
Conference Programs
Alumni Program
   Alumni FAQ
Eco Corner
Rock Stars
 
Related Resources
JavaOne Library
JavaOne Online
2006 Site Archive
 
Community
Forums
Sun Developer Network
 
Popular Items
Java Wear
Duke Images
 
Related Sites
java.sun.com
java.com
java.net
 
 
  Home > Desktop Java Technology Today

 Desktop Java Technology Today

   
By Dana Nourie  

Today the Desktop Java Technology session opened with a room full of people, eager to hear where we are with Java on the desktop and where the platform is headed. The talk, presented by Chet Haase and Thorsten Laux, began with some statistics about the current popularity of the Java desktop and the Java platform in general.

Since January of 2007, there have been over 50 million installs of the Java platform, so not surprisingly 77% of all PCs run the Java platform, and as much as 91% of PCs run the Java runtime. Now, when you buy a PC, there is a good chance that the Sun Java runtime will already be installed and ready to go. Next, Laux showed slides of some of the more popular applications available from the Internet that are written using the Java desktop, so popularity with Java developers is growing. Below are some:

  • PhotoAlbum application
  • Map24.com: Web 2.0 maps, that serves up about a million applets per day
  • Google Presentation: a PowerPoint Viewer
  • CineShot: Real-time quality analysis and Video Capture
  • Lightzone: Photographic Digital Imaging
  • MySpaces's Project Inglewood, a media file uploader applet. Java is good at this because of the advanced security.

The talk then moved into discussion of where the Java desktop platform is going, what additions we can expect, and some of the problems that will be resolved in the future.

Expanding the Developer Community

One of the purposes of the new JavaFX is to draw in other types of developers such as scripting developers and visual developers, in addition to the hardcore Java programmers already out there.

JavaFX is a declarative Java scripting language with static typing for IDE support and compile-time error reporting type-inference, declarative syntax, and automatic data-binding with full support for 2D graphics and standard Swing components as well as declarative animation. You can also import Java classes, create new Java objects, call their methods, and implement Java interfaces. It makes Swing and Java 2D available to graphical designers, and will make creating GUI applications easier overall. JavaFX is available through Early Access.

Haase then showed a demo of how to create an expanding button using JavaFX. He explained the button definitions, and how short the code was, especially the animation of the button itself. You can make changes dynamically and see your changes immediately.

JavaFX Mobile Technology is a vertical stack on the mobile phone. Sun will make the desktop API for mobile technology available in the future, and first version of JavaFX already includes Swing for the mobile phone. "How cool is it to have Swing for cell phones?" asks Haase. "So develop Swing apps for cell phones, or dial trying!"

Problems with the Desktop Platform

Before diving into the problems, Haase went over the many additions to the platform with JDK 6:

  • Desktop API
  • TrayIcon
  • Improved Native Look and Feel
  • New OS support for Vista
  • SwingWorker
  • Project Matisse and Group Layout
  • JTable sorting and filtering
  • LCD text
  • Desktop AA Text Properties
  • Splash Screen

A better security dialog so as not to frighten away users

"There are issues that always get brought up as though we hadn't heard of them. 'Oh, we didn't know start-up is slow'," said Haase teasingly. "The good news is that we are aware, and we are working on these problems. We really are not pretending they don't exist."

The big problems currently being worked on are:

  • Start-up times
  • Installation issues and sizes
  • JRE Detection

"We are going to deliver on these sometime," said Haase with a smile. He then went on to explain that the team is aiming for the end of 2008 to have these issues resolved and delivered.

Start-up Times

There are two problems with start-up times: cold start-up, and warm start-up. The warm start-up is not as big an issue. A warm-start-up occurs after you've already run a Java application and the VM has already been started, and needs only to be restarted. This currently runs fairly well with Java applications. The cold start-up, however, is where the times for the application to start are long. The VM has not been "warmed" and it's a much longer process.

This is really an OS issue, but Haase stresses this is not our way of saying 'this is not our problem, you need to fix your operating system.' Instead, it's a matter of there being a lot of data on disk, and the jar is fairly large, and there is a lot of data to suck in the first time you launch Java. So, the solution to this is something called QuickStarter, which preloads the disk cache. But this is not always a good solution, as other applications may page out the cache. What we want to do instead is read the files in, and if they're not used they'll be paged out or in in virtual memory so it speed up data finding.

Install Time Issues

Install time is also an issue that comes up frequently. This is because the platform is large and feature-rich. The downloading and installing takes time because of unzipping and unpacking. So, the solution is Java Kernel, which downloads and installs the bare essentials immediately. Then there will be options that you can leave out, such as API for GUI if you're not a graphical programmer. Other items will be downloaded on demands that aren't essential but eventually needed. The platform then gets "streamed" down.

Problems with JRE Detection

To date there is no convenient way to detect what version of the JRE a user has, so you can't always take advantage of the nice, new features of JDK 6. Detecting the version would be ideal, then send the user to the Get Java website and give them the proper install, then automatically send them back to the page they came from so they can use the application they intended to use in the first place. Deployment Toolkits are the solution, and use scripts and template code that detects whether the JRE is there, and then launches an install process if needed, but then does quiet polling and sends them back to the site where they can use the application.

Other Improvements to Resolve Issues

Additionally, you will see future solutions and enhancements to windows graphic acceleration, better media components, a way to access the native FileChooser if you’d rather use it than the Swing FileChooser, and tools to simplify binding applications thought beans binding.

Desktop RoadMap

OpenJDK is out there and ready for developers!
You can now get an evaluation, Early Access, download of JavaFX.
Late in 2008, you’ll see consumer enhancements to the platform, such as faster start-up times, improvements to installation size and speed, and new platform features.

Overall this was an informative session, showing the success of the Java platform, the problems that are being dealt with, and enhancements we can look forward to in the future.

More Information
F3 Demos from Chris Oliver
Swing Labs
Using Beans Binding
Java Desktop.org
Appframework: Swing Application Framework
Rate and Review
Tell us what you think of the content of this page.
Excellent   Good   Fair   Poor  
Comments:
Your email address (no reply is possible without an address):
Sun Privacy Policy

Note: We are not able to respond to all submitted comments.