K.Mandla's blog of Linux experiences

Task managers for the console

I did my best to exhaust the category of console audio players the other day, but I still have a huge list of programs to investigate. Every time I find a new application for the console, I see another that was designed after it, branched away from it or was rebuilt from scratch to mimic it. I daresay I find them at a rate of one or two a day, and add them to the stack.

I’ve already pointed out a few note-taking, organizer-type applications — hnb is my favorite, probably followed by vimwiki; I mentioned tnote a while back and I’ve used emacs’ org-mode as well — but that’s certainly not the end of the list. You’ll need a list, just to keep track of all the programs you can use to make lists.

For example, here’s devtodo. This one is a lot like tnote, except more flush with features. Color codes for prioritization, hierarchical arrangement, shortcuts for adding, editing and arranging items … and at the same time, completely driven by the command-line. In other words, no fancy interface that will take up the entire terminal window. Type in todo, and you get your list, neatly spaced and arranged.

I like devtodo for its convenience and speed, but if I must be completely honest, I prefer the fancy interface that will take up the entire window. It’s a matter of principle: The reason I relegate 95 percent of my working hours to the command-line is partly to show that it can be done, and on a minimum of hardware requirements. So for me, something like doneyet is preferable to devtodo, simply because it looks like an application, and not just a console tool. What can I say? I am a visual person.

And so for me, doneyet is perfect for arranging lists and tasks by priority and attaching notes to them. It also has some very handy search features, and generates plain text versions on command. It’s menu-driven, intuitive and has a clean interface. urukrama has a great introduction to doneyet on his blog; if you find this one attractive I would suggest visiting there to get even more details.

What keeps me from adopting doneyet on a permanent basis is the need for subversion; I am averse to adopting programs that don’t have a particular release I can work from. I know, it’s rather lame, but it’s just by force of habit. I like to build Pkgfiles when an application has a tarball I can download and pick through. You can chastise me if you want, but I am unlikely to change.

Another one that I find attractive is wyrd, which makes using remind terrifically easy. If you need a specific calendar arrangement, hour by hour, for appointments and timed tasks, I can’t think of anything better. It’s true I prefer calcurse, but that’s mostly because wyrd (and remind) seem like overkill for me. If I worked in an office with precise appointments at precise times — precise even to the quarter-hour — I would stick to this like glue. But calcurse is faster and more at my “level,” even if wyrd gets a big gold smilie: :D

remind by itself is a viable alternative, but again, we’re back to shell-based prompts and that’s not much to my liking. tnote is workable for me, devtodo is acceptable, but remind seems cryptic and unwieldy — especially after using wyrd.

Among calendars, you’re probably aware of the standard cal command, which prints a clean and flexible calendar to the console. Much like it, pal is a good, shell-driven calendar system with clean output and easy controls. I like pal for adding cultural and historical dates, and for having a simple interface with a help screen. All those are usually always good things. ;)

On the other hand, there is task, which — I think I am safe in saying — reaches an unmatched level of detail. My problem with task is that it might actually obscure itself, where I find it difficult to handle, and therefore not necessarily better than tnote, devtodo or even remind. I understand there is a movement afoot to give it something akin to an interface, but I have seen naught but mockups, which don’t mean much to me.

One more I feel obligated to mention is gcalcli, which I believe is meant to manage Google Calendars via the console. My best efforts yielded nothing but error messages though, so I am afraid I can’t vouch for it. ;)

Of course for each one I mentioned here, there are easily one or two more out there, waiting to be tried out. Personally I plan on investigating pal and wyrd a little more, and see if they supplant any of the things I already use. Not likely, but one never knows. ;)

Hello! I’m the author of doneyet. Thanks for the kind words! I’d happily supply a tarball of releases for doneyet. I don’t think I can do it for every revision, but major ones certainly. Would that be desirable?

Hello Gabe. Yes, please, if it’s not too inconvenient. I don’t speak for everyone, but some people would probably prefer to work with “stable” releases. Not that it makes a big difference, but with some projects, I have poor luck working out of subversion — seems things break or end up unbuildable more often. If a developer takes a snapshot when things work how they want, and bundles it and calls it “0.0.1” or something, it’s a little more predictable. At least for me, with my rather weak ability to troubleshoot things. … :| Cheers!

Just to mention ETM a very interesting piece of code:
“etm is an acronym for Event and Task Manager. It provides a simple, intuitive format for using plain text files to store data, a command line interface for viewing stored information in a variety of convenient ways”