This year’s International Conference on Functional Programming, or ICFP ‘17 to its friends, will be getting under way in Oxford, UK in just a couple of days. ICFP is one of my favorite conferences, and this year I’m serving as the publicity chair and as a member of the program committee, so I have even more reasons than usual to want to take part in it. I also have a new baby, so intercontinental travel is rather difficult for me at the moment, and I won’t be going to Oxford. Yet, I’ll still be able to watch ICFP talks in real time, ask questions in Q&A sessions, and banter with other ICFP attendees. All this will be possible because this year we made some changes to enable remote participation at the conference.

The process started back in January, when I sent the following email to the ICFP steering committee mailing list:

I’d like to begin a conversation in about ways to enable remote participation at ICFP, including live video streaming of talks, as well as providing better support for authors who need to give talks remotely. I deeply value meeting face-to-face at ICFP, as I’m sure most of you do. However, remote participation via live streaming and videoconferencing is increasingly possible, and also increasingly necessary for many would-be ICFP participants. For instance, many of my non-US-citizen colleagues working or studying in the US have had to forgo participation in conferences outside the US due to visa complications. In the current US political climate, I expect that situation to get worse.

Therefore, I would like us to consider ways to make it easier for people to meaningfully participate in ICFP without having to be present in person. Doing so would benefit not only those who cannot travel to ICFP due to visa issues, but also those for whom it is difficult or impossible to attend in person for myriad other reasons – financial reasons, health reasons, and so on (to say nothing of the environmental cost of air travel to conferences, as Mike Hicks and others have pointed out recently).

A small independent conference that I help organize used Confreaks for live streaming last year, and we were impressed with their professionalism and quality given the price. (Concretely, it cost US$6125 for a two-day, single-track event. That also included video recording, post-production, and uploading, which are services that ICFP wouldn’t necessarily need, since we already have a talented team of volunteers to do those things.)

In order for remote participation to be two-way, perhaps we could also find a way to enable remote Q&A. Another thing we can do is make it as easy as possible for presenters to give talks remotely, if necessary. I don’t know if these things have ever been done at ICFP, but I’ve heard anecdotes about them working well at other conferences. I can also easily imagine them working poorly, so if we are going to attempt them, we would need to put effort into doing it right.

What do others think about making enabling remote participation a priority in 2017?

A number of constructive discussions followed. First, the group agreed to add a statement to the ICFP ‘17 call for papers saying that if an author of an accepted paper had visa-related difficulties in traveling to the conference, we would make arrangements to enable them to participate remotely, including presenting their paper remotely if necessary. (It seems that this hasn’t turned out to be an issue in practice this year, but I still think that adding the statement to the CFP was important, and I’m glad we did it.)

A little later, Mike Hicks (who’s the chair of SIGPLAN, the organization that sponsors ICFP and most other major PL conferences) followed up with me about live streaming. Mike told me that SIGPLAN had been interested in trying out live streaming anyway, and that they were willing to help make it happen at ICFP ‘17 as an experiment. While we were at it, he suggested that we investigate ways to do remote Q&A, too.1 Jeremy Gibbons, this year’s general chair, was on board with the idea, and José Calderon, the video chair, was willing to take on live streaming as an additional responsibility. José and Jeremy handled the rest of the live streaming arrangements with the help of longtime SIGPLAN conference manager Annabel Satin.

The next step was to figure out how to run remote Q&A. We considered various possibilities before finally opting to set up a Slack team for the conference. Jeremy set up a channel on Slack for each of the talks, and wrote a brief document explaining how Q&A would work:

The talks at ICFP (that is, the main conference, but not the satellite workshops) will be livestreamed on the internet, so that they can be watched live by people who can’t make it to Oxford in person. To allow remote observers to participate fully, we are trying out a different process for questions.

We will not use the traditional open-microphone Q&A session after each talk. Instead, questions will be given to the session chair, who will sort them and ask those they feel are most interesting.

Those present in the room can ask questions by writing notes; student volunteers will collect the notes and pass them to the session chair. Every registered participant will be given a Special ICFP Notepad on which to write their questions, and there will be some spare notepads for other participants too.

Remote observers will instead ask their questions online, via Slack. There is one channel per talk; ask your question in the appropriate channel. Student volunteers will monitor the channel for the current talk, and transcribe questions onto notepads, to join the questions from the in-person participants. Those present in person should also feel free to ask questions via Slack.

As Jeremy points out, enabling remote Q&A also has the effect of changing how Q&A works for everyone: all questions, not just the remote ones, will be written by the asker and curated by the session chair before being read out loud. Valerie Aurora has argued convincingly that this approach is superior to traditional open-mic-style Q&A. We did something similar at Off the Beaten Track 2016, but since it was a small workshop with no live streaming, there were no remote questions, and we just used index cards instead of using a tool like Slack. ICFP is a much bigger event than OBT, and the remote component adds an interesting new dimension. I’ll be curious to see how well it works; I think it has the potential to be a lot better than the typical Q&A experience.

I wasn’t sure whether our community would take to using Slack for ICFP, and I thought we might hear complaints from people who preferred the old way of doing Q&A. Since we set it up, though, I’ve been pleasantly surprised: I haven’t heard any complaints about the new Q&A approach, and people seem to really like Slack. In addition to the talk-specific channels that Jeremy set up, lots of other community-created channels (such as #ocaml, #ride-sharing, #veggie-food, and so on) have sprung up. It seems like using Slack has the potential to improve the conference experience for both in-person and remote attendees.2

Of course, there’s no substitute for attending ICFP in person. But live streaming and Slack are a lot better than nothing, and I’m looking forward to being able to participate in at least some parts of the conference in real time. The live stream is set to begin at 9 a.m. Oxford time on Monday, starting with a keynote talk by Chris Martens. (Unfortunately, 9 a.m. Oxford time is 1 a.m. for me; fortunately, I have a new baby, and so being up at one in the morning is quite normal!)

  1. Mike has actually been interested in live streaming and remote Q&A for some time as ways to potentially reduce the carbon impact of conference travel. One aspect of addressing climate change is planning conferences in a way that will reduce their carbon impact, and finding ways to enable remote participation in conferences serves that goal. More details are in a draft report by Mike, Crista Lopes, and Benjamin Pierce on steps SIGPLAN could take to address climate change

  2. The one wrinkle that we’ve encountered in setting up Slack is in making sure that everyone who wants to join the Slack team can join. We set up a shared invite link that will work for up to 1000 people. There are 545 people registered for ICFP and/or its satellite events, and since we have email addresses for all those people, we thought we’d be able to send personal email invitations to all of them. But in order to prevent spamming, Slack puts limits on how many people can be invited if many invitations have been sent and not many have been accepted, so we were only able to send invitations to the first 100 of the 545 registrants. Everyone else who wants to join the Slack, whether they’re a registered attendee or not, will need to join via the shared invite link, which is too bad because we were hoping to save those 1000 slots for people who weren’t registered attendees and were instead tuning in via the live stream. We’ll see if this ends up actually being a problem in practice; it might be wishful thinking to imagine that there are 1000 people who even want to tune into the live stream. Update (September 3, 2017): The problem seems to have resolved itself: once half of the original 100 invites accepted the invitation, we were able to send the rest.