Sunday, October 26, 2008

DesignGridLayout: final 1.0 soon released! Or not?

Today, I have finished fixing the last of the high priority issues of DesignGridLayout.
All fixes are already available on Subversion trunk, and also as snapshots there (note: it is not available through maven).

The past 3 weeks were quite tough in terms of issues fixing, with a lot of refactoring, improvements, and clean-up.

Now I am quite happy with the current standpoint about new features:
  • "smart vertical resize" (already discussed in this post)
  • automatic support of right-to-left orientation Locales (discussed there)
  • smarter -and simpler- API for empty rows (no need to specify a number of pixels: that's one step toward resolution independence)
  • better minimum size management (previously, DesignGridLayout would calculate a minimum size equal to the preferred size of the Container, but during very narrow resize, it would shrink each component to ridiculously small widths)
  • automatic call to setLayout() from DesignGridLayout constructor
  • last, but not least, smart support for forms with multiple label columns (this required some extension of the "spirit" of canonical grids, rising to the concept of "canonical sub-grids")
The concept of "multi-label grids" (or "canonical sub-grids" as I often name them) still needs to be introduced on the project web site (or on this blog) but that should not be a very heavy task.

So I consider it is soon time for an official 1.0 release!

Or is it?

I mean, there are still several open issues (enhancements only, not bugs), some of which might be worth having fixed in the 1.0 version. Of course, willing to fix these issues would then mean postponing the official 1.0 release (might be end November -or later, depending on how many issues we want solved- instead of early November).

So I ask the question here (I have also asked it there actually): what do you, DesignGridLayout users, prefer?
  1. Version 1.0 in about one week, all current issues open solved only in later versions?
  2. Version 1.0 with more issues closed (which ones?), but released later (between mid November and end December, depending on which issues to solve)
If you don't know, then I'll choose on my own (but I have to admit that I am not sure about what I prefer).

For the time being, even if you don't want to answer this question, you can always check the latest snapshot and report problems if you find any. Also, some of the new API method names I have chosen may be argued (I lacked inspiration for some), so don't hesitate to comment also on these (but please suggest a replacement for the new methods which name you don't like).



  1. After a quick reflection, I have just created a new issue #21 to improve the API used for multi-label rows.
    It is preferable to have the best possible API before V1.0 final release.
    I have also decided to fix issue #15 (resolution independence: change margins() API) for the same reason.
    So I will implement these issues first before 1.0 release (should be a matter of days anyway).

    But the question for other issues (#10 in particular) is still open...

  2. I'd follow the open source mantra,
    Release Early, Release Often.

    So go ahead a release v1.0

    You will always be adding new features and improving the api.

    Releasing v1 will give you a line in the sand marking a stable release.

    Just my 0.02 worth.

  3. Thanks for the ,suggestion Peter, (and also for reminding me about the OSS mantra, which I had forgotten, by the way).

    I'll take my decision by the end of this week.

    In the meantime, I'll still fix issues 15 and 21, because these fixes break the current API. I want to avoid API breaks once 1.0 is released; afterwards I will focus more on additions to the API, rather than changes.

  4. It's just a number you're talking about. Release early, release often but don't claim it to be official when you know it is not.

    Thus my opinion is to release another beta and spare the official stamp until very certain about the quality!

  5. Yes Petteri, you are perfectly right!

    For quality, I can only talk about the tests I launch systematically on the library after each build.

    This test suite is quite comprehensive but probably does not cover all possibilities that users may find in their own forms.

    Unfortunately I have very little feedback from DesignGridLayout users so far (I'd rather think this is because they are all happy with it and have no bug or enhancement to report;-)).

    I'll probably release a 1.0-rc1 this week-end (after I close issues #15 and #21 as mentioned in a former comment). I will make it available through maven as well. I'll wait for feedback during a few weeks until releasing a final 1.0 (with the same features but any reported bugs fixed).

    In parallel, in November, I intend to work on issue #10, that will go in a 1.1 version (official by end of 2008 if everything is fine).

  6. Hi Jean-Francois!

    Very exciting. Thank you for your hard work.

    Unfortunately I have very little feedback from DesignGridLayout users so far...

    This is normal. In general, you'll receive very little feedback. Back when I published shareware, I estimated I heard from 1 in 100.

    Fortunately, now that we have the Internet, you can track projects using your work. It's very rewarding to see your work pop up in unexpected places.

    All the best!