For OS X I really like Chronomate which integrates with Freshbooks nicely: I can select/add clients/project/task, add time entries, run multiple timers etc; it sits in menu bar. One thing that sets it apart from other timers is that it detects idleness and asks me what I want to do (keep/remove, stop/continue). When I've considered alternatives to Freshbooks, Chronomate is what kept me.