emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Use case of TIMESTAMP, SCHEDULED and DEADLINE
@ 2006-04-10 11:21 Christian Egli
  2006-04-10 12:46 ` Carsten Dominik
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Christian Egli @ 2006-04-10 11:21 UTC (permalink / raw)
  To: emacs-orgmode

Hi all

I live in Org-Agenda Week mode. This is where I look at my tasks for
today and for the rest of the week.

So the typical use case for me is that I take notes for a certain
project, let's say I have in my desktop-project.org 

* Desktop Training
** Call Trainer
   clarify the content of the training
** Setup training room
** prepare desktop machines
** Training is on April 18th

As you can see I mix notes and tasks. Ok, now the first three are tasks
so I C-c C-t on them which changes desktop-project.org as follows:

* Desktop Training
** TODO Call Trainer
   clarify the content of the training
** TODO Setup training room
** TODO prepare desktop machines
** Training is on April 18th

I know that the training is on the 18th so I need to do the tasks this
week, so I schedule them for sometime this week, so I do a couple of C-c
C-s. Note that I do not use DEADLINE, as I schedule the tasks so that
they will be done before the deadline. If I now look at my Org-Agenda I
see the following:

ALL CURRENTLY OPEN TODO ITEMS:
  desktop-project:TODO Call Trainer
  desktop-project:TODO Setup training room
  desktop-project:TODO prepare desktop machines
  work:           TODO Write Article
Monday    10 April 2006
  desktop-project:Scheduled:  TODO Call Trainer
Tuesday   11 April 2006
  desktop-project:Scheduled:  TODO prepare desktop machines
  work:Scheduled:  TODO Write Article
Wednesday 12 April 2006
  desktop-project:Scheduled:  TODO Setup training room
Thursday  13 April 2006
Friday    14 April 2006
Saturday  15 April 2006
Sunday    16 April 2006

Now in the week overview I can see that I also plan to write an article
on Tuesday. This will leave me no time to prepare the desktop machines
so I reschedule this task to Wednesday by S-right on the task.

As soon as I've called the trainer I press `t' on the "Call Trainer"
Task and this marks the task as DONE.

So far everything is fine. But there are a couple of questions:

     1. What is the use case of TIMESTAMP? I seem to only have a use for
        SCHEDULED, so marking them as "Scheduled:" in the Org-Agenda
        Week mode is superfluous for me. What do other people use it
        for?
     2. I would like tasks that are scheduled to no longer show up as
        "CURRENTLY OPEN TODO ITEMS". For me open items are items that
        have not been scheduled yet and that I need to schedule.
     3. The sorting of items within a day is a mystery to me. I would
        like to sort them by state (TODO, DONE) and priority. Sorting by
        priority seems to work for the CURRENTLY OPEN TODO ITEMS but not
        for a specific day. I modified the to '(time-up priority-down),
        but it still sorts by category for the days. I tried to debug
        this but did not find my way around the code
        ((org-finalize-agenda-entries).
     4. When doing some mucking around the code should I use org-mode
        from Emacs CVS or the one from Carstens Website?

Thanks
-- 
Christian Egli, Senior Consultant
Novell (Schweiz) AG, Leutschenbachstrasse 41, 8050 Zürich
Tel. +41 43 299 75 46 direct, Tel. +41 43 299 78 00, Fax: +41 43 299 75 01

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Use case of TIMESTAMP, SCHEDULED and DEADLINE
  2006-04-10 11:21 Use case of TIMESTAMP, SCHEDULED and DEADLINE Christian Egli
@ 2006-04-10 12:46 ` Carsten Dominik
  2006-04-10 18:28 ` Austin Frank
  2006-04-11 10:30 ` Carsten Dominik
  2 siblings, 0 replies; 6+ messages in thread
From: Carsten Dominik @ 2006-04-10 12:46 UTC (permalink / raw)
  To: Christian Egli; +Cc: emacs-orgmode


On Apr 10, 2006, at 13:21, Christian Egli wrote:
>      4. When doing some mucking around the code should I use org-mode
>         from Emacs CVS or the one from Carstens Website?


For now, only a quick answer to this last point.  Please, all comments 
about code and new ideas relative to what is on my website.  For the 
Emacs CVS code: bug reports only, please.

- Carsten

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Use case of TIMESTAMP, SCHEDULED and DEADLINE
  2006-04-10 11:21 Use case of TIMESTAMP, SCHEDULED and DEADLINE Christian Egli
  2006-04-10 12:46 ` Carsten Dominik
@ 2006-04-10 18:28 ` Austin Frank
  2006-04-11 10:30 ` Carsten Dominik
  2 siblings, 0 replies; 6+ messages in thread
From: Austin Frank @ 2006-04-10 18:28 UTC (permalink / raw)
  To: emacs-orgmode

Christian Egli wrote:

 >      1. What is the use case of TIMESTAMP? I seem to only have a use
 >         for SCHEDULED, so marking them as "Scheduled:" in the
 >         Org-Agenda Week mode is superfluous for me. What do other
 >         people use it for?


Hello!  In my previous thread I noted that I want to use org to manage 
notes and tasks.  This left out an important aspect of the way I have 
used org and intend to, one of things that actually pushed me toward the 
system in the first place.  I also need to track how I'm spending time 
on my tasks.

I recently lost ~20 lbs, and the most important tool for affecting that 
change was writing down my weight every day and kept a running average 
(I used the system described in the Hacker's Diet).  Just seeing the 
trend was enough to keep me motivated to eat a little bit less each day, 
or find a small extra opportunity to be active.

As a graduate student I'm not required to do much in the way of 
accounting for how I use my time, as long as certain long-term 
milestones are met.  This can make it difficult to stay on task during 
shorter stretches.  Even breaking large tasks into small ones and 
documenting my progress on them can sometimes lead to a lot of small 
tasks being put off just as long as the large one would have been.

So, just like for weight loss, I want to start keeping a record of my 
daily time use.  Hopefully, once I have enough data to aggregate and 
look at the trends, I'll be able to pinpoint areas where I can improve 
and will be able to motivate myself to stay on task longer or return to 
my tasks more quickly after distractions.

A guide for beginning grad students in the computer science department 
at my university suggests keeping a log file where you record your 
accomplishments at 15 minute intervals on days when you're having 
trouble being productive.  I've tried this, using an external timer and 
marking an org file with a time stamp for each entry.  I found the 
method to be both too frequent and too removed from my current task to 
be especially useful.

My intention is to keep an org file (per day? per week?  per month?) 
where I track my work using timestamp ranges and links.  When I start on 
a task I'll make a time stamp and link to a resource relevant to the 
task (the file I'm editing, the article I'm reading, notes from the 
class I'm going to).  When I finish a task or change tasks, I'll mark 
the end of the time range I spent on that task (and begin a new one if 
necessary).  In some cases I'll record notes with the entry about what 
happened while I worked, to try to pin down things that are especially 
effective or especially distracting.

I do think there's something to the notion of making regular progress 
reports while you work during stretches where it's hard to stay on task. 
  In a case where I was following this strategy, I would still start an 
entry with a time range and a link to my current work, but I might 
include sub-entries marked with timestamps to allow me to keep 
finer-grained records of my progress.  I intend to write a nag-me elisp 
function that prompts for a new entry after a certain amount of time has 
elapsed-- hopefully with programmable prompt intervals.  I have a hunch 
that an exponential function describing the interval between prompts 
might be effective:  record often early in the task to get myself honed 
in, but record less often as time passes and I become more involved with 
the work.

I believe that tagging these progress entries with a series of 
categorical tags will allow me to aggregate across similar tasks and do 
some analysis of how much time I'm spending on different tasks.  I'd 
like to be able to ask questions like "How much time did I spend last 
week on project X?", "How much time did I spend last week on all 
research projects?", and "How much time did I spend last week working 
productively?".  I'm hopeful that the org/tables/calc combination will 
serve me well in pursuing this.

Hope that gives you some ideas about some potential uses of timestamps 
and time ranges.  I'd welcome any comments about the ideas I've 
described here, whether people are using similar systems or have 
different approaches to the same kind of issue.

Thanks,
/au

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Use case of TIMESTAMP, SCHEDULED and DEADLINE
  2006-04-10 11:21 Use case of TIMESTAMP, SCHEDULED and DEADLINE Christian Egli
  2006-04-10 12:46 ` Carsten Dominik
  2006-04-10 18:28 ` Austin Frank
@ 2006-04-11 10:30 ` Carsten Dominik
  2006-04-11 13:45   ` Christian Egli
  2 siblings, 1 reply; 6+ messages in thread
From: Carsten Dominik @ 2006-04-11 10:30 UTC (permalink / raw)
  To: Christian Egli; +Cc: emacs-orgmode


On Apr 10, 2006, at 13:21, Christian Egli wrote:
>
> So far everything is fine. But there are a couple of questions:
>
>      1. What is the use case of TIMESTAMP? I seem to only have a use 
> for
>         SCHEDULED, so marking them as "Scheduled:" in the Org-Agenda
>         Week mode is superfluous for me. What do other people use it
>         for?

The *intended* difference (which may have nothing to do with
the way things are being used...) is the following:

TIMESTAMPS are for marking events or appointments.  For
example, you can use a range to write down when a certain meeting
will take place, or you can put a timestamp when you you are
supposed to be somewhere, like an date for the movie theater.
Timestamps show up in the agenda only on the specified day,
not before, not after.  Just like writing down something in a
paper agenda.

Scheduled items on the other hand stay in the agenda for today
until you mark them DONE.  They a like a small child complaining
"Daddy, you promised to play football with me yesterday, you did
not, so I will keep complaining until you do".  If you scheduled
something for yesterday and did not make it done, it will be in
your agenda for today until you do.  In this way,
scheduled items are very much like deadlines - the only difference
is that deadlines start showing up on your agenda a few days
before they are due.  Scheduled items only show up on the
scheduled date.  Both stay in the agenda until marked done.

>      2. I would like tasks that are scheduled to no longer show up as
>         "CURRENTLY OPEN TODO ITEMS". For me open items are items that
>         have not been scheduled yet and that I need to schedule.

Hmmm, yes, I can see how this would be useful, but this is
not how it works now.  I'll put this on my list to think about.

>      3. The sorting of items within a day is a mystery to me. I would
>         like to sort them by state (TODO, DONE) and priority. Sorting 
> by
>         priority seems to work for the CURRENTLY OPEN TODO ITEMS but 
> not
>         for a specific day. I modified the to '(time-up priority-down),
>         but it still sorts by category for the days. I tried to debug
>         this but did not find my way around the code
>         ((org-finalize-agenda-entries).

OK, let me explain sorting, maybe this will make things clearer.
First of all, in your agenda for a day, things are not *sorted*
by category.  Things are collected from the different files, so
that means *initially* the items are already in the sequence as
given in org-agenda-files, and therefore presorted by category.

Org then attempts to sort the items, but it does change the
sequence of any two items only if it has a reason to do so, for example
if they have different priorities.  However, two TODO entries
from different categories have the same priority, so org-mode
will not exchange them, and categories stay together automatically.

    Here is some information about priorities, which is not yet
    documented.

    A TODO entry has priority 1.

    Timestamps and ranges, and diary entries have priority 0.

    A deadline has priority 100 on the day it is due.  On days before
    becoming due the deadline has priority 10-(days to due-date)

    A scheduled item has priority 99 on the day it is due.  So it is
    going to be high in the list, but still below deadlines due today.

    Explicitly specified priorities #A, #B, and #C add a value
    of 2000, 1000, 0, respectively.  Items without explicit priority
    are treated as being #B.

    So a TODO entry normally has priority 1001.  If the same line has a 
[#A]
    cookie, its the total priority would be 2001.

    In the agenda you can check the priority of an item with the "P" key,
    by the priority is not updated when you change the date or TODO state
    of an item.  Refresh the agenda with "r" to make sure the correct
    priorities are listed for "P".

If you want to get the TODO entries taken apart by keyword, I guess
I would have to assign different priorities for different TODO
keywords.  Or make a special TODO sorting key that could be added
to `org-agenda-sorting-strategy'.

If with these explanations you still come to the conclusion that sorting
does not work, then we have a bug to fix.

- Carsten

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Use case of TIMESTAMP, SCHEDULED and DEADLINE
  2006-04-11 10:30 ` Carsten Dominik
@ 2006-04-11 13:45   ` Christian Egli
  2006-04-12  4:38     ` Carsten Dominik
  0 siblings, 1 reply; 6+ messages in thread
From: Christian Egli @ 2006-04-11 13:45 UTC (permalink / raw)
  To: emacs-orgmode

Hi Carsten

On Tue, 2006-04-11 at 12:30 +0200, Carsten Dominik wrote:
> On Apr 10, 2006, at 13:21, Christian Egli wrote:
> >
> >      1. What is the use case of TIMESTAMP?
> 
> The *intended* difference (which may have nothing to do with
> the way things are being used...) is the following:

Thanks, that makes it much more clear.

> >      2. I would like tasks that are scheduled to no longer show up as
> >         "CURRENTLY OPEN TODO ITEMS". For me open items are items that
> >         have not been scheduled yet and that I need to schedule.
> 
> Hmmm, yes, I can see how this would be useful, but this is
> not how it works now.  I'll put this on my list to think about.

I'll see if I can hack on this.

> >      3. The sorting of items within a day is a mystery to me. I would
> >         like to sort them by state (TODO, DONE) and priority. Sorting 
> > by
> >         priority seems to work for the CURRENTLY OPEN TODO ITEMS but 
> > not
> >         for a specific day. I modified the to '(time-up priority-down),
> >         but it still sorts by category for the days. I tried to debug
> >         this but did not find my way around the code
> >         ((org-finalize-agenda-entries).
> 
> OK, let me explain sorting, maybe this will make things clearer.

Yes, thanks this helps a lot.

>     Here is some information about priorities, which is not yet
>     documented.
> 
>     A TODO entry has priority 1.
> 
>     Timestamps and ranges, and diary entries have priority 0.
> 
>     A deadline has priority 100 on the day it is due.  On days before
>     becoming due the deadline has priority 10-(days to due-date)
> 
>     A scheduled item has priority 99 on the day it is due.  So it is
>     going to be high in the list, but still below deadlines due today.
> 
>     Explicitly specified priorities #A, #B, and #C add a value
>     of 2000, 1000, 0, respectively.  Items without explicit priority
>     are treated as being #B.
> 
>     So a TODO entry normally has priority 1001.

OK, understood.

>     In the agenda you can check the priority of an item with the "P" key,
>     by the priority is not updated when you change the date or TODO state
>     of an item.  Refresh the agenda with "r" to make sure the correct
>     priorities are listed for "P".

This is interesting. Still using CVS Emacs (and org mode), "P" tells me
1001 for "OPEN TODO ITEMS" (2001 for #A, 1 for #C). However scheduled
TODOs which show up on a certain day all have priority -1000 regardless
of their explicitly set priorities. Is this intended?

> If you want to get the TODO entries taken apart by keyword, I guess
> I would have to assign different priorities for different TODO
> keywords.  Or make a special TODO sorting key that could be added
> to `org-agenda-sorting-strategy'.

I'll look into this.

-- 
Christian Egli, Senior Consultant
Novell (Schweiz) AG, Leutschenbachstrasse 41, 8050 Zürich
Tel. +41 43 299 75 46 direct, Tel. +41 43 299 78 00, Fax: +41 43 299 75 01

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Use case of TIMESTAMP, SCHEDULED and DEADLINE
  2006-04-11 13:45   ` Christian Egli
@ 2006-04-12  4:38     ` Carsten Dominik
  0 siblings, 0 replies; 6+ messages in thread
From: Carsten Dominik @ 2006-04-12  4:38 UTC (permalink / raw)
  To: Christian Egli; +Cc: emacs-orgmode


On Apr 11, 2006, at 15:45, Christian Egli wrote:
>
> This is interesting. Still using CVS Emacs (and org mode), "P" tells me
> 1001 for "OPEN TODO ITEMS" (2001 for #A, 1 for #C). However scheduled
> TODOs which show up on a certain day all have priority -1000 regardless
> of their explicitly set priorities. Is this intended?

No, it is a bug.  Fixed now, for 4.22.  Thanks.

- Carsten

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2006-04-12  5:49 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-04-10 11:21 Use case of TIMESTAMP, SCHEDULED and DEADLINE Christian Egli
2006-04-10 12:46 ` Carsten Dominik
2006-04-10 18:28 ` Austin Frank
2006-04-11 10:30 ` Carsten Dominik
2006-04-11 13:45   ` Christian Egli
2006-04-12  4:38     ` Carsten Dominik

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).