Dear Conference Organizer,
First of all, thank you for all the hard work! Most Python conference organizers I know don't get paid for their work. Yet, they pour countless hours into helping people spread knowledge and bringing the community together every year. And just like open-source contributors, sometimes the only things they get back are complaints and resentment. Please don't let the few whiners bring you down! You're doing a great job, and without you, the Python community wouldn't be where it is.
Now, regarding how to get better...
This article contains a collection of notes and various observations I've gathered throughout many years of attending (mainly Python) conferences - both remotely and in person. It can probably be more helpful to people who are just starting organizing conferences or who are running small events, especially if they never had a chance to visit other conferences and be exposed to different ways of doing things.
I'm speaking from the perspective of an attendee and a speaker. I'm sure an actual conference organizer can give you even better advice. So, if you need help organizing a Python conference, I suggest you reach out to the Python Software Foundation, the EuroPython Society, or your local PyCon organizers.
Eh, I really want to like them and cheer for their organizers, but online conferences suck. Their level was particularly low in the first year of the COVID-19 lockdown when many onsite conferences switched to an online format, but no one had any idea how to actually run online conferences. Every new edition got noticeably better, as each conference was learning from the mistakes of its predecessor. But even today, I don't enjoy online conferences either as an attendee or a speaker. And I never heard of anyone who actually enjoyed online conferences.
Here is what bothers me the most.
First of all - I get close to zero networking out of online conferences (that is, I don't meet new people online). Maybe that's on me because I don't like to chat with random strangers. I try to look at the chat rooms throughout the conference, but the only time I actually talk with people is when I'm answering questions regarding my presentations. So after the thrill of hey, I can attend the conference on the other side of the world absolutely for free without leaving my office, online conferences started to feel like a chore. I work in the morning, then I log in to the conference system, give my presentation, stay around to answer questions, and then I'm back at work. I don't even watch any other talks because I prefer to watch them later on YouTube at a higher playback speed. I know some people like to work and play the talks in the background, but that's not for me - I can concentrate neither on the talk nor my work.
Another problem I have with online conferences is that it's too easy to inflate the number of attendees in an effort to trick participants and speakers into attending them. I was invited to multiple "biggest Python conference in the
<insert random country/part of the world>!" events boasting more than 1000+ attendees, only to see that, on average, each talk is watched by 30 people.
It's even worse when it becomes a "business" for some groups of people. I see multiple organizations specializing in running conferences that now thrive when doing it online. Some organize dozens of events per year. Often, the websites of those events lack full information about the agenda as the organizers try to fill in speakers until the last moment. They also tend to suffer from technical issues like broken links or outdated information. Some organizers offer free tickets (I guess their business model is based on sponsors?), while others charge as much as $1000+ per ticket. Event organizers are usually small teams (to keep their costs low), so their organization is also often lacking. I once attended one of those conferences where the late bird tickets cost more than $1000. As a speaker, I was invited to a Slack channel that was supposed to make communication with the organizers easier. Except it took a few weeks for any of the organizers to log in to that Slack channel, so at the beginning, none of the questions from the speakers were answered. Some people even started doubting if the conference was happening. And yes, it was one of those "1000+ attendees" conferences.
Don't get me wrong - none of the PyCon conferences are like that, and I've been to many smaller, non-official conferences that were just a pleasure to attend. But, as an attendee, if you go to one of those conferences organized by the community, but no one really knows what kind of community, and your experience is bad, don't get discouraged. Next time, please try one of the official PyCons instead.
To sum up my experience with online conferences - look, I get that they have some benefits. They enable people from remote parts of the world - who would otherwise never be able to attend any of those conferences - to actually join and interact with other participants. More speakers apply if they don't have to fly all the way to where the conference is held. Such events are cheaper and often easier to organize. So it's important to keep them. Or, even better, keep the hybrid format of an onsite conference that also accepts remote speakers and streams all the talks live. But they simply don't work for me, so unfortunately, I'm turning most of their invitations down.
Live or prerecorded talks?
If you decide to go with an online conference, you need to make a decision whether to accept prerecorded talks or only allow live ones.
I'm a huge fan of prerecorded talks. Unfortunately, organizers usually don't share my enthusiasm, and I can't blame them. You want talks at your conference to be unique. Yet, if someone has a recorded video of their talk, sending the same recording to every conference is very tempting. And that would be boring for the audience. So it's better to have live talks even though that usually means technical problems, which result in some talks being rescheduled, starting late, or having microphone/internet issues.
But hear me out - a prerecorded talk means a speaker has more room to put something interesting in it, for example, coding demos. Admittedly, seeing some tool or library in action during a live presentation is great. And some speakers do amazing live demos. I, on the other hand, don't do live coding at all - too many things can go wrong, and in my opinion, it's just not worth the risk. But if your talk is prerecorded, then it's a different story. You have unlimited tries at your demo. And you can actually comment on what's happening as the text appears on the screen, which is much harder to do live.
Prerecorded talks are great, not only for coding demos. With relatively small effort during the post-processing stage, you can make your recordings look really nice. When you mention a library, you don't have to juggle windows to show its GitHub page. You can put a floating window with a screenshot from the GitHub repository and a link right next to the code so viewers don't lose the context of what you're talking about. Zooming in on some specific code blocks you are currently explaining is another simple yet efficient way to break the boredom of staring at a full screen of code for two minutes.
I had especially great results with prerecording short talks (5- and 10-minute-long presentations). The pace was great, and the flow of information was much more coherent than if I had done them live. The first time I was recording my 5-minute-long lightning talk, I had to shoot it probably ten times to fit into the strict time limit. But in the end, I managed to do so without speaking too fast or jumping through my content - which often happens during live lightning talks.
If the conference you're organizing consists of very short talks, consider accepting prerecorded videos. If the speaker has a technical problem and their talk is 30 minutes long, wasting five minutes is probably fine (but very stressful). But wasting five minutes when the whole talk is five or ten minutes long? That's game over.
Even for the standard 30- or 45-minute-long talks, accepting prerecorded videos could be a nice way to make your conference stand out. If you decide to allow prerecorded talks, don't just "allow" people to submit them as a backup measure. If I know that it's a backup and probably won't be used, I have no reason to put any extra effort into making that video nicely polished and edited. So, if you want to have nice prerecorded videos, don't just allow, but encourage your speakers to submit them.
How many chat rooms are too many?
Another decision you must make for your online conference is what conferencing system you will use and how you will set it up.
I went through many different tools. Especially in 2020 and 2021, when everyone was trying to find the online conferencing holy grail and before everyone more or less converged on using Discord (at least until someone comes up with something better in the future).
Some tried using Zoom for videos and various different tools like Matrix, Discord or Telegram for chats. Some used dedicated conferencing tools like hopin or venueless that offer a clean interface for both the video stream and chats, plus some additional tools like the breakout rooms to encourage networking.
As of today (2023), I think the most popular solution is to stream videos from StreamYard to YouTube and use something like Discord for interactions between participants.
Tools are only part of the solution. How should you actually set up the chat rooms for your conference? Are you going to put 800 people into one chat room? Or will you make a separate room for each of those 100+ talks you have? For a small conference, you might get away with having just a few rooms ("announcements", "general", "social", "recruiting", etc.) to keep the discussions going instead of having multiple empty rooms.
In general, I recommend the following setup:
- Some main rooms as mentioned above ("announcements", "general", "social", "recruiting", etc.)
- Separate rooms for each track (thematic area). Here, you announce what talk is running, and attendees can post questions the speaker will read and answer on the stage.
- Separate rooms for each talk. Here, the speaker can post their slides and answer questions specific to their talk - even a few days later. Without a separate track, questions get mixed up, and some of them are never answered.
This last piece of advice might feel like overkill because it means creating dozens of rooms. But if you use Discord, you can set up a forum-style channel where each talk gets its own "post" so people won't be overwhelmed with too many chats. And for me, as a speaker, this chat room is the most important one. Whenever I was given a room for my talk, I felt a sense of ownership, and I was trying really hard to answer all the questions and keep the conversations going there. Not that I don't answer questions if I'm not given my own precious chat room. But if multiple people are discussing different talks at the same time in the same room, it's easy for some of the questions to get lost or mix with other threads.
Things that worked well
There are a couple of things that I remember worked very well, and I would like to see them more often. Of course, I liked many more things from the conferences, but the following few ideas were rather uncommon, so chances are that you might not be using them yet.
Guides in the form of live documentation, not emails
Having one editable document with all the information for the speaker is awesome. You can update it when something changes, and I can bookmark it for easy access when I need to check something. If you only communicate through emails, you need to send one each time something changes. And then I end up frantically looking through my inbox for the speaker link ten minutes before my talk (that's not fun, and it happens more often than I dare to admit). So kudos to that one conference that puts together amazing Google docs with all the important information for the speakers, volunteers and others.
This one is a bit related to the previous tip. I've started noticing that some conference organizers send you an email with your ticket one day before the conference starts. That way, when you go to the registration desk the next day, you just check the email from yesterday. You don't have to search for your ticket in an email you got half a year ago when you bought it. And sometimes, you might not even get the ticket back then because your company bought it and only later assigned your email to that ticket.
This small tip can be generalized as err on the side of over-communication. Don't send important information only once. You will probably send multiple emails just before the conference, so remind people about important things multiple times. Share the link to the Discord channel in each email. Share the name and password to the Wi-Fi on multiple Discord channels. It's better to send one email too much than too little. Of course, this doesn't mean you should spam participants. There is no need to mention "our wonderful sponsors" in every email.
Mini Q&A panels
One conference had a very interesting approach to the Q&A sessions. They grouped similar talks in sets of three, running one after the other. The Q&A session was happening after the last talk with all three speakers involved. Each question was first answered by the "main speaker" (the person to whom that question was addressed), and then the others could also add something from their side. Combined with a good moderator, those "mini-panels" resulted in interesting discussions and were among the best Q&A sessions I've attended.
Give speakers feedback
Too few conferences do this, so please give your speakers any feedback you can. Did you reject their proposal? At least give them an opportunity to ask why. For many years, PyCon included a phrase in the rejection email saying something along the lines of: "If you want to know why your talk didn't make it this year, drop us an email". If the biggest Python conference was able to do this (and unfortunately, since 2023, they no longer seem to do so), then so can you. Also, if possible, provide a way for the audience to rate the speaker and give them feedback after the talk. That's how we can improve and deliver even better presentations next year!
Things I wish would improve
Now, as for the things I can live with but wish they were better - let's talk about the call for proposals.
Call for proposals
Can someone please come up with one standardized talk proposal form? It's crazy how many different combinations I have to go through if I want to submit my proposal to multiple conferences.
One organizer requires to put all the information in three fields. Another requires to split it into ten fields. Some organizers want a detailed outline with timings, while others ask to be brief and not exceed 1000 characters. You can also come across requirements to write a "summary of your talk that fits in a tweet" or "an elevator pitch". Is the elevator pitch the size of a tweet? Is it longer? How high is the elevator? Am I starting from the ground floor? So many questions, so few answers.
Ok, I can understand that you have your preferences for the fields you put in that form, depending on how you plan to promote talks on social media. But please, at least explain what exactly I'm supposed to put in each field. What's the difference between an "abstract", a "description", and an "outline"? Which one will be displayed publicly, and which is only visible to the reviewers? Should I put the timings in the outline or in the "notes for reviewers"?
Once, I was talking with two other speakers, and as we were going through the proposal form, none of us had a clue about the difference between an "abstract" and a "description". We also didn't know what exactly to enter in each of those fields. What's worse, later, I noticed that some other people were writing the same text in both. And since both fields ended up being displayed in the schedule, some talks had duplicated descriptions, which looked quite bad.
And the absolute winners in terms of bad UI are those forms that have character limits in some fields but don't show it. If you're lucky, the fields won't let you put any more text after you reach the limit. But the most evil ones let you write all the text you want, only to discard whatever exceeds the limit when you submit the form. If you don't notice that, you will end up with a talk description that stops abruptly in the middle of a senten... I usually write longer descriptions in Grammarly, and when I try to paste them into such a form, I realize they are too long, and I have to spend additional time rewriting them. As for people who design forms in a way that the limit of characters only pops up when you reach it - there is a special place in hell for you. Why can't you show it from the beginning?!
So please, put a very detailed description of each field and give clear validation rules. Or even better - add some examples of well-written proposals that used your form.
Send me a copy of my proposal!
And if you're using a Google form for the call for proposal, please enable the "send me a copy of my response" option. I'm applying to multiple conferences, so being able to see my answers has a two-fold advantage for me.
First of all, I can reuse my answers next time. Seriously, it's not fun having to come up with the outline from scratch for the third time.
But more importantly, I can actually see what I promised to deliver. I send you a proposal, then I don't hear from you for half a year, and finally, you say, "Yes, you're in! See you at our conference!" Great, but I don't remember what I told you half a year ago, and sometimes, if you don't publish the schedule right away, I have no way to check that. What was the outline I proposed back then? Was that supposed to be a half-hour or 45-minute-long talk? Please, let me see my proposal somehow!
Don't be picky
Please, don't be so picky about getting only fresh, new talks. Unless you're a big, commercial conference that pays their speakers (which I have never attended yet) or someone is a developer advocate and makes talks for a living (which sounds interesting, but I'm not sure I could talk all year about my work), don't expect that people will come up with a brand new talk just for your event. We make presentations in our spare time. And we put a lot of effort into making great talks. With work and family obligations, I only have time to prepare up to one new talk yearly. Sure, reusing the same talk at too many conferences is boring, but at the same time, you shouldn't reject it because someone has already presented it once or twice.
One conference tried to go around this problem and asked me to change the title of my talk "because participants might have seen it already". Unfortunately, my "won't that be deceiving the participants if I change the title but not the content?" question remained unanswered. I reluctantly agreed to swap the title with the subtitle, as my talk was already accepted, and I didn't have time for any major modifications. But, needless to say, I won't be attending that conference in the future.
Things that went very bad
Finally, let's talk about things that will make me think twice before I decide to attend your conference again.
At least put someone to chair my session. Once, I attended an online conference with no one to introduce me. And that would have been "weird, but kind of acceptable" if the organizers had stressed this more before my talk. But no, there was just a countdown, and then I was live. Alone in front of the camera. That caught me a bit off guard, as all the other conferences in the past had someone introducing me to the audience. It was an awfully awkward experience.
Look, if you want to ask me some questions when introducing me, please let me know in advance. I get stressed before my talk, so in the final moments before I start talking, I'd rather concentrate fully on my presentation. In most cases, the introduction part goes smoothly; the session chair says a few words from my bio and finishes with, "The stage is yours". Yeah, most of the time...
Once, I got a session chair who, out of the blue, ended the introduction with something along the lines of, "I always thought that Python was slow, but Sebastian is here to tell us that it's not true." And then silence. Was it a question? Am I supposed to start the presentation? Or are we starting a discussion about the meaning of "slow"? The speed of Python itself had nothing to do with writing more idiomatic Python code that I was going to talk about.
Please don't be that kind of person. Or at least tell me what to expect from my introduction so I can be ready.
"Oh, btw., you need to buy a ticket"
If you invite me to submit a proposal for your conference and expect me to pay for the ticket as a speaker, please do me a favor and tell me about it before you accept my talk.
Sure, this one is on me for not reading carefully through all the information on your website. Because that's exactly what people do - just like they read the Terms&Conditions cover-to-cover before using any product. A vast majority of conferences give their speakers a free ticket. I usually check the policy for speakers when it's an onsite conference (because the venue and food cost a lot of money), but, for crying out loud, this was an online conference!
Keep up the great work
I don't want to end this article on a negative note because after attending almost 30 conferences in my life, I can say that most of them were really great experiences with little to no downsides. So, dear organizer, even if something goes wrong, don't worry about it! No one will remember about it half a year later. If you're thinking of organizing a conference, I believe you will do an awesome job!