I've tried out every time tracking app on Macupdate (and there are many) looking for one feature: time which is tracked as multiple discrete and reassignable timespans collected under a single task (i.e.: 'you worked on Task A from 11:30-11:55am, then 1:20-6:30pm, then 7:45-8:15pm'), versus time which is tracked as a single accumulation of hours (i.e.: 'you worked on Task A for 3 hours ending on x date', with new time on the task just being added to the running total). I don't quite get why there isn't a bigger demand for this feature, since it seems like a natural advantage of software-based time tracking. It removes the need to create a new task every time you want a finer degree of info granularity, with those tasks then turning up as new lines in your invoice whether your client needs that granularity or not, followed by the inevitable workarounds, etc. Billings almost gets there with its log entries, but then falls down in the last mile by not having the log entries reassignable or otherwise accessible by the user, or expressed as a span of real times and dates.
Let's say you want to make a chunk of the time you've worked on a task non-billable after the fact. You have two potential workflows with the other time tracking apps, both of which involve you destructively altering your own data. Workflow 1: reduce the amount of time you worked by the non-billable amount, create a new non-billable task, set it to the amount of time you removed from the billable task. This at least leaves a record of what you spent time doing if you don't introduce errors. Workflow 2: reduce the task by the non-billable amount of time and don't create a non-billable task; i.e., throw data away.
But if the unbillable timespan exists as an object inside the task which you have access to in the application, you can simply reassign it to a new unbillable task without altering it. It's non-destructive: the only thing that is being changed is the association of the timespan, not the data, not the task the data originally was part of. I think that the "blob of time" concept unintentionally leads to most non-standard cases being solved by encouraging the contractor to screw around with the data, which can't be good.
I had a couple of other side features that I was also wishing for: good-looking invoices or highly customizable invoices (Hourly has the latter), data is saved in an open format and is encouraged to be saved directly into my document folders versus defaulting to a binary format somewhere in the Library and making me constantly think about doing an export for my archives (check, amazingly enough), Cocoa app (check).
Hourly has a different UI approach from the other apps, 90% of which are clonishly similar to each other. I suspect that the UI challenge is probably the main reason that other apps don't offer this kind of non-destructive timekeeping -- adding it as an option without making interactions more complicated is much harder than shunting the user into a simpler form of timekeeping. Hourly's approach, as easily as I can describe it, is that your time starts out tagged with a particular client, project, task and activeness, but you can retag whenever you want, and then filter for those tags to do things like invoice. The tags aren't explicitly referred to as such, but that's the way it works in practice. This is a different concept from the 'task is a child of project which is a child of client' standard approach and at first I was a little thrown, followed by increasing happy surprise at how much control this gave me over how to output the info for various uses without ever touching the actual data.
I haven't decided if I'm going to buy it when the demo runs out, because 1. I already paid for another time tracking app this quarter, and 2. I think that in spite of its very smart basic design, Hourly is a little overpriced in comparison to its competitors. Some areas of the UI are unpolished and confusing (particularly the invoice tab, which is obscure enough that you might make a few invoices with the wrong data before you get it working for you, and which allows too little inline customization of what data is shown on the invoice compared to lower-priced competitors), and there are some features missing (ability to directly mark a timespan as don't-bill, great invoice templates, not forcing me to keep time in a minimum of 5-minute increments). I do want to switch to Hourly, but the app I'm currently using does track time and I paid for it, so I might stick with it for the time being.
I wanted to write a thorough review because I think it's a shame that so many of the other time tracking apps are so similar to each other, generally emulating paper timesheets + pencil + eraser instead of exploiting the ability of software to store as much timestamped data as necessary and then letting the user build a really accurate picture out of it. I wanted to congratulate the developer on doing something different and useful, and let other contractors know that there is a real (not-quite-polished-to-a-high-shine) gem here.