Skip to content

Lessons from organizing OE Global 2020

Open Education Global Conference is a yearly conference for the Open Education community, that a small non-profit OE Global, co-organizes yearly with a local host institution. For 2020 we planned to hold the conference in mid-November in Taipei, Taiwan. But then Covid happened and we’ve decided to make it a virtual event. 

We’ve had ~125 online sessions, and additional 50 posters, presentations that were delivered asynchronously. It happened over 5 days (Mon-Fri) and across all timezones (from Taiwan, Europe, and across the Americas).

In this blog post, I’ll share some lessons that I learned, mostly from technology and related processes. As it was a big undertaking with more than 20 people involved on the organizing side, I only had to focus on my part of responsibilities.

Some technology works well

Presentation side

For our real-time presentations, we used Zoom in normal ‘meeting’ mode. With attendees joining from everywhere in the world, I’ve rarely seen any problems. People know how to use Zoom and they have a good enough camera and microphone. We also used a machine based auto-captioning service by to generate real-time subtitles. It’s about 90% accurate and it turned out to be quite a good addition to the presentations.

What was most surprising was how cheap this part of the stack was. Zoom is about 15 USD/month and is additional an 20 USD. I’ve looked into their competition (mostly Google Meet and Jitsi) and nobody could beat them on features or pricing. Google doesn’t seem to even offer a competing solution (I can’t just easily buy 5 seats for one month).

I also evaluated Jitsi and BigBlueButton, but they both required a lot of server infrastructure at the worse result for the end-user. The reason is that when you’re running a global conference where your participants are connecting from different continents you now have to think about peering servers, network latencies and how do you globally distribute your servers. This isn’t easy or cheap. So we’d have to go with a commercial vendor or develop this expertise in house.

Discussion platform and a shared space

For the online discussion platform, we’ve chosen Discourse. It turned out to be a good decision, but the flexibility and complexity of the platform made it somewhat challenging at the time. Through the planning process, we’ve managed to configure it to our liking and import all the data and users with a series of python scripting and a custom Discourse plugin that took care of the presentation of the program.

Developing plugins for Discourse is both a pleasure and a very frustrating experience. It’s a mixture of (older version of) Ember.js on the frontend and Ruby on Rails on the backend. The issue is that you’re writing a plugin into mostly undocumented API of Discourse. So in the end you have to just go and start reading the source of the Discourse and be a bit creative in how you approach your code. I think it’s worth it, but next time I’ll have to invest more time in just learning Rails so I can figure out better integrations.

I’ve considered going with Sched, as we’ve used it in the past, but I decided that it wasn’t flexible enough for our needs. I also looked into developing it on top of WordPress, but I didn’t find any solutions for communities that seemed like it would work for us.

Before the conference

Since we had a lot of registrations at 25-50 USD per ticket, I’ve decided to go with Stripe, WordPress, and Gravity-forms with Stripe add-on. For the most part, it worked very well and Stripe made the whole credit card integration easy. After working with Eventbrite in the past, I’m happy with the choice as it gave us much more flexibility with lower costs. (We also had WP+Gravity Forms stack pre-built from previous years).

For our Call for Presentations, we’ve used Easychair. It’s a kind of specialized software that is mostly used in space of organizing academic conferences. I’m not a big fan, but at our scale and number of reviewers, all other options seemed worse or much more expensive. We get about 200 presentation proposals that we distribute to 50 reviewers.

Archiving the conference

We’ve recorded most of the sessions in zoom and the recordings were available in Zoom in a matter of minutes after the session ended. We’ve then transferred these recordings to YouTube and pasted links back into our Discourse.

I’m not entirely happy with using YouTube as a video hosting solution. It’s a definite trade-off in terms of privacy and control. At the same time, using any other vendor is significantly more expensive. Hosting it ourselves would also be a costly and non-trivial thing to do. This is something that I’d like to revisit for next year to figure out if there are any better options.

Some technology is less friendly

Building the schedule

Building a schedule for 130 sessions across 5 days, multiple tracks and basically, all time zones end up being a very complex issue. I wish there was better software than Google Spreadsheets that we could use for this. I know there are schedule solvers out there, but I have to find one that would make sense for us (at a sensible price point).

Connecting all the technologies

Our back-office stack is Google Workspace, so a lot of Google Spreadsheets, mixed with Slack, Mailgun, and Python scripts. What I found is that it takes a lot of effort to make good workflows where input in one system (e.g. registration form) triggers a welcome email from another system. If I were building a Software as a Service (SaaS) system, I would make it part of the onboarding process. But with the conference, the system is more of a drip-email campaign. At some point, you release information to everyone, but if a person registered after that date, you then need to both back-fill old information as well as send them a new one.

Onboarding suddenly matters a lot

Challenge with moving from in-person conference to online-only, is that your existing workflows assume in-person experience, but your attendees expect an online experience. Things that you can improvise in-person (e.g. write a new name tag with a pen), becomes a support issue in an online context. If they for some reason didn’t do something correctly online (or their spam filter blocked an email), you don’t have a good way to instantly fix it. It becomes a game of emails and troubleshooting to figure out what’s the core issue.

To make this better next time, I’ll try to sketch all parts of the onboarding process and what are potential issues. I guess we’ll also want to track churn and similar concepts from traditional SaaS businesses. 

 Hallway track still needs work

There are just fewer opportunities to connect with other attendees and ask good questions. We’ve tried a lot of things – different thread stats and Discourse, drop-in zoom sessions, interactive tools. They kind of work, but they still don’t replicate the serendipity of meeting new people and listening to different group conversations during coffee breaks.

I’m hopeful we’ll figure out how to do this in the next few years. It might require a completely new way of thinking and organizing our time.

It’s now harder to be at a conference

Being at the conference is usually associated with a deep dive into a field with intense connection and learning over a few days. When you’re attending from your home office, there’s this tension of trying to still do your work, be with family and also try to follow the conference. I think that trying to do all of these things at once just isn’t possible. I hope we can figure out how to help people take this time for their professional development, without feeling guilty about not attending to some other things.


Most of all, I’m just excited and surprised how well it all worked. We’ve managed to bring our conference to people and communities that could never afford (or be allowed to) travel to our in-person event. I’m excited at what this means for the future of our field.

2 responses to “Lessons from organizing OE Global 2020

Comments are closed.