The Apache Foundation recently elevated a number of projects to top-level status. One of them, which has flown under the radar since its creation in 2003, is Click, a framework for Java Web application development. The problem, according to its creator, Malcolm Edgar, is that Click is so well documented, and so easy to use, he gets little feedback from people using the framework. "Because of our efforts, we don't get a huge amount of questions. There have been a lot of downloads, and we know people are using it, but we never hear from them," he lamented. When Edgar began work on Click, there were no standards for Java application frameworks. "We were only given low-level plumbing tools," he said, which was followed by the emergence of the Struts framework. "Struts is the COBOL of Java Web applications," he said. "If you build containers and low-level down-in-the-weeds stuff, it's for you." But Edgar wanted something with greater focus on the user interface, and he got involved in Tapestry. "I thought it was the best thing since sliced bread," he said. Inspired by Web Objects from Apple, Tapestrybrought fat-client UI constructs such as actions and events. It was "more of what a UI framework should be like, more than the I/O stuff that was around then," he said. But Tapestry had too big a learning curve, and Click was a response to that -- a framework with sophisticated UI concepts but readily usable in commercial settings, where there is a lot of job churn and variation in programming expertise. There was a need, he said, "for something people can get their heads around in a few days." Click is a core component for Avoka Technologies of Sydney, Australia, where Edgar is a software engineering manager for the company's FormCenter forms hosting platform. As to whether Avoka might follow the trend to commercialize open-source software by offering support packages, Edgar said there is just no business model. "Apache is the best place for this. There's a big community behind [Apache], so it won't go away in a few year's time, which is important for people making decisions about what software to use."
