I think the talk went well yesterday, the room was almost full. It was very enlightening to talk to people afterwards as many said they had either built frameworks on the same technologies of Swing, OSGi and IOC or are currently looking into doing so. The concept of Event/Message Bus was also something that many people have adopted or are investigating adopting. I am glad I got to do the talk as it sounds like many people have had the same issues designing and managing large scale swing application. I hope I got a chance to help some people who are lucky enough to be at an early stage in developing a application and can adopt some of these solutions.

Click below for a PDF of the slides for the talk:
slide one

The SPAR Framework

During my talk I introduced the SPAR framework which is the rich client framework I built for Imagery. I have created an open source project for it at spar.dev.java.net. It is under a BSD license so you are free to use it how you like. If people are interested in signing up to help improve the SPAR framework and move it forward that would be great!

I will work on some form of documentation for the framework in the near future so I will apologize now for being light on documentation. There is a sample application as a very simple worked example which doesn’t do much at the moment other than bring up a window with docking panels, menus, toolbars etc. There are two plugins that make up the SPAR framework and two docking framework plugins at the moment:

  • spar – This is the core of the framework and has no concept of UI so can be used for headless applications.
  • spar.ui – This is the UI framework for menus, toolbars, docking panels etc.
  • spar.ui.jide – This contains the JIDE libraries, a implementation of spar.ui’s DockingManager and some custom components I have written that depend on JIDE.
  • spar.ui.infonode – This will be a InfoNode implementation of spat.ui’s DockingManager but I have not had a chance to finish this yet.

I hope the SPAR framework turns out to be useful and I am interested in hearing peoples feedback on it. I plan to blog more about it in the future and explain more about how it works.