I am extremely pleased today to announce the availability of release candidate for version 5.2 of Substance look-and-feel (code-named Quebec). The release notes for version 5.2 contain the detailed information on the contents of this release which include the following:
Click on the button below to launch a signed WebStart application that shows the available Substance features.

The following sub-projects are also available as release candidates:
You are more than welcome to take Substance 5.2RC for a ride and report any problems in the project mailing lists, forums or issue tracker. The final release is scheduled for May 25. Only bugs will be fixed until that date.
Sample screenshots of Substance 5.2 in action:






In addition to bug fixes and performance improvements in Substance 5.2 (code-named Quebec), there are a few new skins, such as Dust and Dust Coffee. Twilight skin joins the ranks in the latest 5.2dev drop, and it is inspired by the color schemes of the Bespin web code editor spearheaded by Ben (@bgalbs) and Dion (@dalmaer). If you want to take it for a spin, click on the WebStart button below:

To use it in your application, you have the following three options:
-Dswing.defaultlaf=org.jvnet.substance.skin.SubstanceTwilightLookAndFeel
UIManager.setLookAndFeel(new Substance
Twilight
LookAndFeel())
UIManager.setLookAndFeel("org.jvnet.substance.skin.Substance
Twilight
LookAndFeel");
Here are a few screenshots that show this new skin. A small frame with a tabbed pane and a few different controls:

A frame with menu bar, tool bar and status bar from SwingX project:

A thumbnail of the main Substance test application (click for full-size view):

As with all Substance core skins, this is work in progress and will be polished over time. In the meantime, you’re more than welcome to take the latest 5.2dev drop for a spin and leave your comments. Release candidate for Substance 5.2 is scheduled for May 11 and the final release is scheduled for May 25.
The decoration areas in Substance look-and-feel are, in my view, one of the more powerful features of the library and allow to programmatically implement even the most demanding visual designs in a well-structured way. The lifecycle of Swing UI delegates is not very well suited to using different foreground and background colors on components of the same type in different parts of the same window, and implementing this properly without affecting the performance is an interesting challenge.
The latest binary drops of Substance 5.2dev (code-named Quebec) provide much better support for renderer-based components, such as lists, tables and trees when these are placed in custom Substance decoration areas. To illustrate this, here is a screenshot of a sample application under Substance 5.1 Business Black Steel skin:

There are four different decoration areas, each having one enabled and one disabled list. The visuals are quite jarring – the contrast between even and odd rows (striping) is too high, and the foreground color of odd rows in the top-left enabled list is black (on black background). Here is how the same app looks under Substance 5.2dev:

The next screenshot shows a sample application with tables under Substance 5.1 Business Blue Steel skin:

In addition to the same problems as above, the table header area is not using the correct color schemes (for all areas except NONE). This is how the same app looks under Substance 5.2dev:

Finally, a sample application with trees under Substance 5.1 Nebula Brick Wall skin:

While it looks as expected, it’s only by looking at the skin definition that you can see it’s using wrong background colors for most of the areas – here is how it’s looking under Substance 5.2dev:

The development of the next 5.2 version of Substance (code-named Quebec) is wrapping up. You’re more than welcome to take the latest 5.2dev binary drops for a spin. The release candidate is planned for May 11, with the final release scheduled for May 25.
Following the announcement of Google App Engine for Java, it’s interesting to see how Sun and Google differ in their analysis of market trends. Traditionally, Sun has three main “versions” of Java:
- Java Standard Edition (SE) for desktop applications
- Java Enterprise Edition (EE) for server side
- Java Mobile Edition (ME) for phones
With JavaFX, the new (and perhaps belatedly rediscovered) focus on client side market has three versions:
- Desktop profile
- Mobile profile
- TV profile
with a common profile that aims to write an application once, and have it run on all three types of displays – and the history will tell how well that will be supported and used in practice.
What about Google? This is how i see it:
- GWT is Java Web Edition (WE)
- Android is Java Device Edition (DE)
- App Engine is Java Cloud Edition (CE)
and no stated goal (at least yet) to provide a common edition for GWT and Android.