for the Personal Software Process
  Timelog is an application to record and analyze time logged to a project. Timelog is designed to support the Personal Software Process (PSP). The Personal Software Process was developed at the Software Engineering Institute of the Carnegie Mellon University by Watts S. Humphrey to support the individual programmer to reach a structured and scientific work process. The goal of the PSP is to enhance the quality and predictability of the developers work and work products.

Here is a screen shot (using the aqua skin) of this application, and here is another more traditional look of it.

You can always find the newest version of this page at: http://www.kclee.com/clemens/java/timelog/


  • Timelog is an automated tool support for the time recording log form (table C16 ) from Watts S. Humphrey's book A Discipline for Software Engineering, Addison-Wesley, 1995.
  • New processes can be created or edited.
  • There is a 'pause dialog' to stop the time while you are interrupting your work.
  • A summary form shows the time spent on different phases for today, during the last week, and for the project's hole life span.
  • Data is stored in plan ascii files and may be easily imported into other programs like spreadsheets.
  • It's written in Java.
  • It's distributed under the GNU General Public License.

System Requirements

  • Java JDK >= 1.3


Timelog Version 8.25   (1169791 bytes)

If you want to get notified when new updates for Timelog are available please press the following button:
(thanks for your interest)

Timelog is distributed under the GNU General Public License version 2.


  1. First you need a Java runtime. If you don't have one, go to http://java.sun.com/j2se/ and download and install a recent (>= 1.3) Java SDK for your platform.

    Make sure afterwards the java command is in your environament PATH so you can invoke java from anywhere in the command line.

  2. Go to a directory where you want to install Timelog and type in:
    jar xfv timelog8.25.zip
  3. Start Timelog like this:
    cd timelog8.25
    java -classpath lib/timelog.jar:lib/ccl.jar psp.timelog.Main

    Alternatively use the shell or batch script in timelog8.25/bin. In Unix you first have to change the file mode before executing the script:
    chmod 755 timelog8.25/bin/timelog
    Then start timelog on Unix with:


    Or on Windows with:


  4. In the timelog8.25/timelog.ini file you must edit the TimezoneID entry according to your time zone (e.g. ECT for Germany).


  • There are icons icons/timelog16.ico, icons/timelog256.ico (16 or 256 colors), and icons/timelog.png which you can use for a Windows or Unix desktop shortcut.
  • Change in the timelog8.25/timelog.ini file the Background entry in the [Colors] section according to your system preferences.
  • You can use javaw.exe instead of java.exe for the Windows shortcut. That way you don't have this nasty second window open. I did not make this the default behavior in timelog8.25\bin\timelog.bat, because if something gets wrong, there's no place to read Java exceptions.
Once you started timelog as described above, since it is the first time you use it, it asks you for the name of a project file. To make yourself familiar with Timelog first, just give it some new temporary file name, e.g. "t.timelog". After clicking on the open button, Timelog sees that this file does not exists yet and asks the process name that should be used for this new project. Now you can select e.g. PSP1.1. Later you can define your own processes with custom process steps and use them instead for your real projects.

In case you don't like the default Aqua look and feel, you can start the application with the "-noaqua" option, to get a simpler look and feel. If so, you can also have Windows look alike buttons instead of the default Metal look and feel buttons by editing your timelog.ini file (UseWindowsButtons=true).

From here on I will leave you on your own to figure out which buttons to press to achieve which result. I hope the interface is pretty much self explaining.

Just in case you want not only the source code which ships with the version you are currently using, but also the current snapshot I am developing at right now, you can access the Timelog CVS server using the following commands (please note the "1" one instead of a lower case "L"):

cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/time1og login

cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/time1og co timelog

Release History

Version 8.25 has been released on May 4, 2003

Kenneth Westelinck's port from AWT to Swing including Aqua look and feel.

What's New

  1. Timelog is now a pure swing application. Thanks to Kenneth Westelinck for doing the initial port from AWT to Swing and his continuing development and debugging work on this release.
  2. Default look and feel is now an Aqua look on top of the Skin Look and Feel developed by L2FProd.com. Thanks to Kenneth Westelinck for adding this feature to Timelog and of course thanks to L2FProd for releasing the SkinLF.
  3. Time completion when only the 2 digit hour has been keyed in, thanks to K. W. again.
  4. Optional Windows look alike borders.

Bugs Fixed

  1. Opening files is now slightly more robust, thanks to K. W.

The complete release history is on its own page: Timelog Release History

Authors and Credits

Timelog has been written by Chr. Clemens Lee. Version 8.25 is based on Kenneth Westelinck's initial port to the Swing GUI toolkit, who has since then actively participated in Timelog's further development.

Thanks to the following people for their shared code, ideas, experience, bug reports, or feedback:

  • Anonymous: The table list is based on source code I downloaded somewhere from the net in 1996 (no Swing JTable at that time). Unfortunately, no name was attached to it. So I assume this class is public domain. Thanks.
  • There are some people who contributed to the ccl package used by Timelog. Look at the ccl page for details.
  • This product includes software developed by L2FProd.com (http://www.L2FProd.com/). This is actually a skin look and feel. [2003-05-04]
  • Marc De Scheemaecker for the nanoXML base package used by L2FProd.com's skin look and feel package. [2003-05-04]
  • Chris Nokleberg for sixlegs PNG, which is used by L2FProd.com's skin look and feel to load PNG images. [2003-05-04]


Clemens' PSP Page
Users of Timelog who use it for their Personal Software Process activities might want to take a look at my personal PSP page. [2003-03-30]
ccl Library
This is the base library used for Timelog. If you want the complete source code of Timelog, you need to download this package as well. [2003-03-30]
L2FProd.com's Skin Look and Feel
A Java look and feel which is able to read many different skins, also from GTK and KDE. The Aqua skin is used by Timelog by default. [2003-05-04]

Go to Clemens' Java page.

Chr. Clemens Lee, email: clemens@kclee.com;   Kenneth Westelinck, email: kenneth.westelinck@pandora.be