What’s New In The Java Desktop
By Adrian Sutton
Notes on the java desktop track overview session. Warning: completely unchecked, full of typos and may not make sense. Will review eventually.
Desktop Track Guide Notes What’s New And Exciting in Java on the Desktop 600 Million PCs run Java 4.3 Million pro Java developers Java devs spend time: Servlets/JSPs/EJBs 37% Desktop Applications/Applets 37% J2ME 3% OEMs representing 60% of the PC market have signed distribution agreements. Many of the 600 million PCs run the old Microsoft JVM. Doubled volume of downloads of JRE / month to 5 million per month. Java in Large Applications EIOffice – Evermore Integrated Office. Office lookalike from China. Record a macro and it spits out Java code. Doesn’t fit desktop correctly but does same thing as Microsoft Office. Mars rover control application and to visualize images sent back. LimeWire – Notorious filesharing application. 23 million downloads. Speaker: “obviously I don’t have it installed” Yahoo site builder application. HTML editor together with hosting developed for small to medium businesses. Feels and looks very native – very good performance. SageTV – PC based distributed DVR system. Swing based application on home PC, client server based – one server records TV shows and pCs thorughout home can watch the shows. All in swing and java. Visit java.com, javadesktop.org or swing sightings Auto upgrade feature in 1.4.2_01 has now gone through a successful cycle. Leverages effort of getting JRE out to keep them current. Microsoft/Sun agreement – MS must not distribute MS JVM with Windows. MS can support already deployed versions of the MS JVM in the field. Sun to work with OEMs to ship J2SE with all computers. Java.com – end user oriented, launched last year. Primary destination for JRE downloads. Application catalogue – features end user oriented java applications. Can be featured as an application by signing up. Now extended catalogue to include business applications. Will beocme the cntral poitn for end users to identify java apps. Java dev community for desktop developers. javadesktop.org – blogs, orums, project hosting. 100 active projects with 24 incubator. 3500 posts to discussion forums. Daily news ,RSS feeds etc. JGoodies project is on javadesktop. Provides different components to make it easier to create good looking swing components. JGoodies forms layout system. Animation framework. Launching a set of new projects – Java3D source now available. JAI has community, source code to follow soon. JDIC and JDNC to cover later. Sun’s Java Desktop System (MadHatter). Been a good success. 200 million deployments in China (potential over the next 2 years). Available in Walmart stores. Not about being implemented in java. About bein ghte desktop for java. All the development is recommended to be done in Java. Java is the native programming environment on the JDS. All APIs available to Java. Free version of JDS available for ISVs. What’s New In Tiger Class data sharing – improves start up performance about 30%. Common classes are parsed and saved in memory mapable format. About 20% faster on windows. Optimise core libraries in Tiger. Java 2D can now render directly into OpenGL pipeline. Demo in pavillion. XAWT – eliminates motif dependency. Fixes many problems and also speeds up performance on unix. Single instance webstart applications. It’s possible to have several JNLP apps start in the same JVM. Several instances of the same application run in the same JVM. Pack200 jar compression by 90%. Used in JRe for some time – now available. Decreased download size of JRE. Significantly improved user experience with internal JRE dialogs – now use system look and feel. Also improved layout. Improved XP and GTK L&Fs. Continues to invest in native L&Fs. Many devs want to completely integrate into desktop environment. New deault L&F (Ocean) Much nicer than metal. Much lighter and more modern. Closer to current desktop looks so fits better. Skinnable L&F (Synth). Can change characteristics by modifying XML files. Applet loading experience. Used to get ugly gray box in Java 1.4. Now have a white background and shows the progress of the applet as it’s loading with nice graphics. Desktop Integration Enhanced functions – alays on top windows. Better webstart desktop integration. Available on GNOME to create shortcuts. CUPS printing on UNIX XDnD support – better D&D compatibility on unix Swing eclipse plugin support. Allows deploying plugins to all IDEs Can now install webstart from CD. Still has updating behaviour like when installed over the net. Supports browser certificate keystore and smartcards in IE and Mozilla. JAR timestamp support is availalbe. HTTPS client authentication. Over 7000 bugs fixed. Unicode 4 support with enhanced proxy support for applets and webstart. Autoconfig proxies particularly improved. Beyond Tiger Continue improving current stuff. Track platform L&F, optimize performance and footprint, enhance integration, make Java look good on Longhorn. No need to recode unlike with Avalon. Radically make it easier to create apps – particularly networked apps. Have a very general platform – want to make it easier to create swing based client applications to work with servers. Explore revolutionary new UI concepts. How can 3D capabilities be put to use on the desktop? JDIC and JDNC now available opensource on java.net. Sun wants to be more open. Not functionaly complete project but seeded by Sun. Will be considered for J2SE when mature. Release early, work with community then standardise and integrate the proven technologies. JDesktop Network Components Simplify rich client development. Want to create “shortcuts” to make creating rich clients easy. Increase productivity of existing programmers and broaden the developer base to people who can’t currently create good rich clients. Enhanced data-aware swing controls. Filtering and sorting capabilities built-in. JDNC API – a set of API for very high level components that have a lot of “smarts” built in. Table – want to visualize data. Form component interesting as it allows creating a data entry form automatically. Editor is a rich text editor. Can bind to RowSet or JavaBeans. JDNC markup language. XML syntax for creating JDNC applications. JDIC – provides extra integration ability to Java. Tray-icon support, automate and embed browser. Automate mailer, use registered document viewers. Register Java pps as document viewers. Create installer pakcages from JNLP applications. Java based screensavers. Very surprised by impact made by JDIC. Patches for OS X and FreeBSD submitted. Actual swing component sits in dock icon. Project Looking Glass. Framework for creating 3D window managers. How to apply 3D rendering capability to the classical desktop UI. Ocean is now the default L&F. Q: Multimedia in Java is not going forward. JMF right now if there’s MPEG 4 on windows – needs special encoder available. No integration with Quicktime or Windows Media player. A: JMF being considered for “building up communities”. Q: Will plugin reuse username and password from browser. A: I’m not sure. Should talk to deployment guys directly in the pavillion. Q: Started using struts 6 months ago. Foudn many things interesting. Considering goal of improving productivity. No swing framework that’s similar to struts – able to use multiple level of abstractions and use abstractions more in classes. A: See JDNC becoming platform over time. Q: When is this likely to happen? A: Frameworks fall into space of making it easier to create applications. Should be brought up on JDNC forums. Q: Mentioned 7000 bug fixes in JRE 5.0. Do you expect any further bug fixes to 1.4? A: We do have update releases that get released every 3 months as long as one of the affected releases are still supported. Very restrictive with bug fixes that are put in. Very strict that bug fixes don’t break anything. 1.4.2 is definitely still supported – can expect an update every 3 months.