In this blog entry, the need for an easier programming model for Swing is briefly discussed and then genesis is presented as a possible answer to the problem. What makes the binding implemented by genesis unique is that it doesn't require you to use any "proprietary" components, it doesn't require you to code listeners (neither in the interface nor the JavaBean) and is UI-toolit independent. So you can design your interface using Matisse, write your JavaBean class and just use a couple of annotations to bring it to life. Besides that basic binding features, genesis also makes it possible to enable/disable components based on conditions, making them visible/hide them, populate tables, combos, lists etc. with a java.util.List or an array (using just an annotation) and much more. It is also fully compatible with Java 1.4 and has many other non-UI related features, such as transparent remoting. A SWT binding is also available in HEAD and should be released in the next few days. What do you think about genesis? Does it suit your desktop project needs?