How to: Organize a Full-remote Workshop (or any event)

GDGLisbon
Google for Developers Europe
7 min readMar 17, 2020

Last Saturday, March 14th, GDG Lisbon had planned to organize a face-to-face Flutter Workshop. However, a week before, COVID-19 had become an increasingly real threat, and we had to make 1 out of 3 decisions:

1. Cancel the event
2. Don’t cancel the event, but contact the participants, informing them of security measures and restrictions
3. Do a full-remote event

Initially, when there were only a few infected in Portugal and the country was not in a state of Alert, we opted for the second option.

I share below the email we were going to send on the eve of the event because I believe it may still be useful when the situation calms down:

Hi!

Regarding the Coronavirus COVID-19, we would like to make you aware that for this workshop:

Anyone that as traveled recently ( less than 14 days prior to the event ) to/from any of the following countries should not attend the event ( Italy; Japan; Republic of Korea; Singapore; Thailand; Taiwan ).

Anyone with the following symptoms: fever, cough and difficulty breathing, should not attend the event and are advised to seek medical care immediately.

Anyone who demonstrates the symptoms, described above, during the event may be escorted to a quarantine area for evaluation through local health authorities.

Promote a good respiratory hygiene, meaning: covering your mouth and nose with your bent elbow or tissue when you cough or sneeze. Then dispose of the used tissue immediately.

Avoid touching eyes, nose and mouth.

Promote a regular clean environment by thoroughly cleaning your hands with an alcohol-based hand rub or wash them with soap and water.

Promote social distancing awareness, at least 1meter distance between anyone who is coughing or sneezing.

In case of additional questions please refer to the DGS — Direção Geral de Saúde website and recommendations.

Meanwhile, COVID-19 was declared a pandemic, dozens of events were cancelled and holding a face-to-face workshop would pose a public health risk.

However, this was a workshop already requested by the community and there was an interest in doing so. So, we were left with only one option: Do a full-remote event

What we used:

The stack we decided to use, given our limited budget and time was the following:

  • Youtube Streaming
  • OBS as the encoder
  • Discord — with a dedicated channel (#workshop)
  • Google Classrooms — to share assignments
  • Two teachers João and Filipe with Inês supporting and verifying everything was running smoothly.
  • While one teacher is streaming the other was answering questions and evaluating assignments
  • A whole community chat giving a hand answering questions and dedicated to helping.

Preparation:

  • Prepare the transition images and thumbnails, according to the resolutions recommended by Youtube
  • Configure OBS, Youtube and perform some tests (more information below)
  • Double-check the OBS resolutions (because we used an external screen, which had a different resolution)
  • Test Google Classrooms (or any other tool you’re not familiar with)
  • The day before and on the day of the event, we send an email with the Streaming link and the Discord access link (as well as all other essential information such as agenda, etc).

Youtube Streaming

Youtube allows you to live streaming video, you will still need an encoder but for that, we used OBS, more about in the next point.

We opted to use Youtube streaming instead of a video call service like Zoom, since this way the streamer won’t be interrupted with someone unmuting his microphone and there won’t be problems with feedback loops.

However, to promote the interest and engagement of the participants, we had to use other complementary tools.

  • (+) Advantages:
  1. Free ❤
  2. It is possible to schedule your event, allowing users to subscribe
  3. Embed your streaming on any website
  • ( — ) Disadvantages:
  1. You’ll need to activate your account and that can take up to 24 hours
  2. Has a considered delay of 20 seconds and sometimes more
  • Problems/ How we use it

We chose to leave the youtube chat active, which was used essentially to leave important messages from the organization (start and end of breaks, new assignment, etc.). We activate the Slowmode with 1-minute pace, for the participants to give preference to Discord — we wanted the Youtube chat to be used only in urgent situations. (and it worked — we were warned here that the microphone was muted -.-’ )

OBS

The Open Broadcaster Software (OBS) allows you to stream to Youtube. There are plenty of other options but we choose the tool most widely used and as a source of inspiration, we looked for what game streamers use.

  • (+) Advantages:
  1. Open Source ❤ (better than free!)
  2. Can load information from locally, such as images or text and edit live the information shown on the live streaming
  3. You can have multiple streamers using the same Youtube streaming key to switch between
  4. Have various Scenes. You can have a Scene for when you are on a break, a Scene showing your camera and window browser, there is a multitude of options. You can also export your setup for others to use <Link to our OBS Scenes>
OBS — our setup

5. Studio Mode — when this mode is activated during live streaming, it allows you to view and edit the scene before making it live. In this way, certain mistakes are avoided, such as placing the wrong scene.

Studio Mode!!
  • ( — ) Disadvantages:
  1. Requires some preparation, some laptops might have problems but nothing that you won’t find a solution online
  2. You might need to change the resolution and bitrate to be able to stream in high quality into Youtube, but both Youtube and OBS give you recommendation of what values to use (See problem 2!)
  • Problems/ How we use it
  1. We had some problems with the microphone that even not configure in the Scene, it was still recording and transmitting to the live streaming, so you could listen to our voices even if we were showing the “Break Scene”
After a few minutes, despite having activated the background music, we noticed that the microphone was ON for the entire pause. Oops!

2. When we switched between streaming teachers, we noticed a lowering of streaming quality, that was because of the bitrate. Leave your bitrate in OBS at 1000 Kbps. This is a recommended value by Youtube. After an OBS restart everything went back to normal.

Google Classrooms

A Google platform for online classes, you can invite students with a simple code and manage assignments and tests all through it.

  • (+) Advantages:
  1. Free ❤
  2. Multiple teachers to evaluate
  3. Draft, Schedule, Post Assignments that students can answer for evaluation, there are various types of assignments.
  4. It is possible to create a “Base” Classroom to then use in various workshops
  • ( — ) Disadvantages:
  1. You need a Google Account
  2. Not widely used and participants weren’t used to it
  3. It won’t work if you try to access with a GSuite work account and on the other way, if you create a Classroom using a GSuite account only the emails attached to the GSuite account will be able to connect

Alternative: https://classroom.github.com/

  • Problems/ How we use it
  1. When we announced a new task in Streaming, we published the task in Google Classrooms, but also in our chat (Discord & Youtube chat). The user would receive and send an email notifying the new task, but would also know through a chat notification. Since participants are not used to using this tool yet, advertising on other platforms was quite useful during the first exercises. Furthermore, on the Discord channel, it was a way to keep the conversation focused on the workshop’s tasks.
  2. There is no good way to share the code directly in Google Classroom so we always asked for a screenshot to be attached to the assignment and attach a zip of the code

Discord

A free chat platform focused on gaming. However is having a shift on users and communities since they don’t have limits in the chat history, have great user roles management, channel organization and other functionalities.

  • (+) Advantages:
  1. Dedicated channel for the #workshop where we had others helping with questions.
  2. Free and does not have a chat history limit
  • ( — ) Disadvantages:
  1. A large number of people on the same channel causes chaos. (See Solution below)
  • Problems/ How we use it

Problem 1: A large number of people on the same channel causes chaos.

Solution: However, this disadvantage is circumvented by changes in the nickname in order to set roles (Organizer, Community etc).

Discord also shines with the functionality of Slowmode; with Slowmode you can limit the amount of message an user can send and so it will give you a breather.

Problem 2 (This is not directly related to the Discord, but was resolved through it). In most hands-on workshops, this is already a common phrase:

“It is expected for you to bring the required materials installed and ready; there will not be time during the workshop”

No matter how many warnings and messages are sent, there will always be someone who does not install the necessary materials for the workshop. In a face-to-face workshop, this situation is manageable. But in a remote workshop… it is easier for someone to arrive late or enter the middle of the workshop. In this specific workshop, at Discord, we had questions related to the installation in the first 2 hours, in the channel created to follow the workshop in Discord.

A channel that was created to answer questions and gather feedback about the workshop, was being consumed with setup issues.

Solution: we created the #how-to-install channel, meant to answer questions related to the setup. If possible, have a dedicated person to answer these questions, always leaving the note that questions related to the workshop will take priority.

Conclusion

This stack over-delivered, between the decision to have the workshop remote and the day of the workshop we had little time, but everything went really well. For the problems that appeared, we had a fallback and support.

Feel free to reach out if you have any further questions or need help setting up your remote workshop.

Best,

Filipe A. Barroso (@ABarroso) / Inês Armada Brás (@InesArmadaBras)

Special thanks to João Soares, who helped us in person during this workshop

--

--

GDGLisbon
Google for Developers Europe

The official #GDG (Google Developer Group) in #Lisbon, follow us to find out about Lisbon meetups and everything related to #Google technologies.