December 21st, 2010

Status update on java.net projects

Over the past 6 years I’ve hosted a number of my open-source projects on Java.net. Over the last two-three years the site admins kept talking about moving the hosting forward, enhancing both the visual and the backend functionality of the site. I have no insight into the complexity of the existing infrastructure and the amount of resources available. It thus thus be foolish – and pointless – to speculate on the reasons for the glacial pace at which things are happening.

After a lot of promises, early November brought the rather hostile announcement (emphasis mine):

This is an opt-in migration – we have thousands of junk, test, and abandoned projects on the site and we intend to leave them behind.  Any project owner can request that we move their projects, and any community leader can request that we move specific projects in the community.  Any project that is not specifically requested by name via the opt-in form by November 30, 2010 will be purged when the CollabNet site goes dark.  We will be keeping tarballs of the CollabNet contents and will be able to distribute them after the site goes dark, however projects that request migration are our top priority.

Aptly named “Move it or loose it“, this is quite a threatening statement that makes not one, not two, but three direct references to the projects that will not opt-in to the migration. Even though i’ve put the development and maintenance of my projects on hold, i still want to have the sources, binaries, documentation and the source history available for interested developers. And so i promptly added all my projects to the opt-in form.

Fast forward three weeks after the deadline date. A couple of days ago a comment was left on my blog (thanks Eugene) – Substance look-and-feel is nowhere to be found. It’s no longer at substance.dev.java.net and certainly not on the new java.net/projects. Let’s look at my new profile page that lists some of the projects that i asked to migrate. Looks like java.net/projects/substance is the winner, except that it leads to an error page. Most of the project links on my profile page lead to errors, and some lead to the subset of the original content. Every page takes minutes to load, and i have no idea if the old forum postings and binaries will ever make it through. Top priority indeed.

So here’s the deal. Over the next few days i will upload all the sources, documentation and additional materials to my GitHub page. However, it will be up to you to build the binaries, run sample applications and browse the downloaded documentation. I simply don’t have time to untangle this horrible migration mess that was unilaterally forced on me and my users.

And yes, i know that Java.net was a free service, and that the same exact thing may happen to GitHub in five years. I’m not that naive.

August 9th, 2010

Releases for Trident, Flamingo and Substance

I’ve just published the final releases for the following projects:

Flamingo 5.0 release contains:

  • New scroller panel component
  • New color selector popup
  • Full right-to-left (RTL) support
  • Toggle menu buttons
  • Dock icon for ribbon frame on Mac
  • Dynamic resize of ribbon components

Substance 6.1 release contains:

  • Platform specific keyboard shortcuts
  • New Mariner skin
  • New Office Black 2007 skin
  • Better visual integration in Substance Flamingo plugin for ribbon under all core Substance skins

Trident 1.3 is mainly maintenance release with a few minor API additions to the repaint timelines. Flamingo uses Trident for some of the animations, and you will need to add the latest Trident jar to the classpath. If you’re running your Flamingo-based application under Substance, add the latest Substance Flamingo plugin jar to the classpath for consistent visual appearance and animation effects.

Here are a few screenshots of these libraries in action. New Mariner skin in Substance:

New Office Black 2007 skin in Substance that is targeting the Flamingo ribbon component:

Scrolling support for Flamingo popup menus:

Color selector popup for Flamingo command buttons:

Full right-to-left support in Flamingo ribbon:

July 22nd, 2010

Release candidates for Trident, Flamingo and Substance

I’ve just published the release candidates for the following projects:

Flamingo 5.0 release candidate contains:

  • New scroller panel component
  • New color selector popup
  • Full right-to-left (RTL) support
  • Toggle menu buttons
  • Dock icon for ribbon frame on Mac
  • Dynamic resize of ribbon components

Substance 6.1 release candidate contains:

  • Platform specific keyboard shortcuts
  • New Mariner skin
  • New Office Black 2007 skin
  • Better visual integration in Substance Flamingo plugin for ribbon under all core Substance skins

Trident 1.3 is mainly maintenance release with a few minor API additions to the repaint timelines. Flamingo uses Trident for some of the animations, and you will need to add the latest Trident jar to the classpath. If you’re running your Flamingo-based application under Substance, add the latest Substance Flamingo plugin jar to the classpath for consistent visual appearance and animation effects.

The final releases for all the projects are scheduled for August 9. Only bugs will be fixed until that date.

July 13th, 2010

Dynamic resizing of ribbon components in Flamingo 5.0

While the ribbon component in Flamingo component suite mainly targets hosting command buttons and button galleries, you can also add any core / third-party component by wrapping it in a JRibbonComponent class. You can add such components as they are, or associate optional icon / caption pair with them:

https://flamingo.dev.java.net/release-info/5.0/ribbon-comp-resize-top.png

In this example, the “Applications” ribbon band hosts three comboboxes, and each combobox has an icon and a caption next to it. To address different monitor and window sizes, as well as the user resizing the application window hosting the ribbon, Flamingo provides built-in support for dynamically resizing the content of the ribbon bands to best fit into the available space. As the user makes the window smaller, ribbon galleries show less buttons, and command buttons switch from big to small icons and hide the caption. Eventually, when there is not enough space to show the controls at the smallest visual state, the entire ribbon band becomes collapsed.

Support for dynamic resizing of the ribbon content has now been extended to the JRibbonComponents as well. Call the new JRibbonComponent.setResizingAware(true) API to turn the dynamic resizing on for the specific component. If this API is not called, the existing behavior is preserved.

Once the API is called, and the user starts resizing the ribbon, the wrapped component will hide the caption and icon as necessary before the band will go to the collapsed state. If you start with the ribbon band displayed above – where all comboboxes show the icons and captions, the next state will be

https://flamingo.dev.java.net/release-info/5.0/ribbon-comp-resize-medium.png

where the captions are gone, and the comboboxes fill the available space if JRibbonComponent.setHorizontalAlignment(HorizontalAlignment.FILL) was called when the component was created. If the user continues making the ribbon smaller, the next state is

https://flamingo.dev.java.net/release-info/5.0/ribbon-comp-resize-low.png

where the icons are gone as well. At this point the next state is to collapse the entire ribbon band:

https://flamingo.dev.java.net/release-info/5.0/ribbon-comp-resize-collapsed.png

This is the last planned new feature for Flamingo 5.0. Release candidate is planned for July 19, with the final release planned for August 9. Now is the best time to migrate your application to the latest 5.0dev drop of the library and help me find the remaining bugs.