I am not sure that this is the best place to post the question, but since I am looking for a java app (preferably) I'll give it a shot.
I spent more than half a day searching for a decent personal time tracking application and I couldn't find anything that fits my requirements. If any one has come across such an application, I'll be very grateful to have a link to it.
The requirements: 1. Organize tasks (in a tree) by project, sub projects, preferably by any kind of deliverable. Full drag & drop in the tree. The tree could start with clients.
2. Classical fat client, that uses XML as file format or at least provides export to XML. No web based applications with heavy DB as datastorage. By heavy DB I mean anything in the lines of MySQL, PostgreSQL, MS SQL etc. Embeddable DBs (Firebird including) are ok. I want to have my data in a single file and back it up easily.
3. Start & Stop time track function; not a timesheet table where I fill up activities or automatic tracking of PC activity. Option to add notes to every time track / log. Ease of switching between tasks is a plus.
4. Option to create time logs manually (not by tracking), option to enter time by start time & elapsed time (important) or start time & end time. Options to enter time intervals in hour:minute:second or hour.decimal formats.
5. Ability to create time reports for the branches of the projects tree.
6. Open source or affordable. That one is not the least important - by affordable I mean something under $70. If it is open source it should be comparable to the commercial applications and preferably active.
7. Must run under Windows, cross platform (preferably Java) is a plus.
There are several open source applications in that space, but they fail to meet those requirements. For example: hourglass timetrack Timmon
The best fit for those requirements that I found is Timeless Time & Expense - http://www.magsoftwrx.com/projecttracking.htm But it is not cross platform and more importantly I cannot export to XML. That is a problem, because I don't want to spend hours inputting the data, without actually owing it.
Timmon looks very promising! I like the tree-table organization of tasks and the automatic roll-up (summing) of task times. The tree drag & drop is great and the ability to start / stop or switch between tasks with a double click is very nice.
The things that I am currently missing are:
1. Ability to enter arbitrary time intervals. For example when I am recording tasks that I performed away from the computer or tasks that are recorded in other programs.
2. Ability to backup and restore the data. I suppose I can just copy the '.timmon' directory to my backup location or replace it, but it is not very convenient.
3. Ability to define task types and activity (time entry) types. It will be nice to have the most common development tasks and activities predefined with specific icons for them. Ability to define custom types is also welcome.
4. General useability improvements are necessary - for example I am not able to view the time log of tasks when another task is running. It is good to be able to edit task properties in a dialog box, not only in the table.
5. Having special nodes for client and project (or better - deliverable with various types) with ability to enter specific for them data is also good.
Some comments on your enumeration: ad 1. what do you mean with arbitrary time intervals, is it that you would like to add activities w/o start and stop time but a duration only? What about menu 'New Log' from the task panel (the topmost) context menu?
ad 2. yes rigth backup and restore of data would be nice. copying .timmon (or at least the two contained xml files) will work. Will add this to next release!
ad 3. good idea, will add setable icons for tasks, activities (logs) will inherit the icons from there corresponding tasks.
ad 4. did not get that, simple click an the task (alt-click should show subsequent activities too [tell me if it does not work]) to show its activities. this is totaly independent whether a task is running or not! to edit tasks or activities: click right button -> context menu, choose edit.
ad 5. did not get that, could you give me an example?