Yesterday I switched from using planner-mode to using Org-Mode, both emacs note-tasking and todo-task management apps. I’ve been using planner-mode for the last year and a half, and rely on it pretty extensively to track upcoming todo items, in both personal and work contexts.
I’ve read in the last couple of months, however, that Org-Mode is already in emacs-cvs, and will be part of the standard distribution of emacs-22. I decided to try it out, was quickly impressed, and transitioned over.
Both support the same basic data model: files of mixed notes and todo-items, where the items are simply specially-formatted lines in the file. Items have an optional due date and an optional priority (ABC). For example, in planner-mode, they appear:
A _ Write up planner-/org-mode post (2006.11.24)
B X Make faux-chicken dinner for Thanksgiving (2006.11.23)
** TODO [#A] Write up planner-/org-mode post SCHEDULED: <2006-11-24> ** DONE Make faux-chicken dinner for Thanksgiving SCHEDULED: <2006-11-23> CLOSED: [2006-11-23 Thu]
Both support the same basic execution flow: when requested, the package looks through the special files to find lines that fit the pattern, and constructs another file (planner) or a transient view (Org) over past-due and presently-due items. There are operations for creating items, scheduling them on a particular date, transitioning them closed, jumping from the item to associated notes, &c. As well, both support some form of unidirectional publishing of the content to HTML, ostensibly to serve as some public project-planning status.
Org-mode, I’ve discovered, goes far beyond planner-mode in terms of features.
- It is based on outliner-mode, and its documents are inherently foldable, hierarchical documents.
It uses file extension (“.org”) for mode-selection, so planning document can live next-to or within projects.
- There’s a bit more latitude where items can be placed in the notes documents.
- It supports — separately from the scheduled to-do time for a task — a deadline, which is brought up differently in the “now” view.
- Overdue items are indicated more clearly.
- Items can be scheduled for a range of time.
- Items can be tagged arbitrarily and searched/viewed by tags (“WORK”, “STORE”, “@LAPTOP”, …)
- Supports progress logging
Supports hierarchical sub-tasks (yay!)
- Explicit linking rather than CamelCase (though CamelCase is an option), which was the major problem I was having with planner-mode (it starts to become really slow for large documents).
Patterned links (“bugs:1234”, “http://bugs/show_bug.cgi?id=%s” → “[…]?id=1234”) are supported.
- Has a table/spreadsheet editor. The table-editing part appears similar to table.el, but the spreadsheet functionality is just pure awesome.
Update Mon 2006-11-27: after being contacted by Carten Dominik, the author of org-mode, I’ve revised the comment at the end about the table/spreadsheet editor.