Wikimedia Hackathon 2021/Documentation


 * Title of the event: Wikimedia hackathon 2021
 * Date: May 21-23, 2021
 * Organizers: WMF, WMDE, coordination team

Format of the event
Main format: online hackathon

Duration: 48 hours (Friday evening to Sunday evening)

Main goals: gather the technical community, have fun, reconnect with each other, onboard newcomers

Main target audience: technical community: people working on tools, documentation, MediaWiki code, or various other contributions

Total number of participants: Estimated numbers: We saw ~50 people concurrently in the different venues, but the total number is hard to tally given the format of the hackathon. Up to 29 viewers of the main track per session; ~40 participants at the showcase. 16 projects presented during the showcase.

Number of organizers: 7 people in the coordination team + around 10 helpers

Language(s) spoken during the event: Mostly English

Tools used: See “technical setup” section below. Mostly Jitsi, BBB, Youtube, Indivious, IRC, Telegram and WorkAdventure.

Methods used: the hackathon is a semi self-organized event. The organizers set up a main track and hacking rooms with a schedule and provided a certain structure, but also encouraged participants to engage however they needed without having to adhere to the proposed structure. Many people worked on their own projects, discussing on social channels.

Technical setup
One of our goals during this online hackathon was to experiment on using as much open source software as possible. With a lot of trial and error, and sometimes accepting imperfect solutions, we managed to run the event mostly without using the usual proprietary tools expected for running online events (like Zoom, etc.). There are cases were it wasn’t possible to use OSS solutions, for example:


 * Reliable live streaming (Youtube) couldn't be avoided due to the reliability of other solutions. Indivious instances were very unreliable, and a custom RMTP setup couldn’t be set up, tested and supported in time for the event.
 * The online space (Work adventure), their source is public but the license is not OSI compliant. This is unlikely a solution for future events in the movement, due to the license, further investigations and legal advice is needed.
 * Community members meet in some proprietary platforms (Telegram), in order to maintain contact with newer and existing members that use such platform, we incorporated it in the official communication channels, bridged with an open chat platform (IRC)

Main track (livestream)
Here is an overview of the general structure. You can see an explanation of the different components below.

Components
Such as the ones￼ for examples:""

RTMP server

 * Prototyped solution before the hackathon, it wasn’t actually used during the hackathon due to incompleteness and reliability and maintenance concerns
 * Deployed on WM Cloud, in one of the Jitsi servers
 * Setup:
 * PoC: Amir and Valerio
 * Possibilities:
 * Could eventually stream on multiple social networks (Facebook, Youtube, etc.)
 * Valerio worked before and during the hackathon on HTML5 video player
 * Could have a chat window embedded in the window

YouTube MediaWiki

 * https://www.youtube.com/user/watchmediawiki
 * We used the existing MediaWiki Youtube channel for the livestream. It is proprietary but has been used before without any reliability issues.
 * Hackathon organizers and WMF staff had credentials for the account in case any issues arised
 * The stream gets recorded and published in case of needing a backup for the video director

Indivious

 * https://github.com/iv-org/invidious
 * Invidious is an alternative front-end to YouTube. Theoretically it can mirror videos and livestreams without the privacy concerns of using Youtube
 * Public Invidious instances are listed on the documentation website: https://instances.invidious.io/
 * We tried and recommended https://yewtu.be/ and https://tubo.peertube.uno/ . During the livestream though, both platforms had big issues mirroring the stream and caused troubles for the participants trying to use those servers

OBS

 * OSS Live streaming software
 * Needs a handler (“The director”), who will
 * Join the BBB video call
 * Configuring the OBS scenes and graphics to switch between breaks and sessions
 * Connect OBS to the streaming platforms (Youtube in our case)
 * Stream the BBB window and switch between scenes during all of the main track livestream
 * Start the stream and stop the stream
 * Record the call/stream while running

BBB (Big blue button)

 * We used the instance hosted by WMIT
 * Valerio Bozzolan was our point of contact for administrative issues with the instance (thank you!)
 * The director needs moderator privileges and should register for easy login and management
 * Participants, moderators and MC can join without registering necessarily
 * There are certain peculiarities with BBB, so learning a bit the usage of the platform was needed
 * Optionally BBB can make recordings of the sessions as well, which we tried doing in sessions in case the other recording solutions failed

Open hacking rooms
The organizers set two tracks with Jitsi rooms in the official schedule for events.

The preference of the organizing team was to use the Jitsi instances at  https://meet.wmcloud.org, but after reviewing the reliability in the last months and finding some room for improvement (*), we decided to use the public instance meet.jit.si as the first option for the hacking rooms, and rely on the WM cloud instances as a backup, and leave them free for participants to join ad hoc calls if needed.

Online hackathon space
We wanted to experiment with the online venue to provide a space where people could walk around, talk to each other spontaneously, and replicate the feeling of hanging out at a hackathon venue.

We decided to use WorkAdventure (that was already used at rC3, and already tested by other people). Among the reasons why we chose this tool: it’s the closest we found from a fully open source tool, but the license is not OSI compliant.

It has interesting features such as embedded Jitsi rooms and other webpages, and some people in the team already had experience with it.

In this space, participants were able to create an avatar, enter the venue, explore the different areas, start video calls with individuals up to 4 participants or gather in bigger groups in the project rooms.

Information like the program or help page was displayed in specific areas, work rooms were

created for projects, and the map included our favorite logos, animals and other Easter eggs.

We designed a map for the hackathon venue, using Tiled. In total, we spent around 25 hours on the map (initial design, find/create all the pixel art elements, implement, add the extra features such as embedded links, test). (see minimap and screenshots).

We added a section with link to the privacy and cookie policies to the entry point into WorkAdventure to ensure participants are aware of the terms and only join if they agree to it, alongside with guidance on how to enable a blocker plugin to not get tracked by Google Analytics, as WorkAdventure uses Google Analytics on their pages.

For the future, it might be interesting to explore how the program could be better integrated with the social space, i.e. by making it possible to enter the Jitsi rooms directly from WorkAdventure. There wasn’t enough time between having the idea and conducting the event to explore these options more for this hackathon. We did not want to announce the tool or pursue integrations before the Wikimedia Foundation’s contract review process for third party vendors had been cleared.

Despite minor technical difficulties (access from specific browsers, issues in the calls), many participants used the online venue successfully and gave positive feedback.

The advice we could give to event organisers:

If you choose to use WorkAdventure, is to not underestimate the time you will need to create a custom map (count at least 10 hours, especially if you’re not familiar with 2D map building), but your efforts will be rewarded by the fun and the possibility of integrating custom elements that will make people feel like in a real venue.

Social channels
In order to engage with participants, discuss and announce sessions, we used the historical discussions channel of previous hackathons: a Telegram group bridged with IRC. Although we encountered some issues due to the migration to Libera Chat, it worked well.

Separate Telegram groups for newcomers, helpers, or for specific projects, were also created or reused.

Success

 * Experiment of a fully open source livestream setup
 * People really liked having an online space to meet others and have a presence
 * Main track (live and recorded talks) and hacking rooms (non-recorded video calls) had a lot of people joining

Challenges

 * General virtual event fatigue
 * Time zone challenges when scheduling sessions/talks
 * Last minute implementation of the online space
 * Some people had trouble situating themselves in the channels and rooms
 * Participation challenges in sessions that happened on video calls with many participants

Possible improvements

 * Integrate the online venue and the program better (eg people could be able to follow sessions directly from the online venue)
 * Have more breaks, as online calls are tiring
 * Better guidelines for video call sessions to improve participation

Recommendations

Documentation

 * Commons category
 * Phabricator board
 * Schedule
 * Hackathon Outcomes
 * Feedback