#+EXPORT_FILE_NAME: ../decisions.md
#+TOC: headlines 3
* TODO How do we want to schedule talks?
:PROPERTIES:
:CUSTOM_ID: schedule
:END:
** Notes
:PROPERTIES:
:CUSTOM_ID: schedule-notes
:END:
- Green: no availability constraints
- Red: invalid because of availability constraint
- Dashed: IRC/pad Q&A, not live
Host role:
- Give the speaker a heads-up before their Q&A session begins
- If needed, read the questions from the pad to the speaker (Many speakers are comfortable reading the pad on their own.)
- Give the speaker time warnings before the end of their Q&A session on the stream. Interested participants can continue
Streamer role:
- Switch between playing the prerec and joining the Q&A session
- Adjust audio volume at the beginning of the Q&A session
- (optional) Switch scene layouts to focus on different things
Shifts will be Sat AM, Sat PM, Sun AM, or Sun PM per track. People can take multiple shifts.
Updating the images requires =emacsconf-schedule.el= from
=git@git.emacsconf.org:emacsconf-el= and =emacsconf-org-file= set to
wherever the private conf org file is.
[2022-10-04 Tue]
- Added option H. General starts with general Org use cases and moves on to more niche things on day 2.
[2022-10-04 Tue]
- Discussed option G with zaeph on #emacsconf-org. zaeph prefers
option A over option G because it gives people more choices -
they can hop from talk to talk.
[2022-10-03 Mon]
- Discussed with bandali and zaeph on #emacsconf-org
- Decided on Option A with B, C, or F as fallbacks depending on volunteer roster
- Better for the viewers and the volunteers
** Option I: Drop back down to one track
:PROPERTIES:
:CUSTOM_ID: back-to-one
:END:
#+begin_src emacs-lisp :exports none :var filename="schedule-option-back-to-one.svg" :eval never-export
(defun emacsconf-schedule-allocate-video-time (o)
(when (plist-get o :video-time)
(plist-put o :time (plist-get o :video-time)))
o)
(emacsconf-schedule-test
filename
(emacsconf-time-constraints
'(("LUNCH" "11:30" "13:30")
("saturday closing remarks" "16:30" "18:00")
("sunday closing remarks" "16:30" "18:00")))
(arranged
(emacsconf-schedule-inflate-sexp
'(("Saturday, December 3" :start "2022-12-03 09:00")
sat-open
journalism handwritten rolodex
break
science buddy meetups buttons workflows lunch devel health realestate break indieweb orgvm
orgsuperlinks
school jupyter community fanfare hyperorg localizing
sat-close
("Sunday, December 4" :start "2022-12-04 09:00")
sun-open
survey orgyear rde lspbridge break treesitter
eshell detached justl
asmblox lunch
sqlite
async eev python grail mail break maint dbus wayland haskell
sun-close)))
(emacsconf-schedule-break-time 5)
(emacsconf-schedule-lunch-time 45)
(emacsconf-schedule-default-buffer-minutes 5)
(emacsconf-schedule-svg-modify-functions '(emacsconf-schedule-svg-color-by-status))
(emacsconf-schedule-default-buffer-minutes-for-live-q-and-a 5)
(emacsconf-schedule-strategies '(emacsconf-schedule-override-breaks
emacsconf-schedule-allocate-video-time
emacsconf-schedule-allocate-buffer-time-at-most-max-time))
)
#+end_src
#+RESULTS:
:results:
- [[file:schedule-option-back-to-one.svg]]
:end:
** Option H: Gen starts with high-level use cases, second day has Hyperbole
:PROPERTIES:
:CUSTOM_ID: gen-to-specific
:END:
- compared to A, general audience will be more interested in Org use cases than in Hyperbole, and then we can look at specific techniques on day 2
#+begin_src emacs-lisp :exports results :var filename="schedule-option-gen-to-specific.svg" :eval never-export
(emacsconf-schedule-test
filename
(emacsconf-time-constraints '(("LUNCH" "11:30" "13:30")))
(emacsconf-schedule-default-buffer-minutes 15)
(emacsconf-schedule-default-buffer-minutes-for-live-q-and-a 25)
(arranged
(emacsconf-schedule-inflate-sexp
'(("GEN Saturday, December 3" . "2022-12-03 09:00")
"Saturday opening remarks"
journalism
school
handwritten
(break :track "General")
science
(lunch :start "12:00" :track "General")
meetups
buddy
community
(break :track "General")
realestate
health
jupyter
("Saturday closing remarks" . "2022-12-03 17:00")
("GEN Sunday, December 4" . "2022-12-04 09:00")
"Sunday opening remarks"
survey
orgyear
rolodex
(break :track "General")
links buttons
(lunch :start "12:00" :track "General")
hyperorg
workflows
(break :track "General")
orgvm
indieweb
fanfare
("Sunday closing remarks" . "2022-12-04 17:00")
("DEV Saturday, December 3" . "2022-12-03 10:00")
localizing treesitter lspbridge
(lunch :start "12:00" :track "Development")
sqlite
mail
(break :track "Development")
eev python
maint (haskell)
("DEV Sunday, December 4" . "2022-12-04 10:00")
rde
justl
tramp
(lunch :track "Development" :start "12:00")
detached
eshell
async
(break :track "Development")
asmblox
dbus
wayland
)))
(emacsconf-schedule-break-time 10)
(emacsconf-schedule-lunch-time 60)
(emacsconf-schedule-max-time 30)
(emacsconf-schedule-tweaked-allocations '(("indieweb" . 20)
("maint" . 20)
("workflows" . 20)))
(emacsconf-schedule-strategies '(emacsconf-schedule-override-breaks
emacsconf-schedule-allocate-buffer-time
emacsconf-schedule-tweak-allocations))
(tracks '((:label "Saturday"
:start "2022-12-03 9:00"
:end "2022-12-03 18:00"
:tracks ("General" "Development"))
(:label "Sunday"
:start "2022-12-04 9:00"
:end "2022-12-04 18:00"
:tracks ("General" "Development")))))
#+end_src
#+RESULTS:
:results:
- [[file:schedule-option-gen-to-specific.svg]]
:end:
** Option A: General and development tracks - 15/25 buffers, 60 min lunch, dev starts at 10
:PROPERTIES:
:CUSTOM_ID: gen-and-dev
:END:
- Lots of space for Q&A and hallway conversations
- People can probably find lots of sessions that interest them throughout the day
- If they decide a talk isn't for them, they can switch and catch another one
- Stagger live Q&A sessions so that just in case we have only one streamer, they can bounce back and forth
- Can give some talks extra time if we want
- Could use dedicated host/streamer(s) for dev track; if not, they can probably pick up questions themselves
#+begin_src emacs-lisp :exports results :var filename="schedule-option-gen-and-dev.svg" :eval never-export
(emacsconf-schedule-test
filename
(emacsconf-time-constraints '(("LUNCH" "11:30" "13:30")))
(emacsconf-schedule-default-buffer-minutes 15)
(emacsconf-schedule-default-buffer-minutes-for-live-q-and-a 25)
(arranged
(emacsconf-schedule-inflate-sexp
'(("GEN Saturday, December 3" . "2022-12-03 09:00")
"Saturday opening remarks"
survey orgyear rolodex
(break . "10:45")
links buttons
(lunch . "12:00")
hyperorg realestate health
break
jupyter workflows
("Saturday closing remarks" . "2022-12-03 17:00")
("GEN Sunday, December 4" . "2022-12-04 09:00")
"Sunday opening remarks"
journalism
handwritten
break
school science lunch
meetups buddy
community
break orgvm
indieweb fanfare
("Sunday closing remarks" . "2022-12-04 17:00")
("DEV Saturday, December 3" . "2022-12-03 10:00")
localizing treesitter lspbridge
(lunch :track "Development")
sqlite
mail
eev python
(break :start "15:00" :track "Development") maint (haskell . "2022-12-03 16:00")
("DEV Sunday, December 4" . "2022-12-04 10:00")
justl (rde . "10:30")
eshell
(lunch :track "Development")
detached
tramp async
(break :track "Development")
asmblox dbus wayland
)) )
(emacsconf-schedule-break-time 10)
(emacsconf-schedule-lunch-time 60)
(emacsconf-schedule-max-time 30)
(emacsconf-schedule-tweaked-allocations '(("indieweb" . 20)
("maint" . 20)
("workflows" . 20)))
(emacsconf-schedule-strategies '(emacsconf-schedule-override-breaks
emacsconf-schedule-allocate-buffer-time
emacsconf-schedule-tweak-allocations))
(tracks '((:label "Saturday"
:start "2022-12-03 9:00"
:end "2022-12-03 18:00"
:tracks ("General" "Development"))
(:label "Sunday"
:start "2022-12-04 9:00"
:end "2022-12-04 18:00"
:tracks ("General" "Development")))))
#+end_src
#+RESULTS:
:results:
- [[file:schedule-option-gen-and-dev.svg]]
:end: