emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Carsten Dominik <dominik@science.uva.nl>
To: Alex Bochannek <alexb@juniper.net>
Cc: emacs-orgmode@gnu.org
Subject: Re: Another GTD question.
Date: Wed, 4 Oct 2006 18:11:26 +0200	[thread overview]
Message-ID: <76f7cd71190bcff68e57e71d163fe49f@science.uva.nl> (raw)
In-Reply-To: <ud59ipf8o.fsf@juniper.net>


I really like this discussion started by Alex.
It has triggered for me a lot of
thinking and clarity about how to use Org-mode for a GTD system.  High
time, because my current system basically is "do whatever the closest
person pointing a gun to your head is asking".  Has kept me alive, if
stressed :-).

Charles Cave's [article/tutorial] gives a great overview over the basic
structure of GTD and his views on implementing GTD with org-mode.
Below are a few thoughts on how GTD elements can be represented in
org-mode.

2 The (too?) many organizational elements of Org-mode
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

There are many ways to apply structure to your notes using Org-mode:

- Categories (i.e. files)
- Lists (outlines)
- TODO keywords
- TAGS

and many of these can be used interchangeably.  For example, if I am
collecting the things I have to discuss with my colleagues Peter and
Sarah, I could

- use lists

: * Agendas
: ** Peter
: *** item p1
: *** item p2
: ** Sarah
: *** item s1
: *** item s2

- use TODO keywords

: #+TYP_TODO: Peter Sarah
:
: * Project X
: ** Peter item p1
: ** Sarah item s1
: * Project Y
: ** Peter item p2
: ** Sarah item s2

- use TAGS

: * Project X
: ** item p1          :Peter:
: ** item s1          :Sarah:
: * Project Y
: ** item p2          :Peter:
: ** item s2          :Sarah:

The same is true for contexts like `@work', `@home', `@computer' etc
as they are being used in GTD.  You could make a list of things to be
handled at your computer at home, or you could use tags for contexts.

So what is the best way to approach these issues, what method should
be preferred and why?  I think his is the core of the present
discussion.

For me personally, the main advantage of Org-mode is that I can keep
information relating to a project together in one place.  This is best
for many reasons, for example
- things that belong together, stay together
- easy review if a project is stuck

So I would not generally make lists for a specific contexts or people.
Lists for a specific person are unlikely as well.  Most of the time I
would use either TAGS or TODO keywords, also because the search
functions for tags and TODO keywords are the most powerful ones in
Org-mode.

3 CATEGORIES for broad splitting of the GTD system
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

I am using separate files for things I need to do for HOME
and for WORK.  At work I use one big file for most things, but the
biggest tasks/projects I split off and put them into a separate file.

4 TAGS versus TODO keywords versus Lists to implement GTD elements
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


4.1 Context
===========

    I think most of us agree that contexts (location and required tools
    for doing a task) is something best implemented with TAGS in the
    org-mode system.  Tags like @home, @work, @phone, @computer, @mall
    can be defined and easily applied to any tasks that need that
    particular context.

4.2 The GTD lists as *status* of a task
=======================================

    Another important part of GTD terminology are different lists that
    contain tasks, for example NEXT ACTION, WAITING, or SOMEDAY/MAYBE.
    In the original GTD terminology these are called lists.  When
    thinking about implementation in Org-mode, it occurred to me that
    these are better called /status of a task/ which is then used to
    make corresponding lists.  Here is what I mean by status:

    - TODO: this is something that needs to be done, no further
      specification if this can be done now or not.
    - NEXT: this is something that can be done /now/, you have
      everything you need to start doing it.  This is what /next
      actions/ are about.
    - WAITING: This item cannot be done now, because we are waiting for
      something.  Somebody else needs to act, some material needs to
      arrive, etc.
    - SOMEDAY: means that you have not decided that this needs to be
      done.

    How should we go about implementing this structure in org-mode?

    1. We could make physically separate lists for each task status.
       As I said, I don't like this idea and will not discuss it
       further.

    2. We can use TODO keywords to implement these different states.
       Each time the state changes, we switch to a different TODO
       keyword.  This is very easy from an Agenda view: `1 t', `2 t',
       `3 t' etc directly switch to the corresponding keyword.  In the
       buffer, try `Shift-left/right' with the cursor on the keyword.

    3. We can use TAGS to implement this structure.  So each TODO item
       would have an additional tag, identifying the state of the task.
       - Advantage: you keep the simple on/off of a TODO item.
       - Disadvantage: When you mark an entry DONE, the NEXT tag (or
         whichever the current status is will stick around and put this
         item into your NEXT ACTION lists.

    Which of these two possibilities you choose really depends on your
    personal taste.  Since version 4.52 of org-mode matching TODO
    keywords has become as easy as matching tasks, so also from the
    technical point of view there is no preference. I am personally
    inclined to try option (2) first.

4.3 Agendas
===========

    Charles and Pete have already discussed here about making agendas
    (things to discuss with a particular person or group) either lists
    or tags.  I agree with them that it is best to keep tasks in the
    project context and use tags to produce the relation to a person.
    However, org-mode also gives you flexibility here.  Lets say you
    have to discuss a number of things with a person that is not
    related to projects, but for example to their and your personality,
    interaction with other people etc.  So you might want to sit down
    to write an agenda for discussing with them.  In this case, simply
    /also/ tag this special list with the name of the person/group.
    The a tag search will later link you to scattered items as well as
    the specific list you have drawn up.  For example:

    : * Agendas
    : ** Peter                               :Peter:
    : *** Issue 1
    : ** Sarah                               :Sarah:
    : *** Issue 1

5 Configuration of Org-mode
~~~~~~~~~~~~~~~~~~~~~~~~~~~

5.1 Option 1: TODO items are simple two-state
=============================================

5.1.1 Configure by using in-file options
----------------------------------------

    : #+TAGS: { NEXT(n) WAITING(w) SOMEDAY(s) }
    : #+TAGS: Peter(P) Sarah(S)
    : #+TAGS: { @office(o) @home(h) @mall(m) }
    : #+TAGS: { @phone(p) @computer(c) }

5.2 Option 2: TODO types cover task lists
=========================================

5.2.1 Configure by using in-file options
----------------------------------------

    : #+TYP_TODO: TODO NEXT WAITING SOMEDAY DONE
    : #+TAGS: Peter(P) Sarah(S)
    : #+TAGS: { @office(o) @home(h) @mall(m) }
    : #+TAGS: { @phone(p) @computer(c) }

6 Creating the GTD lists
~~~~~~~~~~~~~~~~~~~~~~~~

With a system set up as described above, you can easily create all
those lists you need for GTD.  For the example below I am assuming
that we are using TODO keywords for the status of a task - if you are
using tags for this as will, just reformulate the search to match a
tag instead of a todo keyword.

- Next actions at home
   TAG search for "@home//NEXT"

- What actions am I waiting for that Sarah has to do?
   TAG search for "Sarah//WAITING"

- All items to discuss in a meeting with Sarah and Peter
   TAG search for "Sarah|Peter"

etc etc etc.

  parent reply	other threads:[~2006-10-04 16:11 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-26 20:03 Another GTD question Alex Bochannek
2006-09-27 12:39 ` Charles Cave
2006-09-29 10:07   ` Christopher Kuettner
2006-09-30  5:25   ` Alex Bochannek
2006-09-30 11:28     ` Carsten Dominik
2006-10-01 14:41       ` Piotr Zielinski
2006-10-02  8:58         ` Chris Lowis
2006-10-14  4:44       ` Alex Bochannek
2006-10-01 23:54     ` Charles Cave
2006-10-14  4:53       ` Alex Bochannek
2006-09-27 14:18 ` Uwe Jochum
2006-10-04 16:11 ` Carsten Dominik [this message]
2006-10-04 17:11   ` Piotr Zielinski
2006-10-20  7:54     ` Carsten Dominik
2006-10-21 20:54       ` Christopher Kuettner
     [not found]         ` <b71b18520610211738s297f8f79u227d2ce32e10d2d9@mail.gmail.com>
2006-10-22  0:39           ` Eddward DeVilla
2006-10-23  6:10             ` Carsten Dominik
2006-10-23  7:21               ` Xiao-Yong Jin
2006-10-23  7:36                 ` Carsten Dominik
2006-10-23 20:30                   ` Xiao-Yong Jin
2006-10-23 13:24               ` Eddward DeVilla
2006-10-22 11:28         ` Pete Phillips
2006-10-05 13:01   ` Jason F. McBrayer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=76f7cd71190bcff68e57e71d163fe49f@science.uva.nl \
    --to=dominik@science.uva.nl \
    --cc=alexb@juniper.net \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).