Tips for running an online conference

NOTE: This post was composed in June 2020.

I think I got started running conferences in 2002 when I helped with Open Source Weekend 2003. The next year, I started BSDCan. Three years later, PGCon start. All up, I think I’ve run at least 32 conferences, two of which have been online: BSDCan 2020 and PGCon 2020.

This article was planned before the conferences were held. There have been requests to share what we did, why, and how it went.

This is still the first draft, and for the most part is a brain dump of everything I can remember.

In general, I will refer to BSDCan, but unless otherwise noted, such references can also be to PGCon.

About the conferences

Our choices were appropriate for our conferences. They may not be for yours.

BSDCan and PGCon are Open Source conferences. They can be vastly different to other types of conferences. Some people are sent by their employers. Some come because they are interested. We are much cheaper than most conferences. $195 is the usual entry fee. Half-day tutorials are $75 each.

We have funding to reimburse speakers for travel and accommodation if they need that. We understand that is not the norm. This is a large budget item for us.

We provide catering (breakfast-like, morning and afternoon breaks, and lunch).

We have fantastic sponsors.


We used Zoom, but nobody needed to have a Zoom client to attend the conference. We wanted to be sure of that. Not everyone wants to use Zoom and being able to view the talks via a standard web browser was important to us and to the attendees.

For the Q&A session, some speakers dialed into the session using their phones. Even that is an option.

A Zoom client was required to interact with some sessions, but the Q&A session via IRC (Internet Relay Chat) was available. Most open source users/developers are familiar with IRC. They are many IRC clients.

We used Zoom for:

  • live session with Q&A for the speaker to respond – this was live streamed to ScaleEngine who broadcast it for us
  • Tutorials run by the speakers – they wanted to this live – 3 live tutorials is easier than 35 live talks
  • Closing & opening sessions

What we did

We asked the speakers to prerecord their talks. This reduces the technical issues you need to solve on the day.

We recommended the speakers record using OBS Project to record. Our Speakers: recording your talk might be useful for your speakers.

Attendees watched free of charge without registration.

Nearly all of the previously offered sponsorship benefits disappear online. Mainly the sponsored-by links remained. Everything else vanished.

T-shirts were not printed. Tote bags were not distributed.

We tried to retain the same schedule as previous years:

  • opening session
  • start at the usual time locally
  • three concurrent sesssions
  • closing session

We chose local time so it was easier for us. Someone is going to be inconvenienced no matter what we did, so we decided to make it easier for us by having the conference during our working hours.

All recordings will be uploaded and made freely available later. The only thing non-attendees miss out on is submitting questions.

We used ScaleEngine to broadcast the recordings. They were able to encode all the speaker recordings into various formats and resolutions. They created a schedule and broadcasts started on time.

The Q&A sessions we ran were optional for the speakers because it may not be at a good time for them locally.

We had volunteers collect the questions and put them into an online repository for the speakers to read. Questions were submitted over an IRC channel, one for each of the three concurrent sessions. Sometimes the speakers were online and monitoring the IRC channel. This made the question collection repo superfluous but we did that anyway.

Speakers would join a dedicated Q&A Zoom meeting. We had one for each concurrent session. We let them know how this would proceed and what to expect. We emailed them ahead of time and provided practice sessions so they would test their Zoom client. Speakers do not need a Zoom client and they could dial in via phone if they preferred.

The Q&A session was recorded and will be appended to the recording.

The ScaleEngine solution allows for layers or priority of channels. We chose this, in order of importance:

  1. Broadcast recording
  2. Q&A session
  3. sponsor video

If a broadcast started, it would play over top of any of the other two. When the broadcast ended, you would see a short video of the sponsor logos. If the Q&A session ran over time, the next talk would start. However, the Q&A session would continue to be recorded by ScaleEngine for later use.


We decided not to charge because of the complexity involved with ticketing and then providing access. We might charge in 2021, but that is open to change.

We could afford not to charge because:

  • We had sponsors
  • We did not have to live off the conference proceeds – this might differ for you if conferences are your livelihood
  • Our major expenses (catering, travel, accommodation, venue, tshirts, tote-bags) were gone. Vanished completely.

We had plans on how we could charge. People would have paid. The charge would have been in the $5-$25 range. We were not worried about people sharing tickets. It might happen. No big deal. We trust people not to abuse the service.

Record or live?

We chose recording to reduce problem solving. Our speakers live in varied locations, and not all have great internet service. There was also the timezone issue. Speakers could record at their leisure and we could broadcast at our convenience.

What can sponsors get?

Our privacy policy does not permit us to provide sponsors with attendee details.

Even if it did, we did not require registration so there was no way to know who they were anyway.

In our case, we created a few IRC channels specific to the sponsors and drove users there.

Things to be aware of

Don’t post meetings to Twitter. Bots will attend. Things will go very badly.

Let speakers cancel without penalty. Recording is different. Things go wrong. There’s a pandemic. The speaker and their family always talk priority over the conference. It’s just a conference. If they cancel, thank them, and wish them well.

We posted URLs for the web-based sessions we in advance, and only on our website. We had one page for each room, with links to the two other rooms.

We posted URLs for Zoom sessions only just before the zoom session. Communication with attendees was mostly over IRC. You can post updates to Twitter, but don’t post Zoom meeting URLs there. You’ll get bots.

On IRC we had channels:

  • One admin channel mainly for the volunteers running the conference
  • A main channel named after the conference) (e.g. #bsdcan
  • One IRC channel for each concurrent session – think one channel for each room at the conference venue
Website Pin Facebook Twitter Myspace Friendfeed Technorati Digg Google StumbleUpon Premium Responsive

Leave a Comment

Scroll to Top