After all the crash learning we had to do over the pandemic, if one could
refer to a de facto "typical" setup for virtual or hybrid events, Boskone
was a pretty close match to that.
A main membership website area had info
and links to other items, there was a
schedule which virtual attendees could use to find sessions of interest, we
had a Discord server for socializing and backend tech coordination,
and the online sessions would all
run on Zoom webinars, including one streamed-out feed from the main tent.
The sessions were recorded to Zoom cloud storage, the videos got split apart
and cleaned up a bit, and put up on Youtube for re-watching.
[We did not do the "streamed-in" viewing rooms in the hotel this time, having
decided that was essentially a sadly underutilized failure not worth the
People could watch virtual sessions on their own devices if they
It is mostly that last component, Zoom, which the rest of this focuses
Other folks were managing the Discord, I know nothing about the Zambia
scheduler or exporting of data from it, the website was handled by the
folks within NESFA who always did it, so I stuck with what I knew.
previous year, I took care of all the advance Zoom configuration, which was
made easier by the fact that a lot of that infrastructure was still in place
from last year -- all the "runtime" user logins were valid, the email alias
tree to receive messages from Zoom needed minor updates, and once
the webinar add-on licenses were assigned, I found that some of our old
recurring webinars were even still present.
I re-used as much of that as needed, and
cleaned up the rest.
I tweaked a few meeting/webinar settings for all the
run-time accounts, using the group mode where possible and locking various
settings to propagate them down.
Then I pre-generated all the convention webinars and put the resulting
join-links in a google-file, where the scheduling folks could pick them up
and salt them into the Zambia database.
The other half of my purview was people.
I started with a hand-me-down list
of volunteers from the prior year, and trimmed out the ones I already knew
wouldn't be able to help us this year.
I was grateful that those remaining
on the list, about half of what I started with, were all experienced people
who I had worked with on events like this before, hinting that we wouldn't
need a whole lot of arduous "training".
As I've done with other events, I
wanted to give our prospective session hosts as much hands-on pratice as
possible, and set up a couple of sandbox webinars that they could log in and
I had seen the pure "lecture" format of Zoom-host training fail in
many ways, and watching their discovery process as they got to work through
the real controls told me that messing with the real thing themselves was the
best learning tool.
Muscle-memory counts for a lot when comes crunch-time.
As it turned out, we never had any training meetings, not even a final
"all-hands" gathering before the con started.
I had asked several times if
anyone wanted something like that as a refresher, and got crickets.
It was actually
a little frustrating as people stepped up and confirmed their ability to
participate fairly late in the game, but I kept pushing folks to reply to
my numerous broadcast emails and actually sign up for session slots.
The signup mechanism was super-simple, using a method I'd learned from other
A Google-drive spreadsheet was set up so that random people on the
internet could go to its link and add *comments* to specific cells under
a "zoom host" column, but not modify the sheet contents.
Doing that leaves a tiny red trianglular tick
in a corner of the cell, which I could then go hunt down and copy the person's
name out of the comment and pop it into the cell for real as the Zoom host
for that session.
sessions were listed as a simple spreadsheet row per, rather than the
more confusing "grid" format others have used, and was a simple copy-paste
from another sheet I got from Programming and filtered down to the virtual
Much more straightforward than "signupgenius" or other services, where I'd
need to create yet another username and password just to get started.
I already had access to create some public files within the Boskone
GDrive, so that was sufficient.
For all the information our hosts would need, I sent out a SINGLE link to a
GDrive folder, and everything else was findable inside that including a
running log of all the email I had sent out to the volunteers -- in case we
got someone new in, and they needed to catch up.
I used a folder link because I had worked too many events where I had
to save and reference a pile of links to individual files, and found it to
be a pain in the ass.
Google-drive does not foster good organization.
For completeness and offering some realtime help anyway, I ran a couple of days
of "office hours", where I'd start one of the sandbox webinars for a specific
time-block and then just sit in it waiting for anyone to show up.
Only one or two people took advantage of that, but it was valuable for them.
One significant workflow change was that we didn't bother trying to generate
magic webinar join-links for the panelists themselves.
The initial idea was
to have no join-links at all, and just bring *everyone* in as attendees and
then promote to panelists/co-hosts as needed.
Later, I generated one panelist
join-link per webinar anyway, because it was much more convenient for session
hosts to use that and just pop in such that they could immediately talk to me
and get my attention more easily.
As part of setup, a file with all the magic join-links and generic attendee
links for the whole weekend became part of the standard kit I distributed
out to all the Zoom client laptops in our tech-ops area, aka Network
Operations Center [NOC].
The other workflow change, visible to everyone, was that we would simply run
one webinar per slot per day, and keep them open the entire time -- letting
attendees see the "sausage being made" in the half-hour breaks while we
brought new panelists in and got them set up.
While this does grate on the
nerves of "professional video production" folks, where the norm is to
never go live on a session until everyone's ready to roll, prior virtual
conventions had found that having that changeover time visible on the stream
gave everything a much more "human" and real-life feel -- just like would
happen in a real hotel function space.
It also made for fewer, albeit larger, recording files to
be downloaded later.
Another significant advantage was that we didn't need
any of the session hosts to mess with logging their Zoom clients into run-time
This helps avoid getting bit by the stupid "forced 2FA"
emailed-code rigamarole that Zoom has been imposing on user logins more
frequently, even if we try to tell them that yes, we're sharing user logins
across multiple hosting volunteers and Zoom just needs to stay out of our
Their warped idea of "security" simply does not apply to all
client needs -- we can evaluate our own risk profile, thankyouverymuch.
So our hosting checklist
was a little different from the traditional
Zoom webinar-session running ones, but once the co-hosts were armed with
each day's magic join-links that I posted in Discord, things rolled along
I started all three sessions from the NOC in the morning,
poked a couple of settings, and then at each changeover
I only had to wait for the new hosts to pop in and get co-hosted and they
could take it from there in the usual way.
We did schedule one break and restart
on Saturday afternoon, just to keep the overall recording lengths more sane.
What was especially
interesting, harking back to Zoom's bizarre behavior around panelist join-links
that we observed last year, was that when attendees got promoted to panelists,
they showed up in the backend webinar setup at the web portal.
It is still insane to think that any single-session changes should affect
the permanent *backend* setup of a recurring webinar, but that's how Zoom
insists on doing things.
Since the temporarily-promoted users were just random personal Zoom accounts
or a typed-in email address, sometime mid-session I would delete them from the
portal -- which didn't affect their presence in running sessions, it just made
sure they were back to attendee status after they left and returned
Obviously, I left our one magic co-host join-link alone so it would still
The hardware infrastructure was somewhat interesting, but relatively
One of our tech colleagues has crates full of low-end laptops with Windows
and Zoom and browsers and various other common components loaded, specifically
for taking to conventions to run various aspects.
I set up three of these in the NOC as the Zoom host platforms, with my
personal laptop in the middle because I wanted *my* familiar Linux-based work
environment on hand as the management hub.
This means that I had to actually touch Windows again, ewww,
but I came up with a small but useful set of configuration steps to keep its
major annoyances out of the way.
I spent a while going through that on all
of them identically, and downloading a .zip of my additional pieces from
a "fake-webserver" script on my machine.
That included some generic bumper
slides, and a clickable .html file on the desktop with all the preset