Prepare initial release
Add some hooks
Add initial implementation
This library provides a way to randomly ask yourself a question to collect productivity data.
The primary entry point is the macro define-asker
.
It may be called as follows:
(define-asker current-focus ("~/focus-data.csv" "On a scale of 1 (not focused) to 5 (deeply focused), what is your current level of focus?")
:response-type (likert :range 5)
:min-frequency 3600 ;no more often than hourly
:max-frequency 7200 ;No less frequently than every two
:pre-prompt (beep))
This defines an asker current-focus
, and the restart and pause commands, restart-current-focus
and pause-current-focus
, respectively.
When current-focus
is run (automatically), the user's response (and a timestamp) will be written to the CSV file ~/focus-data.csv
.
Timing generally is controlled by the arguments min-frequency
and max-frequency
.
These are the minimum and maximum number of seconds between asking.
The initial time to ask is controlled by initial-offset
and min-initial
which performs (+ initial-offset (random min-initial))
.
Prompting types include (see also random-ask-generate-requester
):
likert
number
character
color
answer
custom