Today's assignment is to evaluate an open-source Java project on Sourceforge according to our Three Prime Directives.
Overview
ConsultComm is timekeeping program. It helps you keep track of what you have been doing and how long each thing took. From its website:
ConsultComm is a small, lightweight, platform-independent program written in Java that allows anyone managing multiple projects, clients or tasks to effectively keep track of exactly how long they've worked on each project.
-- http://consultcomm.sourceforge.net/
ConsultComm does a good job of satisfying Prime Directive 1, but it is less successful with Prime Directives 2 and 3.
Useful Task
Keeping track of time spent is a useful task, and ConsultComm does that successfully. You can have several tasks in groups, each listed with the time spent so far. There's a built-in timer that you can start and stop which credits time to the currently selected task.
Installation and Use
A typical user could install this program successfully.
An installer is available as a jar file, created using IzPack. It is a typical wizard-style installer, though there is a slightly confusing option at the end about "targets." (It can be ignored.)
Some users might not be able to successfully use ConsultComm. The interface is simple but a little tricky, and there is no user documentation.
The easiest, most prominent feature is a button which starts and stops a timer. If you use that feature first, it will appear to be doing something while actually doing nothing. Before you use the counter, you have to create a project so that the time elapsed will be recorded somewhere rather than thrown away.
You can create projects using a menu or a keyboard shortcut. It's fairly easy once you know that it's what you need to do. If you've used the default install, it also asks about JDBC exports. You can ignore that and hit "save."
Improvable
A determined outside developer could probably contribute to ConsultComm.
The current development branch is in the Subversion repository at https://consultcomm.svn.sourceforge.net/svnroot/consultcomm/trunk, and the developer documentation is in the form of javadoc comments.
It takes a little while to figure out how the program is organized. For example, everything except the updating of the current project's time on a clock tick is done through JavaBean event listeners. (The main window registers as a listener for the clock and responds to the event by finding the currently selected project and directly changing its time.)