Jitsi@scale: Day ②— “Focus does not mean saying yes, it means saying no”
[ participating in the Jitsi #Hackathon for education 4/26/2021–5/3/2021]
With so many people joining the effort and an abundance of good and cool ideas, it becomes increasingly harder to focus. “Who is doing what?” “What are we even working on?” “When was that deadline again?” “Why are we doing this?”
For example, someone in our team brought up WorkAdventu.re, a really cool virtual online environment including video interaction with Jitsi. Since it is open source, we can — and did— readily launch our own instance, and hack away at online map editors so students could build their own virtual school, meet and interact with their teachers, etc. Awesome stuff — but drifting away from the original Jitsi@scale scope.
Conceptually and practically, we have shifted from 800 small low rate video tiles to the idea of providing an immersive interactive audio experience. Wouldn’t it be great if the teacher can get real-time feedback: Make a joke, and everyone laughs spontaneously and claps and cheers in excitement — right in that moment, not with an x-second delay?
To educate — that is the question
The theme of the #hackathon is “education”. We choose to interpret this in the broadest possible sense, meaning not only do we focus on teacher/student classroom use cases, we also aim to educate the broader community about the adjacent possible of technology.
One example: How can we test Jitsi@scale? How does one test Jitsi deployments in general? We connected with Meetrix.io and started a Katacoda scenario based on their Jitsi Torture example, and identified NeoCortix as a potential longer term distributed device cloud option for realistic testing@scale. However, Jitsi Torture is resource heavy (it uses a browser instance for each emulated user) so it may not be the best option going forward.
Meanwhile, behind the scenes our team members at Indᴉehosters are hacking away at a Kubernetes operator to automatically deploy and scale a Jitsi cluster with JVBs [💓 that acronym]. The idea is to track the number of participants in a conference, and automatically conference in additional resources as needed. Even with lastN=1 per student client (meaning each student will see exactly 1 video stream) 800 streams would still require 3 or 4 JVB instances running Octo (depending on resources and network bandwidth), so we plan to start with 1 JVB and then add more.
TL;DR
Jitsi@scale enables auto-scaling online video deployments to support large interactive cheerful crowds — educating various communities in the process