#+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 J: One track interleaved #+begin_src emacs-lisp :exports results :var filename="schedule-option-back-to-one-interleaved.svg" :eval never-export (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 school treesitter handwritten lspbridge science asmblox buddy wayland lunch meetups sqlite buttons mail realestate maint health eev python haskell sat-close ("Sunday, December 4" :start "2022-12-04 09:00") sun-open survey orgyear rolodex rde orgsuperlinks justl orgvm rms lunch detached hyperorg eshell workflows async grail jupyter dbus indieweb devel localizing fanfare sun-close))) (emacsconf-schedule-break-time 0) (emacsconf-schedule-lunch-time 30) (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 '((lambda (info) (mapcar (lambda (o) (plist-put o :track "General")) info)) emacsconf-schedule-override-breaks emacsconf-schedule-allocate-video-time emacsconf-schedule-round-start-to-five emacsconf-schedule-allocate-buffer-time-at-most-max-time)) ) #+end_src #+RESULTS: :results: - [[file:schedule-option-back-to-one-interleaved.svg]] :end: Some options: - back to one track; Q&A on alternate stream - main orgas on main stream? - schedule thrashing, limited time between talks - lots of live talks - two tracks, sachac runs around behind the scenes - *two tracks, sachac starts off doing the streaming with other people shadowing* - someone else needs to do checkin and my other shifts ** Option I: Drop back down to one track :PROPERTIES: :CUSTOM_ID: back-to-one :END: - 45 minutes lunch, 5 minutes between talks, two 5-minute breaks per day - Color indicates talk status (gray: waiting, light yellow: processing, yellow: to assign, light green: captioning, green: captioned and ready) #+begin_src emacs-lisp :exports results :var filename="schedule-option-back-to-one.svg" :eval never-export (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 science break buddy meetups buttons devel workflows lunch health realestate indieweb orgvm orgsuperlinks break school jupyter community hyperorg localizing fanfare asmblox sat-close ("Sunday, December 4" :start "2022-12-04 09:00") sun-open survey orgyear rde lspbridge break treesitter eshell justl rms lunch sqlite detached async eev python mail break maint dbus wayland haskell grail sun-close))) (emacsconf-schedule-break-time 0) (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-round-start-to-five emacsconf-schedule-allocate-buffer-time-at-most-max-time)) ) #+end_src #+RESULTS: :results: - localizing: Starts at 15:58 before 16:00 - haskell: Starts at 15:59 before 16:00 - [[file:schedule-option-back-to-one.svg]] :end:p ** 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: