#+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: