High-end project management tools and low-end to-do utilities are a dime a dozen these days. But what if you need something less complicated than a full-blown project management application, but more flexible than a simple to-do list? In that case, give jWorkSheet (JWS) a try. This tiny Java-based tool offers basic project and task management features sprinkled with worksheet-like capabilities. The result is a simple yet functional tool for keeping track of your projects and tasks and the time you spend on them. It's especially useful if you bill per hour and a need a simple utility to track your time.
Because it's a Java-based application, JWS needs the Java Runtime Environment to run and requires no installation. Just unpack the jWorkSheetInstall.zip archive and launch the program using the command
java -jar the jWorkSheet.jar.
JWS's interface is simplicity itself. It consists of three tabs: Events, Projects, and Parameters. The Projects section also contains the Tasks pane, which lists the tasks for the currently selected project.
To use jWorkSheet, you first create a project, then populate it with tasks. Instead of creating a new project or task from scratch, you can use the Copy button to duplicate the currently selected item, and then modify it. For each project you can specify three options: Default, Finished, and Private. When you mark a project as Finished or Private (or both), it doesn't appear in the Events section. When you mark a project as Default, it will be inserted automatically in every new event you create in the Events section -- which can be a real time-saver when you're working with multiple events. The Default and Finished options in the Tasks section work in exactly the same way.
Despite its name, the Report button in the Projects section doesn't actually generate reports. Instead, it copies a list of all projects or tasks into the Clipboard, so you can, for example, insert it into another application.
The Events section allows you to create events that act as timesheet entries. To add a new event, press the New button. If you set a default project and task, they will automatically be inserted in the created event, along with the current time.
JWS automatically keeps track of the time spent on the added event, and stores the time data in the Period field. For example, if you create an event at 9:00, and then add another one at 9:30, JWS automatically sets the Period field of the first event to 30 minutes.
The Report button in the Events section allows you to generate all kinds of reports based on the recorded data. For example, you can create a report for a specific period of time (e.g. day, week, month, or year) that includes a list of all events or a detailed breakdown of all projects, tasks, and events. When you choose the report type you want and press the OK button, JWS generates a nicely formatted HTML report and opens it in the default browser.
Finally, the Parameters section allows you to tweak JWS's settings, such as local working hours, date format, and default browser.
All JWS data is stored in an XML file (in the /home/user/.jWorkSheet directory), which has a simple structure, as shown below:
This makes it easy to exchange data between JWS and other applications. For example, you could write an OpenOffice.org macro that would automatically create a new task in JWS based on the document info.
There are still some rough edges in JWorksSheet: the Report button in the Projects section, for example, could do something more useful than just copying data into the Clipboard. But if you are looking for a no-nonsense tool that can help you to keep tabs on your projects and tasks, give it a try.