Niggle is a web application framework, a set of java classes that, once mastered, should make it very easy to develop robust web-based applications -- i.e. apps in which the end-user interface is provided by the web browser and the back-end logic runs on a server. Server-side web apps written on top of Niggle should be portable to any system on which Java 2 and the Java Servlet API are available.
Niggle's architecture is based on a very rigorous clear separation between (i) data, (ii) presentation, and (iii) the actual dispatching/processing logic of the program.
Here are some notes about Niggle's current status.
Any framework more or less encompasses an approach to a certain class of problem. For example, when you use Visual Basic or some similar GUI builder sort of tool, you tend to design the user interface of your program and then gradually flesh out the other details afterwards. So you could characterize those tools as being UI or presentation-centric.
Niggle's approach, on the other hand, could be characterized as data-centric. Typically, when you start off a new Niggle-based app, you will find yourself naturally sketching out your data structures in XML and then, on that basis, gradually filling in the other details such as presentation templates and the basic dispatching logic. In our view, this tends to lead to more robust, well engineered applications, as opposed to an approach that starts off at the user interface level.
Well, we hope that sounds intriguing enough for you to download Niggle and get started!
The niggle framework was developed as an in-house project at Reminders On-Line (ROL). It is the framework that underlies the java servlet-based reminder service at Medimom that is ROL's main activity. I am grateful to ROL for having the enlightened vision to make Niggle available under a liberal open source license -- in the hopes that it is useful to other projects, but also that further enhancements and improvements will be rolled back into the code base so that we can all benefit.
We thank Sourceforge for providing the infrastructure that hosts this site.