From d9730925f0073040f69e89d8a64126ca140fa134 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Sun, 9 Oct 2022 21:17:51 -0400 Subject: Promote headings to reduce nesting, send volunteer communication --- 2022/organizers-notebook.md | 1267 +++++++++++++++++++++++++------------------ 1 file changed, 741 insertions(+), 526 deletions(-) (limited to '2022/organizers-notebook.md') diff --git a/2022/organizers-notebook.md b/2022/organizers-notebook.md index 2df05dea..bb035291 100644 --- a/2022/organizers-notebook.md +++ b/2022/organizers-notebook.md @@ -6,30 +6,29 @@ This file is automatically exported from [/2022/organizers-notebook/index.org](/ # Table of Contents +- [Cadence](#cadence) +- [Overall priorities](#overall) - [Current tasks / status](#current) +- [Time-sensitive](#time-sensitive) +- [Projects and other long-running tasks](#projects) +- [Projects to bear in mind but which are not actual](#maybe-projects) - [Things to figure out / decisions to make](#decisions) - [Roles needed](#roles) - [Other tasks and processes](#other) -- [Task archive](#archive):ARCHIVE: +- [Task archive](#archive) - [Communications](#comms) - [Supporting code](#code) - [Lessons learned](#lessons) Time-sensitive tasks: -- [Volunteer communications: E-mail update for Oct 9, 2022](#volunteer-2022-10-09):email:volunteers: -- [Remind people about confirming e-mail communications](#confirm-email):sachac:email:speakers: -- [Plan cadence](#cadence):email: -- [Send people schedule information and doublecheck their availability/Q&A preference](#check-sched):sachac:email:speakers:sched: - [Send program-published email for emacsconf-discuss](#announce-program):needsowner:timesensitive:email: - [Prepare email for nudging speakers to send prerec, and inform on upload workflow](#mail-upload):timesensitive:needsowner: - - -# Current tasks / status + -Planned dates and phases: +# Cadence @@ -37,376 +36,327 @@ Planned dates and phases: ++ ++ ++ - - + + + + + - - - - - - - + + + + - - + + + + + - - + + + + + - - + + + + + - - + + + + + + + + + - + + + + - + + + + - - - + + + + +
[2022-09-26 Mon]Yes/no comments for original submissions WorkSpeakersVolunteersPublic
[2022-09-30 Fri]Original speaker notification date
[2022-10-07 Fri]Tentative deadline for settling on a strategy for the schedule/tracks acceptancoe, reply to confirm  
[2022-10-08 Sat]E-mail confirmation expected (collect public contact info for posting in program)[2022-10-09 Sun] schedule, reply if not okayoverall priorities 
[2022-10-14 Fri]Program published[2022-10-16 Sun]file uploadfollow up with radio silenceinfra update 
[2022-10-31 Mon]Schedule published[2022-10-23 Sun]Etherpad, streamfile upload instructions, drop radio silencetraining 
[2022-11-04 Fri]Target date to receive prerecs; earlier is better[2022-10-30 Sun]intro, exit videos shiftsschedule, posters?
[2022-11-06 Sun]watch pages, prerecsprerec confirmation/reminder, caption progresscaption kickoff  zaeph: reencode videos
[2022-11-13 Sun]dry run, captionstech check   sachac: prepare talks for captioning
[2022-11-20 Sun]captionscheckin instructions   volunteers: tech checks, captions
2022-12-03, 2022-12-04Conference[2022-11-27 Sun]captionslast weekend before EmacsConf watching
-Current phase: No prerecs to process yet, so it's a good time to focus -on infrastructure - -- [Time-sensitive](#time-sensitive) -- [Projects and other long-running tasks](#projects) -- [Projects to bear in mind but which are not actual](#maybe-projects) - -[Overall prioritization of effort](#overall) - - - - -## Time-sensitive -Ordered chronologically (and therefore by importance). + -- [Volunteer communications: E-mail update for Oct 9, 2022](#volunteer-2022-10-09):email:volunteers: -- [Remind people about confirming e-mail communications](#confirm-email):sachac:email:speakers: -- [Plan cadence](#cadence):email: -- [Send people schedule information and doublecheck their availability/Q&A preference](#check-sched):sachac:email:speakers:sched: -- [Send program-published email for emacsconf-discuss](#announce-program):needsowner:timesensitive:email: -- [Prepare email for nudging speakers to send prerec, and inform on upload workflow](#mail-upload):timesensitive:needsowner: +# Overall priorities +This table makes it easier to move the slider depending on who wants +to volunteer and how much we can get done. At some point, we'll figure +out how to track our current status so we know what we need to +scramble to do in order to get the conference off the ground. **bold** +is our current goal. Feel free to volunteer for anything that +interests you! - + -### Volunteer communications: E-mail update for Oct 9, 2022 :email:volunteers: -Add your news and requests to this. +++-#### Template so far +-Hello, EmacsConf volunteers! ++ + + + + + + + + -We're starting to gear up for EmacsConf ${year} and we would love your help! + + + + + + + -- has an overall - prioritization matrix. If any of those options look interesting, you - can volunteer to help move the needle. -- sachac: Given the number of talks this year, we're going to try to - see if we can pull off two tracks. I've posted a draft schedule at - and will e-mail speakers - to confirm their availability. This schedule staggers live Q&A - sessions so that the person managing the streams can jump back and - forth as needed. [Want to volunteer for a shift?](#shifts) -Help wanted / upcoming tasks: + + + + + + -- We would like to find a way for people to upload large files through - a web-based interface, since a number of speakers had issues with - FTP uploads last year. [#upload](#upload) has some options to explore. Do you - have any recommendations or do you want to do some research? -You're receiving this e-mail because you're on the emacsconf-org mailing list. + + + + + + - + + + + + + -### DONE Remind people about confirming e-mail communications :sachac:email:speakers: -Look for the TO\_CONFIRM status in conf.org, probably include in schedule e-mail + + + + + + - + + + + + + -### TODO Plan cadence :email: -
 GoodBetterBest
scheduleone trackDONE S: two tracksaligned times, full roster
schedule viewtext tableS: imagemap fallbackDONE S: interactive SVG
uploadFTPS?: web-basedauto-encoded, preview (SReview?)
streamingffmpeg from computerDONE OBSZ: OBS in cloud, switchable hosts
prerecDONE play original with captionsZ: normalize audioS: post as soon as talk is live
BBB roomsabout 5 rooms that we cycle through one room per speaker
+ + + + + + --+ + + + + + --+ + + + + + --- - - - - - - + + + + - - - - - + + + + - - - - + + + - - - - - + + + + - - - - - + + + + - - - - - + + + + - - - - + + + - - - - - + + + + - - - - - + + + + - - - - - + + + +
hostno host, speaker reads padhost reads padhost monitors IRC and helps with BBB as well
BBB Q&AnoneDONE open to communitymoderated by speaker and host
watch pagetracks+ IRC+ talk info, maybe even pad
 WorkSpeakersVolunteersPublicpadone pad for confone pad per talk, wikimediaone pad per talk, self-hosted so we can access API
[2022-09-30 Fri] acceptance, reply to confirm  IRC#emacsconf, -orgtracks, hallway, orgIRC volunteer copying to pads; maybe even IRC bots
[2022-10-09 Sun] schedule, reply if not okayoverall prioritiesIRC announcementsERC commandstimer-based  
[2022-10-16 Sun]file uploadfollow up with radio silenceinfra update sched updateS: publish at startupdate main schedupdate talk pages
[2022-10-23 Sun]Etherpad, streamfile upload instructions, drop radio silencetraining talk pagesS: link to stream, pad, IRClink to prerec when liveembed stream, pad, IRC, prerec
[2022-10-30 Sun]intro, exit videos shiftsschedule, posters?other streams480p+ ToobnixS: + YouTube
[2022-11-06 Sun]watch pagesprerec confirmation/reminder, caption progresscaption kickoffother platformsS: Toobnix & YT after event  S: Toobnix + YT when live
[2022-11-13 Sun]dry run, captionstech check  wikiplain text, markdownsachac: some JS and CSS enrichmentmore JS and CSS, embeds, videoplayer
[2022-11-20 Sun]captionscheckin instructions  intro and exitgeneric static imageper-talk imageEmacs thing so we can display info, countdowns, IRC
[2022-11-27 Sun]captionslast weekend before EmacsConf watchingansiblenonesachac: some automationcomprehensive, can also work against containers
- + -### DONE Send people schedule information and doublecheck their availability/Q&A preference :sachac:email:speakers:sched: +# Current tasks / status - (defun emacsconf-mail-schedule (group &optional template) - "Send draft schedule. - GROUP is (email . (talk talk))" - (interactive (list (emacsconf-mail-complete-email-group))) - (require 'emacsconf-ical) - (let ((reply-by-date (date-to-time "2022-10-14")) - (draft-schedule (concat emacsconf-base-url emacsconf-year "/draft-schedule/"))) - (emacsconf-mail-prepare - (or template (emacsconf-mail-merge-get-template "check-sched")) - group - (list - :titles - (mapconcat (lambda (o) (format "%s: %s" - (plist-get o :slug) - (format-time-string - "%b %-e %-I:%M %#p %Z" - (plist-get o :start-time) - emacsconf-timezone))) - (cdr group) "; ") - :draft-schedule - draft-schedule - :speakers-short - (plist-get (cadr group) :speakers-short) - :plural - (if (= (length (cdr group)) 1) "" "s") - :email - (plist-get (cadr group) :email) - :year - (or (plist-get (cadr group) :year) emacsconf-year) - :coordination-note - (if (seq-find (lambda (o) (member (plist-get o :slug) '("journalism" "rolodex" "orgsuperlinks" "buttons" "hyperorg" "science"))) - (cdr group)) - "I've changed the order slightly from the coordination e-mail I sent you. The sequence is now journalism - science - rolodex - orgsuperlinks - buttons - hyperorg. science is now second instead of last, and the first two talks are on Sat while the last four are on Sun. That probably means you don't have to coordinate as much, but you can still do so if you would like to build on other people's talks." - "") - :schedule - (mapconcat - (lambda (o) (format "* TODO Check time for \"%s\" (%s) :emacsconf:\nDEADLINE: %s\n(Not a hard deadline, just encouragement to e-mail us before that date if you can)\nPlease e-mail [[mailto:emacsconf-submit@gnu.org]] if you need it changed\n%s track\n%s\nIn context: %s" - (plist-get o :title) - (plist-get o :slug) - (format-time-string (car org-time-stamp-formats) reply-by-date emacsconf-timezone) - (plist-get o :track) - (string-join - (let ((emacsconf-timezones - (if (plist-get o :timezone) - (seq-uniq (append (list emacsconf-timezone) - (split-string (plist-get o :timezone) " ") - (list "UTC"))) - emacsconf-timezones))) - (emacsconf-timezone-strings o)) - "\n") - draft-schedule)) - (cdr group) - "\n----------------------------------------------------------------\n") - :reply-by - (format-time-string "%b %-e (%a)" reply-by-date emacsconf-timezone) - :timezone-note - (if (plist-get (cadr group) :timezone) - (format "I've included timezone conversion to %s. Let me know if you'd like me to use a different timezone in future e-mails." - (plist-get (cadr group) :timezone) " ") - "I can translate times into your local timezone. Let me know what timezone you'd like me to use.") - :availability-note - (cond - ((seq-find (lambda (o) (string-match "yes" (or (plist-get o :availability) ""))) (cdr group)) - (format "I think you've indicated that you're available during the conference.")) - ((seq-find (lambda (o) (string-match "not indicated" (or (plist-get o :availability) ""))) (cdr group)) - (format "I think you didn't indicate any particular availability constraints in your submission.")) - (t (format "I think it respects your indicated availability, which we've noted as %s." - (string-join - (seq-uniq - (mapcar - (lambda (o) (format "\"%s\"" (plist-get o :availability))) - (cdr group))) - " and ")))))))) - - -#### Template - -Hi, ${speakers-short}! - -Here's the tentative schedule for when your EmacsConf talk${plural} -will be streamed. Your talk${plural} will be streamed once, but I've -included a few timezone conversions for convenience. - ---- +Planned dates and phases: -${schedule} +Current phase: No prerecs to process yet, so it's a good time to focus +on infrastructure ---- -${availability-note} You'll also have time for Q&A afterwards, which -can be as short or as long as you like. We'll send you more -information about how the Q&A will work as the conference gets closer.${wrap} + -If you'd like to see the other talks for context, you can check out -the draft schedule at . -The times may move around a bit as we update the schedule, so I'll -check in with you if things change a lot. ${coordination-note} ${wrap} +# Time-sensitive -We'd like to publish the schedule this month, so we'd love to hear -from you by **${reply-by}** if the times don't work for you. (We can shuffle -things around even after that date if something comes up.) Also, if -you think your talk${plural} would go better next to a different talk, please -let us know. ${timezone-note} Please keep emacsconf-submit@gnu.org in -To or Cc when replying. Thanks!${wrap} +Ordered chronologically (and therefore by importance). -Sacha +- [Send program-published email for emacsconf-discuss](#announce-program):needsowner:timesensitive:email: +- [Prepare email for nudging speakers to send prerec, and inform on upload workflow](#mail-upload):timesensitive:needsowner: -### TODO Send program-published email for emacsconf-discuss :needsowner:timesensitive:email: +## TODO Send program-published email for emacsconf-discuss :needsowner:timesensitive:email: Probably post schedule instead if available by that date -#### TODO Post it to r/emacs as well :reddit:zaeph: +### TODO Post it to r/emacs as well :reddit:zaeph: Please let zaeph know when it’s live so that the post can be distinguished. -#### Template +### Template Greetings, fellow Emacsians! @@ -423,14 +373,14 @@ talks in the coming weeks. -### BLOCKED Prepare email for nudging speakers to send prerec, and inform on upload workflow :timesensitive:needsowner: +## BLOCKED Prepare email for nudging speakers to send prerec, and inform on upload workflow :timesensitive:needsowner: Blocked by [Figure out web-based file upload](#upload) -## Projects and other long-running tasks +# Projects and other long-running tasks - [Figure out web-based file upload](#upload):needsowner:zaeph:bandali:ansible:sachac: - [Coordinate and help volunteers](#coordinate-volunteers):sachac: @@ -441,7 +391,7 @@ Blocked by [Figure out web-based file upload](#upload) - [Investigate streaming options, maybe OBS in the cloud](#streaming):corwin:zaeph: - [Work on the OBS scenes](#obs-scenes):zaeph:corwin: - [Build up the ansible playbook](#ansible):sachac: -- [Make intro and exit sequence](#intro) +- [Make something to display between talks](#intro) - [Move scheduling and publishing code to Emacs on a VPS so that other people can help out](#publishing-sched):sachac: - [Add nice-to-have stuff to prepare.md](#extra-prepare):zaeph: - [Find volunteers for tech-checks](#tech-checks):zaeph: @@ -460,7 +410,7 @@ Ordered by importance. -### TODO Figure out web-based file upload :needsowner:zaeph:bandali:ansible:sachac: +## TODO Figure out web-based file upload :needsowner:zaeph:bandali:ansible:sachac: zaeph: I can work on it, but I’m not experienced in this domain, so I’d prefer to be a back-up. @@ -498,18 +448,18 @@ Considerations: - NextCloud -#### TODO Create 2022/upload.md with the same workflow as last year for a start +### TODO Create 2022/upload.md with the same workflow as last year for a start -#### BLOCKED Implement new workflow +### BLOCKED Implement new workflow -#### BLOCKED Notify speakers when the final solution is available +### BLOCKED Notify speakers when the final solution is available -### TODO Coordinate and help volunteers :sachac: +## TODO Coordinate and help volunteers :sachac: - <../volunteer> - Figure out what information volunteers need in order to feel @@ -520,15 +470,15 @@ Considerations: -### TODO Prepare for prerecs :zaeph: +## TODO Prepare for prerecs :zaeph: -#### TODO Optimize ffmpeg incantation +### TODO Optimize ffmpeg incantation Remember to update with the new incantation. -#### TODO Figure out workflow for handling submitted prerecs +### TODO Figure out workflow for handling submitted prerecs We need time after the prerecs get submitted to: @@ -540,7 +490,7 @@ We need time after the prerecs get submitted to: -### TODO Delete all the EmacsConf BBB rooms from last year :chore:bbb: +## TODO Delete all the EmacsConf BBB rooms from last year :chore:bbb: For the admins on BBB. The list is accessible here: [Organization Settings](https://bbb.emacsverse.org/b/admins/rooms). Should take no more than ~20′. @@ -548,7 +498,7 @@ Should take no more than ~20′. -### TODO Plan Etherpad use and hosting :sachac:ansible: +## TODO Plan Etherpad use and hosting :sachac:ansible: - Relevant links: - Per-pad, nicely structured info with abstract, watching information, etc. CarpentryCon 2022 Schedule • CarpentryCon 2022 @@ -558,12 +508,12 @@ Should take no more than ~20′. -### TODO Update IRC instructions because of multiple tracks +## TODO Update IRC instructions because of multiple tracks -### TODO Investigate streaming options, maybe OBS in the cloud :corwin:zaeph: +## TODO Investigate streaming options, maybe OBS in the cloud :corwin:zaeph: - Issue: zaeph was dropping frames and couldn’t pay attention to as many things as he wanted - Issue: corwin needs assistance to not be locked in his chair for the whole conf. Premptively, zaeph can do it by broadcasting OBS scenes via the rtmp (instead of just his webcam). @@ -582,51 +532,58 @@ Resources: - -#### TODO corwin: plan an approach to use a centralized OBS/nginix "bouncer" :corwin: +### TODO corwin: plan an approach to use a centralized OBS/nginix "bouncer" :corwin: -#### TODO corwin: document such that someone else could use/fix it :corwin: +### TODO corwin: document such that someone else could use/fix it :corwin: -#### TODO corwin: recruit at least one more person to help operate the "video bouncer" :corwin: +### TODO corwin: recruit at least one more person to help operate the "video bouncer" :corwin: -### TODO Work on the OBS scenes :zaeph:corwin: +## TODO Work on the OBS scenes :zaeph:corwin: - [ ] corwin is out from Nov 11-20, and we should start working on them before then. -### TODO Build up the ansible playbook :sachac: +## TODO Build up the ansible playbook :sachac: git@git.emacsconf.org:pub/emacsconf-ansible can currently publish -#### TODO Get ansible to run against a clean docker +### TODO Get ansible to run against a clean docker -#### TODO Add ikiwiki template to ansible +### TODO Add ikiwiki template to ansible -### BLOCKED Make intro and exit sequence +## BLOCKED Make something to display between talks + +Goals: + +- Reassure people that they're in the right stream for the talk that they're looking for +- Direct them to the pad and Q&A for the talk -Intro: -Next: title, speaker, pronouns, talk page +What to show in between talks: -Exit: -Title, speaker, pronouns, talk page, Q&A +- Previous talk: title, speaker, pronouns, talk page, Q&A information (if still live) +- Next talk: title, speaker, pronouns, talk page, Q&A information, countdown -Needs to wait for pad decision, or have friendly URLs redirect to the right pads +If it's static, this needs to wait for the decision on how we're going +to use Etherpad, or we should have friendly URLs redirect to the right +pads - Good: Static image, maybe created with LaTeX -- Better: Looping video with unobtrusive sound so people can doublecheck that their audio works +- Better: Video with unobtrusive sound so people can doublecheck that their audio works - Best: Emacs thing so that we can have a dynamic timer and last-minute announcements, and so that it's Emacs =) +- Even better than that: A compact view that can be overlaid on the Q&A session using OBS See break commercials @@ -634,7 +591,7 @@ See break commercials -### DONE Move scheduling and publishing code to Emacs on a VPS so that other people can help out :sachac: +## DONE Move scheduling and publishing code to Emacs on a VPS so that other people can help out :sachac: Ideal: @@ -656,7 +613,7 @@ It's now on front. -### STANDBY Add nice-to-have stuff to prepare.md :zaeph: +## STANDBY Add nice-to-have stuff to prepare.md :zaeph: - org-reveal config - SIL fonts choice @@ -664,20 +621,20 @@ It's now on front. -### INPROGRESS Find volunteers for tech-checks :zaeph: +## INPROGRESS Find volunteers for tech-checks :zaeph: -#### DONE Add entry in 2022/volunteer.md +### DONE Add entry in 2022/volunteer.md -#### INPROGRESS Write protocol for adding tech-checker volunteer +### INPROGRESS Write protocol for adding tech-checker volunteer - Invite volunteer to BBB (ask core organizers) - Update with new tech-checker info - Coach tech-checker on the protocol -#### INPROGRESS Write the tech-checking protocol (formerly referred to as “tech-checklist”) +### INPROGRESS Write the tech-checking protocol (formerly referred to as “tech-checklist”) From previous years: @@ -693,7 +650,7 @@ From previous years: -### STANDBY Update viewing instructions and watch pages :zaeph: +## STANDBY Update viewing instructions and watch pages :zaeph: Extra stuff to consider adding: @@ -704,12 +661,12 @@ Also add to watch page -### TODO Make talk pages easy to update when the talk is live :sachac: +## TODO Make talk pages easy to update when the talk is live :sachac: -### BLOCKED Set up talks on Toobnix and YouTube :sachac: +## BLOCKED Set up talks on Toobnix and YouTube :sachac: so that people can find the videos on other video platforms waiting for prerecs @@ -717,7 +674,7 @@ waiting for prerecs -### TODO Set up stream events on Toobnix and YouTube :sachac: +## TODO Set up stream events on Toobnix and YouTube :sachac: so that people on other platforms can come across EmacsConf @@ -727,7 +684,7 @@ so that people on other platforms can come across EmacsConf -### TODO Prepare to announce talks on IRC +## TODO Prepare to announce talks on IRC - talks should be announced in their relevant tracks and in the hallways - video starting in 5 minutes @@ -739,7 +696,7 @@ so that people on other platforms can come across EmacsConf -### TODO Ask speakers for bios or support nudges to include on their talk pages +## TODO Ask speakers for bios or support nudges to include on their talk pages maybe after we get the prerecs ex: liberapay, patreon, anyone looking for a job, etc. @@ -747,7 +704,7 @@ ex: liberapay, patreon, anyone looking for a job, etc. -### BLOCKED Do a dry run +## BLOCKED Do a dry run - Streams - [ ] General stream @@ -779,7 +736,7 @@ ex: liberapay, patreon, anyone looking for a job, etc. -### TODO Figure out why ikiwiki is slow :infra:wiki: +## TODO Figure out why ikiwiki is slow :infra:wiki: complex regular expression issues? should the captions be outside the wiki? @@ -787,7 +744,7 @@ should the captions be outside the wiki? -### TODO Add category tags and possibly links between talks across 2022 and all previous years :needsowner:wiki: +## TODO Add category tags and possibly links between talks across 2022 and all previous years :needsowner:wiki: - Prerequisite: Can edit wiki pages () - Goal: Make it easier for people to discover interesting related talks @@ -803,10 +760,10 @@ should the captions be outside the wiki? -## Projects to bear in mind but which are not actual +# Projects to bear in mind but which are not actual -### STANDBY Find a way to accommodate a specific return-speaker +## STANDBY Find a way to accommodate a specific return-speaker We’re not sure if we’re going to get a presentation or a prerec for them this year, but we need to keep this at the back of our minds. @@ -819,7 +776,6 @@ Note on how DebConf handled incidents: # Things to figure out / decisions to make -- [How fancy do we want to get this year? (overall prioritization)](#overall) - [How do we want to make the full schedule more manageable?](#sched-decision) - [How much do we want to enrich the wiki with JS?](#wiki-design) - [What ideas do we want to borrow from other conferences?](#other-confs) @@ -831,275 +787,90 @@ Note on how DebConf handled incidents: - [Decision archive](#decision-archive) - - -## How fancy do we want to get this year? (overall prioritization) - -**bold** is our current goal. This table makes it easier to move the -slider depending on who wants to volunteer and how much we can get -done. At some point, we'll figure out how to track our current status -so we know what we need to scramble to do. - - + +## How do we want to make the full schedule more manageable? --+updated by conf.org +![img](schedule.svg) -+- 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. + - - - - - - +- Figure out how hosting can be done in shifts + - Add notes in one place +- Figure out how streaming can be done in shifts: OBS in the cloud? + - [Investigate streaming options, maybe OBS in the cloud](#streaming) +- Figure out how publishing can be done in shifts + - Console Emacs in a VM with everything set up for publishing to the wiki +[2022-10-04 Tue] - - - - - - +- Added option H: general starts with general Org use cases and moves on to more niche things on day 2. + - 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 +[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 - - - - - - + +## How much do we want to enrich the wiki with JS? - - - - - - +Ideas to consider: +- Toggling local time display on the schedule +- Making organizers-notebook nicer to browse through (or maybe use organice?) +- Improve the video player (resolution switching?) - - - - - - +### BLOCKED ?: Figure out JS and CSS niceties that will make organizers-notebook more enjoyable to browse through :css:js: - - - - - - +- TODO/DONE/etc. keyword highlighting? +- Collapsible sections? - - - - - - +### BLOCKED ?: Find a way to add JS libraries to the wiki but shield them from anon editing :js: +gitolite should have some options to do this - - - - - - +### BLOCKED ?: Beautify video players :js:css: - - - - - - +Might not be necessary. - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 GoodBetterBest
scheduleone trackDONE S: two tracksaligned times, full roster
schedule viewtext tableS: imagemap fallbackDONE S: interactive SVG
uploadFTPS?: web-basedauto-encoded, preview (SReview?)
streamingffmpeg from computerDONE OBSZ: OBS in cloud, switchable hosts
prerecDONE play original with captionsZ: normalize audioS: post as soon as talk is live
BBB roomsabout 5 rooms that we cycle through one room per speaker
hostno host, speaker reads padhost reads padhost monitors IRC and helps with BBB as well
BBB Q&AnoneDONE open to communitymoderated by speaker and host
watch pagetracksS: + IRC+ talk info, maybe even pad
padone pad for confone pad per talk, wikimediaone pad per talk, self-hosted so we can access API
IRC#emacsconf, -orgtracks, hallway, orgIRC volunteer copying to pads; maybe even IRC bots
IRC announcementsERC commandstimer-based 
sched updateS: publish at startupdate main schedupdate talk pages
talk pagesS: link to stream, pad, IRClink to prerec when liveembed stream, pad, IRC, prerec
other streams480p+ ToobnixS: + YouTube
other platformsS: Toobnix & YT after event S: Toobnix + YT when live
wikiplain text, markdownsachac: some JS and CSS enrichmentmore JS and CSS, embeds, videoplayer
intro and exitgeneric static imageper-talk imageEmacs thing so we can display info, countdowns, IRC
ansiblenonesachac: some automationcomprehensive, can also work against containers
- - - - -## How do we want to make the full schedule more manageable? - -updated by conf.org -![img](schedule.svg) - -- 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. - - - -- Figure out how hosting can be done in shifts - - Add notes in one place -- Figure out how streaming can be done in shifts: OBS in the cloud? - - [Investigate streaming options, maybe OBS in the cloud](#streaming) -- Figure out how publishing can be done in shifts - - Console Emacs in a VM with everything set up for publishing to the wiki - -[2022-10-04 Tue] - -- Added option H: general starts with general Org use cases and moves on to more niche things on day 2. - - 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 - -[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 - - - - -## How much do we want to enrich the wiki with JS? - -Ideas to consider: - -- Toggling local time display on the schedule -- Making organizers-notebook nicer to browse through (or maybe use organice?) -- Improve the video player (resolution switching?) - - -### BLOCKED ?: Figure out JS and CSS niceties that will make organizers-notebook more enjoyable to browse through :css:js: - -- TODO/DONE/etc. keyword highlighting? -- Collapsible sections? - - -### BLOCKED ?: Find a way to add JS libraries to the wiki but shield them from anon editing :js: - -gitolite should have some options to do this - - -### BLOCKED ?: Beautify video players :js:css: - -Might not be necessary. - - - - -## What ideas do we want to borrow from other conferences? +## What ideas do we want to borrow from other conferences? - FOSDEM had a conference track - @@ -1543,7 +1314,7 @@ Interested in a shift? Please e-mail and # Other tasks and processes -- [Giving conf.org access to a new volunteer or fake user](#orgfbdb10f) +- [Giving conf.org access to a new volunteer or fake user](#org6118ed0) - [As prerecorded talks come in](#prerec-process) - [When a talk is captioned](#when-captioned) - [Other tasks before the conference](#before) @@ -1552,7 +1323,7 @@ Interested in a shift? Please e-mail and - [In case of](#exceptions) - + ## Giving conf.org access to a new volunteer or fake user @@ -2078,7 +1849,7 @@ Probably focus on grabbing the audio first and seeing what's worth keeping Make a table of the form - +
@@ -2335,7 +2106,451 @@ mpv –vf=negate $url -# Task archive :ARCHIVE: +# Task archive + + +## DONE Write preparation instructions :zaeph: + +2021/prepare.md can be reused. + +Extra stuff to consider adding: + +- DONE Suggestions for themes (especially wrt colourscape) +- DONE “Please don’t squeeze your talk by fast-forwarding your speech. Trimming silences and filler words can help, though. Sometimes it's easier to write, record, and edit your voiceover, and then record the video to go along with it." +- DONE Allowing speakers to plant questions, esp. to cover tangential stuff that couldn’t fit in the prerec + + +## CANCELLED Allocate extra time if possible; send e-mail :sachac: + + +## DONE Review metadata for speakers in conf.org :zaeph: + +See the bottom of conf.org for some automated validation + + +## DONE Review the submissions in the pad (see emacsconf-org-private or conf.org for the link) and add any objections or comments by Sept 26 for possible [early speaker notification](#acceptance), Oct 7 for everything :organizers: + +- zaeph: will start reviewing on Sep 21 + + +## DONE Write preparation instructions :zaeph: + +2021/prepare.md can be reused. + +Extra stuff to consider adding: + +- DONE Suggestions for themes (especially wrt colourscape) +- DONE “Please don’t squeeze your talk by fast-forwarding your speech. Trimming silences and filler words can help, though. Sometimes it's easier to write, record, and edit your voiceover, and then record the video to go along with it." +- DONE Allowing speakers to plant questions, esp. to cover tangential stuff that couldn’t fit in the prerec + + +## DONE Add more submissions (CFP deadline Sept 30) :sachac: + +- Sacha: Add submissions to emacsconf-2022-private, draft 2-day schedule by Oct 10 + + +## DONE Publish talk pages :sachac: + + +## DONE Send early acceptances :sachac: + +Ideal sequence: + +1. publish /2022/prepare (zaeph) +2. publish wiki pages +3. send acceptance e-mails + - Allocate at most 20 minutes, say we'll try to add more time depending on the schedule (probably know by Sept 30 or Oct 1) + - Include review comments +4. Send an additional e-mail introducing speakers who may want to coordinate + + +## DONE Prepare to export talk information to wiki :sachac: + +Tested code in a fork, can publish talk information once talks are approved. +emacsconf-publish.el +emacsconf-generate-info-pages +emacsconf-generate-main-schedule +emacsconf-generate-talk-pages + + +## DONE Give access to emacsconf-2022-private to dto :zaeph: + + +## DONE Write better subtitle documentation :sachac: + + + +That will help more people subtitle things + + +## DONE Write volunteer page :sachac: + + + + +## DONE Review the submissions in the pad (see emacsconf-org-private or conf.org for the link) and add any objections or comments by Sept 26 for possible [early speaker notification](#acceptance), Oct 7 for everything :organizers: + +- zaeph: will start reviewing on Sep 21 + + +## DONE Double-check sachac’s timezone conversions for availability :zaeph: + +zaeph helped with this, even catching some based on e-mail timestamps + + +## DONE Copy things over from previous notebooks :sachac: + + +## DONE Prepare to publish schedule :sachac:wiki: + +- Should be understandable as plain text +- Ideally responsive to take advantage of more screen space on monitors while still being understandable on mobile +- Organize by tracks and then days +- Links to jump to a track and day +- Graphics to make it easier for people to see nearby talk options +- Optionally, graphical view on talk pages as well (might need to publish a JSON somewhere to front) + + Schedule inspiration: + + - [DebConf 2022](https://debconf22.debconf.org/schedule/) converted times to your local timezone + - [LibrePlanet 2022](https://libreplanet.org/2022/program/) used table columns for the different tracks + - [SFSCON 2022](https://www.sfscon.it/programs/2022/) lists sessions chronologically, indicating tracks with labels and dots on a diagram. Dropdowns act as filters. + - + +- With JS and grid CSS: +- Fallback + +Draft: + + +### DONE Set up main schedule as plain text + +general track +day 1 and day 2 + +dev track +day 1 and day 2 + +by day +all talks + + +### DONE Set up talk page navigation + +- program phase: by track +- schedule phase: chronological + + +### CANCELLED See if I can get the schedule to split into a nice grid on larger devices that support it + +Slightly annoying to do with JS/CSS because I want it to fall back to an interleaved schedule on small screens, so we would probably need to duplicate the elements and then use media queries. + + +## DONE Process confirmations as we receive them :sachac:zaeph: + +- Reply to the speaker and Cc -submit to confirm the confirmation. Something like "Confirming your confirmation, no reply needed to this one. Thank you!" +- Update talk to WAITING\_FOR\_PREREC in conf.org +- Add a note in the logbook (C-c C-z - org-add-note) for the talk entry +- Add :PUBLIC\_EMAIL: t if given permission to use the e-mail on the + talk page, or set it to an alternative e-mail if provided. +- Update the public wiki's ${year}/talks/{$slug}.md page to add the + e-mail address as on the speaker + information line. +- At some point, use `M-x emacsconf-generate-talk-pages` to update the e-mail address used in the footer. + + (let (waiting) + (save-window-excursion + (with-current-buffer (find-file emacsconf-org-file) + (org-map-entries (lambda () (add-to-list 'waiting + (list (org-entry-get (point) "SLUG") + (org-entry-get (point) "ITEM")))) "TODO=\"TO_CONFIRM\""))) + waiting) + + +## CANCELLED Create Org heading for scheduling caption team's live IRC duty shifts :dto: + +See [Shifts](#shifts) + + +## DONE Sacha: Organize volunteer information :sachac: + + +## DONE Once talks are approved + +- sacha: Publish initial talk information pages +- Double-check talk pages, format them nicely +- Publish draft schedule +- Confirm e-mail communication with all of the speakers + +Process for accepting a talk: + +- Create subtree for talk and populate it with properties. + - Required: CUSTOM\_ID SLUG NAME NAME\_SHORT EMAIL AVAILABILITY Q\_AND\_A TRACK MAX\_TIME + - Optional: PRONOUNS PRONUNCIATION IRC PUBLIC\_EMAIL MIN\_TIME EMERGENCY + - Can be validated with `emacsconf-validate-talk-subtree` + - Add a talk abstract subtree +- Add it to emacsconf-schedule-plan and fiddle with it until the flow looks good +- Execute the draft-schedule block to update the schedule in the Org file +- Add the talk page to the wiki with `emacsconf-add-talk-page`. +- Stage, commit, and push the wiki files. Make sure to add the talk page and the info pages. +- Doublecheck the wiki page on the web, since the e-mail refers to it. +- E-mail the speaker the acceptance by using `emacsconf-draft-acceptance-for-email-group` from `organizers-notebook/`. +- Log the acceptance using `C-c C-z` in the talk subtree in `conf.org`, noting the number of minutes. +- Change the status to TO\_CONFIRM. + + +## DONE Remind people about confirming e-mail communications :sachac:email:speakers: + +Look for the TO\_CONFIRM status in conf.org, probably include in schedule e-mail + + + + +## DONE Send people schedule information and doublecheck their availability/Q&A preference :sachac:email:speakers:sched: + + (defun emacsconf-mail-schedule (group &optional template) + "Send draft schedule. + GROUP is (email . (talk talk))" + (interactive (list (emacsconf-mail-complete-email-group))) + (require 'emacsconf-ical) + (let ((reply-by-date (date-to-time "2022-10-14")) + (draft-schedule (concat emacsconf-base-url emacsconf-year "/draft-schedule/"))) + (emacsconf-mail-prepare + (or template (emacsconf-mail-merge-get-template "check-sched")) + group + (list + :titles + (mapconcat (lambda (o) (format "%s: %s" + (plist-get o :slug) + (format-time-string + "%b %-e %-I:%M %#p %Z" + (plist-get o :start-time) + emacsconf-timezone))) + (cdr group) "; ") + :draft-schedule + draft-schedule + :speakers-short + (plist-get (cadr group) :speakers-short) + :plural + (if (= (length (cdr group)) 1) "" "s") + :email + (plist-get (cadr group) :email) + :year + (or (plist-get (cadr group) :year) emacsconf-year) + :coordination-note + (if (seq-find (lambda (o) (member (plist-get o :slug) '("journalism" "rolodex" "orgsuperlinks" "buttons" "hyperorg" "science"))) + (cdr group)) + "I've changed the order slightly from the coordination e-mail I sent you. The sequence is now journalism - science - rolodex - orgsuperlinks - buttons - hyperorg. science is now second instead of last, and the first two talks are on Sat while the last four are on Sun. That probably means you don't have to coordinate as much, but you can still do so if you would like to build on other people's talks." + "") + :schedule + (mapconcat + (lambda (o) (format "* TODO Check time for \"%s\" (%s) :emacsconf:\nDEADLINE: %s\n(Not a hard deadline, just encouragement to e-mail us before that date if you can)\nPlease e-mail [[mailto:emacsconf-submit@gnu.org]] if you need it changed\n%s track\n%s\nIn context: %s" + (plist-get o :title) + (plist-get o :slug) + (format-time-string (car org-time-stamp-formats) reply-by-date emacsconf-timezone) + (plist-get o :track) + (string-join + (let ((emacsconf-timezones + (if (plist-get o :timezone) + (seq-uniq (append (list emacsconf-timezone) + (split-string (plist-get o :timezone) " ") + (list "UTC"))) + emacsconf-timezones))) + (emacsconf-timezone-strings o)) + "\n") + draft-schedule)) + (cdr group) + "\n----------------------------------------------------------------\n") + :reply-by + (format-time-string "%b %-e (%a)" reply-by-date emacsconf-timezone) + :timezone-note + (if (plist-get (cadr group) :timezone) + (format "I've included timezone conversion to %s. Let me know if you'd like me to use a different timezone in future e-mails." + (plist-get (cadr group) :timezone) " ") + "I can translate times into your local timezone. Let me know what timezone you'd like me to use.") + :availability-note + (cond + ((seq-find (lambda (o) (string-match "yes" (or (plist-get o :availability) ""))) (cdr group)) + (format "I think you've indicated that you're available during the conference.")) + ((seq-find (lambda (o) (string-match "not indicated" (or (plist-get o :availability) ""))) (cdr group)) + (format "I think you didn't indicate any particular availability constraints in your submission.")) + (t (format "I think it respects your indicated availability, which we've noted as %s." + (string-join + (seq-uniq + (mapcar + (lambda (o) (format "\"%s\"" (plist-get o :availability))) + (cdr group))) + " and ")))))))) + + (defun emacsconf-mail-schedule-update (group &optional template) + "Send draft schedule update. + GROUP is (email . (talk talk))" + (interactive (list (emacsconf-mail-complete-email-group))) + (require 'emacsconf-ical) + (let ((reply-by-date (date-to-time "2022-10-14")) + (draft-schedule (concat emacsconf-base-url emacsconf-year "/draft-schedule/"))) + (emacsconf-mail-prepare + (or template (emacsconf-mail-merge-get-template "check-sched")) + group + (list + :titles + (mapconcat (lambda (o) (format "%s: %s" + (plist-get o :slug) + (format-time-string + "%b %-e %-I:%M %#p %Z" + (plist-get o :start-time) + emacsconf-timezone))) + (cdr group) "; ") + :draft-schedule + draft-schedule + :speakers-short + (plist-get (cadr group) :speakers-short) + :plural + (if (= (length (cdr group)) 1) "" "s") + :email + (plist-get (cadr group) :email) + :year + (or (plist-get (cadr group) :year) emacsconf-year) + :coordination-note + (if (seq-find (lambda (o) (member (plist-get o :slug) '("journalism" "rolodex" "orgsuperlinks" "buttons" "hyperorg" "science"))) + (cdr group)) + "I've changed the order slightly from the coordination e-mail I sent you. The sequence is now journalism - science - rolodex - orgsuperlinks - buttons - hyperorg. science is now second instead of last, and the first two talks are on Sat while the last four are on Sun. That probably means you don't have to coordinate as much, but you can still do so if you would like to build on other people's talks." + "") + :schedule + (mapconcat + (lambda (o) (format "\"%s\" (%s)\n%s track\n%s\nIn context: %s" + (plist-get o :title) + (plist-get o :slug) + (plist-get o :track) + (string-join + (let ((emacsconf-timezones + (if (plist-get o :timezone) + (seq-uniq (append (list emacsconf-timezone) + (split-string (plist-get o :timezone) " ") + (list "UTC"))) + emacsconf-timezones))) + (emacsconf-timezone-strings o)) + "\n") + draft-schedule)) + (cdr group) + "\n----------------------------------------------------------------\n") + :reply-by + (format-time-string "%b %-e (%a)" reply-by-date emacsconf-timezone) + :timezone-note + (if (plist-get (cadr group) :timezone) + (format "I've included timezone conversion to %s. Let me know if you'd like me to use a different timezone in future e-mails." + (plist-get (cadr group) :timezone) " ") + "I can translate times into your local timezone. Let me know what timezone you'd like me to use.") + :availability-note + (cond + ((seq-find (lambda (o) (string-match "yes" (or (plist-get o :availability) ""))) (cdr group)) + (format "I think you've indicated that you're available during the conference.")) + ((seq-find (lambda (o) (string-match "not indicated" (or (plist-get o :availability) ""))) (cdr group)) + (format "I think you didn't indicate any particular availability constraints in your submission.")) + (t (format "I think it respects your indicated availability, which we've noted as %s." + (string-join + (seq-uniq + (mapcar + (lambda (o) (format "\"%s\"" (plist-get o :availability))) + (cdr group))) + " and ")))))))) + + +### Template + +Hi, ${speakers-short}! + +Here's the tentative schedule for when your EmacsConf talk${plural} +will be streamed. Your talk${plural} will be streamed once, but I've +included a few timezone conversions for convenience. + +--- + +${schedule} + +--- + +${availability-note} You'll also have time for Q&A afterwards, which +can be as short or as long as you like. We'll send you more +information about how the Q&A will work as the conference gets closer.${wrap} + +If you'd like to see the other talks for context, you can check out +the draft schedule at . +The times may move around a bit as we update the schedule, so I'll +check in with you if things change a lot. ${coordination-note} ${wrap} + +We'd like to publish the schedule this month, so we'd love to hear +from you by **${reply-by}** if the times don't work for you. (We can shuffle +things around even after that date if something comes up.) Also, if +you think your talk${plural} would go better next to a different talk, please +let us know. ${timezone-note} Please keep emacsconf-submit@gnu.org in +To or Cc when replying. Thanks!${wrap} + +Sacha + + +### Schedule change affecting dev + +(Please ignore the previous update, I included the wrong times in the +e-mail. The web version's been fine, though! Sorry about the extra +e-mails.) + +I tweaked the schedule to put treesitter and lspbridge earlier, so +asmblox and wayland are a little later on Saturday morning. If you'd +like to see the latest schedule for your talk, you can go to + . Thanks for your +patience! + +--- + +${schedule} + +--- + +(no need to reply to this to confirm, unless I broke the schedule for +you and you want me to fix it) + +Sacha + + + + +## DONE Volunteer communications: E-mail update for Oct 9, 2022 :email:volunteers: + +Add your news and requests to this. + + +### Template so far + +Hello, EmacsConf volunteers! + +We're starting to gear up for EmacsConf 2022, and we would love to +figure out how to work with your skills, interests, and availability. + has some specific task ideas and +general roles. + + has an +overall prioritization matrix. If any of those options look like +something you want to learn or help with, or if you want to make +things even better than what's in the table, let me know. + +Given the number of talks this year, we're going to try to see if we +can pull off two tracks. I've posted a draft schedule at + and have e-mailed speakers +to confirm their availability. This schedule staggers live Q&A +sessions so that the person managing the streams can jump back and +forth as needed. We'll figure out shifts once we've sorted out the +processes and training info, but if you want to call dibs on +something, feel free. + + +Please let me know what kinds of things you'd like to learn more about +or help out with! + +Sacha Chua + +(You're receiving this e-mail because you're on the emacsconf-org +mailing list. Thanks for wanting to help out!) -- cgit v1.2.3