(Note the assumption here that you are never working on two tasks at the same time; clocking in to a new task automatically clocks you out of an old one). The key to this application is simplicity. In its present state, gpe-timesheet (0.32) uses too many confirmation dialogues to be really useful. Loggr is nice and simple, but if I close my browser window, I lose track of things. Another property I would like to have is for the application to be forgiving to mistakes. If it stored timesheets in a simple text format, for example, I could just edit out my mistakes in a text-editor.

For Haskellers, I also wish that we had a common library for writing command line applications with subcommands and switches. This would be useful for darcs, cabal-install, twidge, this timesheet application, and more.

I wish there was a simple, no-fuss command line timesheet helper in the spirit of cabal-install and twidge. The kind of interactions I imagine are:

(Note the assumption here that you are never working on two tasks at the same time; clocking in to a new task automatically clocks you out of an old one). The key to this application is simplicity. In its present state, gpe-timesheet (0.32) uses too many confirmation dialogues to be really useful. Loggr is nice and simple, but if I close my browser window, I lose track of things. Another property I would like to have is for the application to be forgiving to mistakes. If it stored timesheets in a simple text format, for example, I could just edit out my mistakes in a text-editor.

For Haskellers, I also wish that we had a common library for writing command line applications with subcommands and switches. This would be useful for darcs, cabal-install, twidge, this timesheet application, and more.

7 comments:

Good news, it exists: try (h)ledger plus the timeclock/timelog utilities. The options are a little hard to describe, but: http://joyful.com/hledger will lead you to (h)ledger; ledger's manual talks about the timelog format; I think ledger comes with the ti/to command-line clock-in/out tools; or, do what I do and use C-x t i/o in emacs, from http://joyful.com/Ledger#ledgertools ; then you could report today's hours with something like (h)ledger -f ~/.timelog -b 2008/11/07 -s balance. ledgertools includes an "hours" script which makes querying simpler. Hope this gets you on the trail at least.

Answering my question, it appears that timeclock is part of Emacs, which I confess does not really help me (being a silly Vim user). I suppose the right thing for me to do would be to learn how to write timelog formatted files.

Oh I would love to see parseargs growing into a full-featured library, and can think of a ton of users: darcs (and any Haskell RCS: camp, gat, the Haskell hg), twidge, ghc-pkg, cabal-install, hledger, this timesheet app. I've noted my thoughts down on the DarcsLibraries page in the wiki