emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* enhancements for org-agenda-to-appt
@ 2011-11-03 21:28 Peter Münster
  2011-11-08 15:54 ` Daniel Clemente
  0 siblings, 1 reply; 4+ messages in thread
From: Peter Münster @ 2011-11-03 21:28 UTC (permalink / raw)
  To: emacs-orgmode

Hello,

Before enhancing org-agenda-to-appt (and some other parts) to fit my
needs, I would like to get some feedback for my ideas:
- General opinions about the ideas.
- Hints about already existing usable code.
- Hints how to implement the ideas with the least effort.

The general idea is, to get notified when a task has to be done, without
any need to open the agenda. Default settings for the notifications can
be overwritten for each task (by settings in the timestamp and/or
additional properties).

Here the details, in the order of priority:

 1.) Warning period should be taken from timestamp
     That means, that the warntime must be passed to appt-add.

 2.) Warning period in hours and minutes
     "-3h" for 3 hours or "-10M" for 10 minutes should be possible.

 3.) Notification must continue when timestamp is past
     Perhaps, the notification should be even more aggressive, when a task
     is overdue.

 4.) Easy modification of timestamps
     Often I get notified, that a task has to be done now, but the most
     obvious and easiest solution for me is: just do it tomorrow!
     Thus, when point is on a deadline line, M-right should advance the
     time by 1d, C-right by 1h, or similar.
     Decrementing with M-left and C-left should be possible too, but will
     surely be used less often... ;)

 5.) org-check-deadlines must consider hours and minutes
     It should be possible, to show only overdue deadlines, even if they
     are overdue since 5 minutes.

 6.) Timestamps with hours and minutes
     When adding deadlines or schedules, there should be also the time,
     not only the date.

 7.) Switch from "todo" to "done" by clicking on the notification window
     When using `notifications-notify' this should be possible with the
     `:on-action' parameter.

 8.) Configurable notification types
     For example:
     - email
     - notifications-notify
     - emacs-window (like the default in appt.el)
     - custom function

 9.) Configurable notification period
     How often the notification function must be called (once per day,
     once per minute, etc...)

10.) Configurable notification duration
     This applies only for emacs-window and notifications-notify: how
     long must the notification be visible.

11.) Crescendo notifications
     Imagine, deadline is in 10 days. So a silent notification once or
     twice per day, saying it's time to begin to work, could be nice.
     But when time is getting shorter, only one hour left, bells will
     ring and the whole screen will blink red and green...

TIA for any feedback!

-- 
           Peter

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

* Re: enhancements for org-agenda-to-appt
  2011-11-03 21:28 enhancements for org-agenda-to-appt Peter Münster
@ 2011-11-08 15:54 ` Daniel Clemente
  2011-11-08 16:35   ` Samuel Wales
  2011-11-12 22:47   ` Peter Münster
  0 siblings, 2 replies; 4+ messages in thread
From: Daniel Clemente @ 2011-11-08 15:54 UTC (permalink / raw)
  To: Peter Münster; +Cc: emacs-orgmode


Hi,
  I would find very useful your improvements to appt.

  I also think that appt needs to be a bit more intrusive. I once missed an appointment because appt didn't notify me about it (or notified me but didn't ask for my acknowledgement).
  Something I missed was a clear interface which said which notifications were still pending and which were already emitted. With that you would be certain that in some hours you will get the notifications you expect.


  Some comments to your ideas:


> Here the details, in the order of priority:
> 
>  1.) Warning period should be taken from timestamp
>      That means, that the warntime must be passed to appt-add.
> 
>  2.) Warning period in hours and minutes
>      "-3h" for 3 hours or "-10M" for 10 minutes should be possible.
> 

  Do you really need to extend the org-mode timestamp format?
  There may be other ways to do that without extending the org-mode timestamp format.
  Like deciding acording to priority, for instance.: [#A] are to be notified 1 hour before, [#B] 30 minutes before and [#C] 10 minutes
  But the extended timestamp format would be much more useful.


>  3.) Notification must continue when timestamp is past
>      Perhaps, the notification should be even more aggressive, when a task
>      is overdue.
> 

  I totally agree, as I said. More important than that is that appt should record whether the user acknowledget the notification or not, and remind him differently. E.g. „you should have finished this a long ago“ vs. „I'm tryingi to notify you this since a long ago“.

>  4.) Easy modification of timestamps
>      Often I get notified, that a task has to be done now, but the most
>      obvious and easiest solution for me is: just do it tomorrow!
>      Thus, when point is on a deadline line, M-right should advance the
>      time by 1d, C-right by 1h, or similar.
>      Decrementing with M-left and C-left should be possible too, but will
>      surely be used less often... ;)
> 

  I think you can already do that with „bulk scheduling“ from the agenda. Key: m m m B s
  Doing this from the notification window would to people „skipping“ reminders. (See the program workrave for a similar situation in which you can skip reminders).

>  5.) org-check-deadlines must consider hours and minutes
>      It should be possible, to show only overdue deadlines, even if they
>      are overdue since 5 minutes.
> 
>  6.) Timestamps with hours and minutes
>      When adding deadlines or schedules, there should be also the time,
>      not only the date.
> 
  How often would you need to synchronize org and appt in order to be so precise? Should it be automatic?

>  7.) Switch from "todo" to "done" by clicking on the notification window
>      When using `notifications-notify' this should be possible with the
>      `:on-action' parameter.
> 
  I would prefer the window to open an emacsclient window pointing to the task in order to close it myself and write a conclusion, all inside Emacs.

>  8.) Configurable notification types
>      For example:
>      - email
>      - notifications-notify
>      - emacs-window (like the default in appt.el)
>      - custom function
> 
  Suggestion: a variable which maps "some_tags_combination" → action
  Then you „configure“ your tasks with tags, and then decide on how to notify each type of task.

  You can use the same task selection syntax as org-agenda-custom-commands, which allows to search for certain todo states, certain tags and certain properties.
  I have a todo state for the really important tasks and another one for the „it would be nice“ tasks; the latter are scheduled but don't require notification (I have more than 200 pendings tasks, that would make too many notifications).

>  9.) Configurable notification period
>      How often the notification function must be called (once per day,
>      once per minute, etc...)
> 
   Or even: each time that a task is scheduled or a timestamp is changed in org. Maybe this slows things down, but it would almoust guarantee real-time synchronization between org and appt

> 10.) Configurable notification duration
>      This applies only for emacs-window and notifications-notify: how
>      long must the notification be visible.
> 
   And ask for acknowledgment!
   It's also interesting to foresee what will happen when an unacknowledged notification waits for too long and another one comes up.

> 11.) Crescendo notifications
>      Imagine, deadline is in 10 days. So a silent notification once or
>      twice per day, saying it's time to begin to work, could be nice.
>      But when time is getting shorter, only one hour left, bells will
>      ring and the whole screen will blink red and green...
> 

   See also program workrave. If you don't follow its advice to take a rest for a while, it toots a horn which makes you feel somewhat guilty…
   A good feature though.


   
   Best of luck,

Daniel

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

* Re: enhancements for org-agenda-to-appt
  2011-11-08 15:54 ` Daniel Clemente
@ 2011-11-08 16:35   ` Samuel Wales
  2011-11-12 22:47   ` Peter Münster
  1 sibling, 0 replies; 4+ messages in thread
From: Samuel Wales @ 2011-11-08 16:35 UTC (permalink / raw)
  To: Daniel Clemente; +Cc: Peter Münster, emacs-orgmode

On 2011-11-08, Daniel Clemente <n142857@gmail.com> wrote:
>   Do you really need to extend the org-mode timestamp format?
>   There may be other ways to do that without extending the org-mode
> timestamp format.

I agree.  I would use a property.

The only issue with doing so that comes to mind is when you have more
than one active timestamp per header.  If this is important, I would
consider universal syntax (extensible syntax), which would allow a lot
more flexibility without additional parsing risk.

Samuel

-- 
The Kafka Pandemic: http://thekafkapandemic.blogspot.com
===
Bigotry against people with serious diseases is still bigotry.

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

* Re: enhancements for org-agenda-to-appt
  2011-11-08 15:54 ` Daniel Clemente
  2011-11-08 16:35   ` Samuel Wales
@ 2011-11-12 22:47   ` Peter Münster
  1 sibling, 0 replies; 4+ messages in thread
From: Peter Münster @ 2011-11-12 22:47 UTC (permalink / raw)
  To: emacs-orgmode

On Tue, Nov 08 2011, Daniel Clemente wrote:

>>  1.) Warning period should be taken from timestamp
>>      That means, that the warntime must be passed to appt-add.
>> 
>>  2.) Warning period in hours and minutes
>>      "-3h" for 3 hours or "-10M" for 10 minutes should be possible.
>
>   Do you really need to extend the org-mode timestamp format?

No, but the concept already exists, so why not using it?
Adding something for minutes and hours should be easy, I hope.


>   There may be other ways to do that without extending the org-mode timestamp format.

Yes, properties come to my mind.


>   Like deciding acording to priority, for instance.: [#A] are to be notified 1
> hour before, [#B] 30 minutes before and [#C] 10 minutes

Quite limited. Others would need then #D, #E, ... #Z too ;)


>>  4.) Easy modification of timestamps
>>      Often I get notified, that a task has to be done now, but the most
>>      obvious and easiest solution for me is: just do it tomorrow!
>>      Thus, when point is on a deadline line, M-right should advance the
>>      time by 1d, C-right by 1h, or similar.
>>      Decrementing with M-left and C-left should be possible too, but will
>>      surely be used less often... ;)
>
>   I think you can already do that with „bulk scheduling“ from the agenda. Key: m m m B s

Yes, but it's not as easy as "M-right".


>   How often would you need to synchronize org and appt in order to be so precise?

Today, I do it once per 5 minutes, but once per minute would be ok too.


> Should it be automatic?

Yes, of course.


>>  7.) Switch from "todo" to "done" by clicking on the notification window
>>      When using `notifications-notify' this should be possible with the
>>      `:on-action' parameter.
>> 
>   I would prefer the window to open an emacsclient window pointing to the task
> in order to close it myself and write a conclusion, all inside Emacs.

Why emacsclient?


>>  8.) Configurable notification types
>>      For example:
>>      - email
>>      - notifications-notify
>>      - emacs-window (like the default in appt.el)
>>      - custom function
>> 
>   Suggestion: a variable which maps "some_tags_combination" → action
>   Then you „configure“ your tasks with tags, and then decide on how to notify each type of task.

Why not, but personally I would prefer a property for this.


>>  9.) Configurable notification period
>>      How often the notification function must be called (once per day,
>>      once per minute, etc...)
>> 
>    Or even: each time that a task is scheduled or a timestamp is changed in
> org. Maybe this slows things down, but it would almoust guarantee real-time
> synchronization between org and appt

It's not about synchronization, it's about how often I want to be
notified. Imagine the notification is a bell, then I want to specify,
how often the bell will ring.


>> 10.) Configurable notification duration
>>      This applies only for emacs-window and notifications-notify: how
>>      long must the notification be visible.
>> 
>    And ask for acknowledgment!
>    It's also interesting to foresee what will happen when an unacknowledged
> notification waits for too long and another one comes up.

IMO, it would be sufficient, to switch from TODO to DONE or to STARTED.
No need for an extra acknowledgment.


>    Best of luck,

Thanks!

-- 
           Peter

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

end of thread, other threads:[~2011-11-12 22:47 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-11-03 21:28 enhancements for org-agenda-to-appt Peter Münster
2011-11-08 15:54 ` Daniel Clemente
2011-11-08 16:35   ` Samuel Wales
2011-11-12 22:47   ` Peter Münster

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