Substance 6.0 roadmap

October 13th, 2009 | 6 Comments »

Today I want to share my plans for the next major release of Substance look-and-feel library. I’ve started the development of version 6.0 (code-named Sonoma) about a week ago, and it’s time to talk about the major changes that are coming in this release.

  • Removal of deprecated methods / classes. All APIs detailed at the end of release notes for version 5.3 have been removed from the latest 6.0dev drop. If your application is using one or more of these APIs, consult the release notes to see what you should use instead.
  • Restructuring the code base. Due to lack of proper modularity in Java, some of the internal utility classes have been incorrectly viewed as published APIs by applications. Version 6.0 will have two major packages – substance.api and substance.internal. The application code can only use the api package, and the bundled test applications have been corrected to follow this guideline. For most applications this will require simple re-organization of import sections.
  • Renaming the main package. In a few days the main package will be renamed from org.jvnet.substance to org.pushingpixels.substance. For most applications this will require simple re-organization of import sections.
  • Moving animations to use Trident library. The internal animation engine from the Laf-Widget library will be replaced by the Trident animation library.

Smaller changes planned for Substance 6.0:

  • Polishing of existing skins and a few new skins
  • Support for custom decoration areas – pending performance evaluation
  • Improving performance of tables
  • Further support for High DPI mode

Applications using Substance will be mostly affected by package renaming and usage of Trident.

If your code is setting Substance via a fully-qualified class name, you will need to replace “org.jvnet.substance.skin…” with “org.pushingpixels.substance.api.skin…“. Otherwise you will just need to reorganize your imports section.

Switching to use Trident will require applications to add the matching trident.jar to the classpath (in addition to substance.jar). If you are running Substance-powered application in a signed WebStart environment, you will need to sign the Trident jar with the same key.

The latest 6.0dev drop of Substance contains some of the changes described above. The deprecated APIs have been removed, the packages are now organized in api / internal – but not yet under org.pushingpixels.substance, and custom animations in the test application are powered by Trident.

If you have any questions, comments, suggestions or objections, please open a discussion on the project forums or mailing lists.


Related posts:

  1. Roadmap for Substance 5 With release 4.3 of Substance look-and-feel available last Monday (and a few patch releases to...


6 Comments on “Substance 6.0 roadmap”

  1. 1 Tbee said at 9:56 am on October 13th, 2009:

    Exiting! I’m curious how trident will perform in Substance.

  2. 2 Kirill Grouchnikov said at 11:09 am on October 13th, 2009:

    Tom,

    This indeed should be an excellent test for Trident. I would imagine new capabilities in Trident being driven by the specific requirements of animations in UI delegates.

    Thanks
    Kirill

  3. 3 Keith said at 3:34 pm on October 13th, 2009:

    Do you think it might be possible in the future to integrate Substance with other open-source frameworks? For example, if support could be added for working with jQuery UI themes, then you could potentially get a large number of very nice looking themes for free. Granted the jQuery UI themes were built for web apps, and not Java, but it should be possible :)

    In any case, keep up the good work!

  4. 4 Kirill Grouchnikov said at 8:02 pm on October 13th, 2009:

    Keith,

    This is an interesting technical challenge – to have one UI toolkit support themes created for another one. Not sure if i’m going to have time in the foreseeable future to do this myself in Substance, but i’ll most certainly welcome interested community members to see how jQuery UI themes (css / image based) can be parsed as Substance skins.

    Thanks
    Kirill

  5. 5 John said at 2:12 am on October 16th, 2009:

    Please, please, please, pretty please :)
    include the left tabs back in version 6, like it had in version 4, and so many people asked for it.
    Thanks and good job.

  6. 6 Thierry J said at 11:18 am on October 17th, 2009:

    Very nice. I am glad that you’ll focus on tables, as I am using Substance for a e-trading GUI. I am already doing better than the c# in-house version. I am really looking forward 6.0.