Niggle Status

Niggle is definitely in a usable state. Reminders On-line has been building all of its servlet-based software on top of Niggle for well over a year. ROL's java servlet-based reminder service, Medimom, runs on top of Niggle. Still, there are various issues that have caused me to classify the current release as beta.

Of the things that Niggle lacks right now, the most important are: documentation, documentation and documentation. And in that order! Currently, the only documentation to help you get into Niggle is what is to be found in the examples hierarchy. That, and the generated javadoc.

So, documentation is our greatest single priority. In my opinion, the best documentation consists of examples that are well-constructed and annotated. And that will be my emphasis over the next while on that front. Aside from that, there are specific classes that we expect to add fairly soon.

There is now an initial (you can consider it alpha) version of JDBC bridge classes that allow Niggle to represent a fairly transparent wrapper over an RDBMS with a JDBC driver. These have been developed and tested against MySQL, but there is little reason to believe they cannot be used with other back-ends.

For your first steps in playing with Niggle, you will likely find it more convenient to use the classes in com.niggle.data.inmemory. The DataSource implementations in that package keep all record in memory and persist data to flat text files. This is actually a fairly nice scheme to get started with, since it makes Niggle a self-contained solution for applications with run-of-the-mill data persistence requirements. And actually, mostly due to the cheapness of RAM nowadays, this solution has scaled up much better than we ever thought it would.

Another need we have internally is support for i18n in the core of Niggle. This has been on the drawing boards for a while. In fact, an earlier version had significant support for i18n, but this later dropped out when the code went through a major refactoring. In any case, we need it ourselves pretty urgently, and it will be added back in fairly soon.

So, to sum up, Niggle is not alpha-level code, since it has been stress-tested extensively and is known to be highly robust. On the other hand, it is not really completely ready-for-primetime material because it is missing some important things that the final non-beta release will have, the most important of these being more extensive documentation. It is once the above issues are addressed that I intend to take the pre out of the release tags and call that release Niggle 1.0.

The Niggle Project page on Sourceforge

Jonathan Revusky, 19 February 2001