Sunday, November 16, 2008

My presentation on JSR-296 at Jazoon 08

I have just seen that Jazoon has removed all presentations files of Jazoon 08 talks.
That's the occasion for me to post the content of my talk on "JSR-296 Swing AppFramework from the trenches".

The full content (in PPT format) is here (I have just removed the Jazoon template stuff). If you don't have PowerPoint, here is a PDF version (unfortunately without the original animations). Unfortunately I could find no way to convert it to ODP format (for OpenOffice users) without big losses in animations but also in diagrams (most of them got terribly ugly after conversion). I am afraid I'll have to give up on that one (if anyone can convert the original PPT to ODP please email me the result and I'll post it here).

If you want to have an idea of the content before download, here is the agenda:
  • Introduction
    • why do we need a Swing framework
    • what is JSR-296? what does it bring (in a nutshell)?
    • about the presented applications
  • Application Lifecycle
    • standard application lifecycle
    • adding dependency injection (Spring, Hivemind, Guice)
    • adding docking capability (MyDoggy)
    • tips & pitfalls
  • Resources & I18N
    • resource injection principles
    • what about JTable?
    • tips & pitfalls
  • Actions & Tasks
    • a better, more responsive, javax.swing.Action
    • where should I put my @Action?
    • when should I use a Task?
    • what about Exception handling?
    • tips & pitfalls
  • Persistent Session State
    • state restoration (or users' happiness)
    • what is stored? what is not? where?
    • tips & pitfalls
  • What is missing for a complete GUI framework?
    • GUI framework architecture
    • Example: EL4J Swing stack
  • Future
    • JSR-296 standpoint
    • what's likely to change?
Please note that, considering the recent events about Sun in general, and Swing in particular, the "Future" section of the presentation is probably largely obsolete:-(
Still, I believe that Swing is a better platform for GUI development than many others (not just talking about Java here), and developers will still use it for a couple of years more (maybe not in pure Java, though, other options exist: Groovy, Scala). Wait and see...



  1. Alas, can't read it.
    OpenOffice 2.4 and Lotus Symphony both refuse to load it.
    Any chance on an ODP file?

  2. I'll see what I can do.

    For PDF, the problem will be that all animations will be lost, and they are useful for a better comprehension of some slides.

    For ODP, I had tried a few months ago but got terrible results (all animations lost or in bad order, loss of alignments...) That was very weird actually. I'll try with OpenOffice 3, maybe I'll have more luck;-)

  3. Hi Jean,

    Up a ODP version please... =)

  4. I'll post a PDF tonight (I'm a bit busy right now). I also tried converting to ODP, but the result is really disappointing (just a little bit better than my previous attempt): animations are strangely reordered, some of them even don't appear at all... I'll try to see if I can find a better PPT->ODP converter (any suggestions?)

  5. Hi Jean,

    The file is password protected. Cannot open it
    with Powerpoint either. :)

  6. Sorry, didn't notice. Can open it in read-only mode.

  7. Just edited the post to add a link to a PDF version. Unfortunately I could not convert the PPT to a proper ODP, sorry.

  8. There is always a tendency of overengineering a design so much that it probably never see the end of day. I hope that Swing Framework doesn't fall into this mode.

  9. trying to open on PowerPoint 2008 for Mac and I'm getting the following message:

    This presentation is protected by a password or Digital Rights Management (DRM). To access the presentation, you must have a version that is not protected by a password or DRM.

    Anybody knows what's going on here, I never saw this message before.

  10. Hi José,

    Doesn't PPT 2008 still propose you to open the presentation in read-only mode? That's what PPT 2003 does on Windows (I neither have a Mac, nor PPT 2008 unfortunately).

  11. I just came across this blog, while searching for combining JSR-296 with the Spring Framework. On page 11 of the .pdf, you have a diagram outlining such a combination. Do you have a pointer where I might find more detailed information on what that slide hints at? Thanks.

  12. Unfortunately no. The next step is to... go and check the code in EL4J Swing-Module (URL can be found at the end of the presentation).

    However if you have specific questions, I would be happy to answer them directly.

  13. Any chance to get sample source codes?

  14. Well for the Spring and the HiveMind-related stuff you can get it from the links at the end of the presentations, 2 project EL4J and HiveMind Utilities are open source and have the source code mentioned.

    For guice-related stuff, unfortunately still not yet: I still haven't found time to publish source code to sourceforge, although this is still on my todo list (the problem is that my todo list currently has dozen of items all top-priority;-)). I need to go back to the source code and check what prevented me to publish it earlier (besides the fact I didn't check yet how to checkin source code on sourceforge subversion, but I dare hope that is straightforward).