Talks at ICFP 2017 were livestreamed. In order to allow remote participants also to ask questions, we set up a Slack workspace for the conference. This note records some of my experience with doing so, and some lessons learned. I’m grateful for help from Lindsey Kuper, who actually did most of the setup, and Gabriel Scherer, who managed most of the questions people had during the conference. In addition to these notes, Slack also provide some documentation on conference use.
The Slack workspace has a shared invitation link that we put on the conference webpage. This allows up to 1000 sign-ups, over a month. We were worried that we might need more than that—especially if everyone on site signed up—so we sent separate invitations by email to all each registered participant, just a week before the conference started. This didn’t work as planned, because Slack will only allow 100 invitations to be sent until at least 50 people have signed up. After we had 50 signups, we could send the rest of the invitations—but by then it was only a day or two before the conference started. In retrospect, we should have sent the first 100 invitations much earlier, perhaps just after the early registration deadline.
In the end we eventually sent 472 email invitations, of which 318 were eventually accepted. About 200 people joined via the shared invite link (so we weren’t in danger of exhausting the 1000 signups through the link). There was some overlap between these groups: people who got the email invitation but used the shared link to sign up anyway. (Perhaps it would also have been possible to get a new shared invitation link, if all 1000 signups on the original one had been used up.)
We set up one channel per talk in the main conference (for questions—see below), plus one channel per workshop. The default setup provided a #general channel for general discussion about the conference, and #random for off-topic chat. Individual participants set up #social and #food channels for making dinner groups, #ride-sharing for getting back to the airport, a #quote-wall, and a bunch of more specialized channels for BOF-style discussions. (We also set up a #slack-tips channel, following the Slack documentation, but no-one used it.)
I posted the conference Code of Conduct in the general channel, first thing, and pinned it there so it didn’t get lost. We were aware of the possibility for abuse, and we appointed a couple of student volunteers as Slack moderators in case of trouble. But as far as I know, there were no offensive comments, and no moderation at all was needed.
Free use of Slack will provide access to the most recent 10000 messages and 5GB of storage. To date we have 6692 messages using 127MB, so this was fine for the conference this time. On the peak day (the first day of the main conference), we had 328 active users with 166 posting. There were 507 members in total, so not everyone participated; if Slack becomes more accepted, there might be more discussion, and we might exceed 10000 messages. If we use the same Slack workspace again next year, we almost certainly will start to lose this year’s messages. It is possible to download the message history for offline perusal—we enabled the Slack IRC and XMPP gateways at the request of one participant, which made it possible to use IRC to create a public archive of the Slack messages—but it’s not obvious to me what we would do with that data (I think we shouldn’t make it publicly available).
Student volunteers transcribed questions from remote participants in the relevant Slack channel for the session chair to ask out loud. Since we were getting the session chair to ask some of the questions, I took the opportunity to follow Valerie Aurora’s advice and got the session chairs to moderate all the questions: those present in the room could also ask questions by Slack, or write them on notepads that I provided, and the session chair sorted, filtered, and presented all questions. A student volunteer kindly transcribed the actually asked questions and summaries of their answers back to Slack, which was very helpful for people who wanted to catch up on the discussion later.
When the question moderation worked, I think it yielded a friendly discussion between the session chair and the speaker. You can judge for yourself—for me from about 1:04:20 in the first keynote, and for Ron Garcia at about 25:40, 47:10, 1:11:00 in his session, both still available on the livestream. But not everyone was quite so successful at juggling the questions while continuing a conversation. It’s obviously easier to sort yourself out when you’re chairing an hour-long keynote than it is during an 18-minute contributed talk. In retrospect, it might have made the process smoother to appoint two chairs per session: one to juggle, filter, sort, and ask the questions, and the other to keep track of the time.
An unexpected (to me) beneficial side-effect of the decision to moderate all questions is that they are still there after the session ends: many asked directly in the Slack channel, and others written on sheets of paper that were handed to the speaker at the end of the session, whether or not they eventually got asked out loud. There is often too little time in the session to ask all the questions that the audience wants to raise; this way, the speaker still gets to learn about the questions—some of the speakers even went as far as to continue to answer them in the Slack channel long after their talk had finished.
Conversely, some participants complained that they missed the to-and-fro discussion between questioner and speaker; and that some questions required clarification, which was harder to arrange when the connection with the questioner was broken.