teacher.js: A low-bandwidth (outdoor) online teaching tool

Frederic Brodbeck and Prof. Dr. Daniel Devatman Hromada

Einstein Center Digital Future / Berlin University of the Arts




For those interested in a little demo, connect Yourself to node 1 by pointing Your web-browser to https://1.teacher.solar

1. What is teacher.js ?

teacher.js is a web-based communication / teaching tool. Designed for being run on solar-powered devices outdoors it aims to keep both bandwidth and power consumption low. For that reason teacher.js intentionally does NOT make USE of video streaming but instead implements "code-casting".

2. Why teacher.js ?



1 teacher :: 1 (class)room :: 1 server(node)

Similarily to a teacher responsible for everything which happens in a physical classroom during his/her class, the person who activates his "teacher node" and unlocks the door of a teacher.js space is both the keymaster, teacher, administrator and the supreme sovereign of the local temporary zone.

Outdoor Online Teaching


teaching != screen sharing

Can someone please tell me why teachers need to broadcast megabytes of video-signal while it would be more efficient and comfortable to broadcast to student browsers few bytes containing a command (e.g. display slide) and its parameters (e.g. from "URL X") ?

screencasting paradigm

As COVID-19 pandemics took planet Earth by surprise, a so-called “screen-casting paradigm” (SC-paradigm) had become a de facto standard in real-time content sharing, with only few people questioning whether the SC-paradigm is the most optimal way of doing on-line teaching and if not, what alternatives exist. It turned out that the SC-paradigm is sub-optimal at least in two major regards:

COSTLY: Encoding, streaming and decoding of Megabytes of video signal to N participants incurs significant network and processing costs and is not feasible in low-bandwith areas or in use cases were radical reduction of energy consumption is an issue.

ASEMANTIC: The rich internal structure of many screen-casted contents (presentation slides, web documents etc.) is lost during its encoding into video signal. This prohibits viewers to execute any other interaction with the content, apart from passive consumption (e.g. students cannot click on links displayed on a screen-casted website, cannot search for a term in a displayed text document, increase the font size, etc.).

(Hromada & Brodbeck, ECEI 2022 paper)


Codecasting (CC, shortened form of "code-broadcasting") is the distribution and execution of program code snippets and associated data forwarded from the source (e.g. teacher) viewport to one or multiple target viewports (e.g. student browsers).

3. teacher.js architecture

audio mixer (Janus audiobridge/WebRTC)

teacher.js 1.0 (available modules)

Shared notes (Etherpad-lite)

Chat (matrix/hydrogen)

Wikipedia module

Presentation module

4. a BigBlueButton/ teacher.js comparison

BBB / teacher.js summary

next steps

shared video-viewing (code-casting)

whiteboard (spacedeck)

collaborative reading

client-side facial keypoint detection and artificial avatar/face synthesis

Summer Semester 2022 Online Gardening course

secure funding & create community

summa summarum

it is possible to have an online teaching toolkit running on a Raspberry Pi hardware

replacing video-streaming with code-casting paradigm leads to significant bandwidth reduction...

...and has many additional advantages (e.g. students can actually work with the source document)

the aim of teacher.js project is not to develop yet-another-videoconferencing-tool, but to provide a motivated teacher a minimalist yet modular & extensible toolkit containing everything he or she should need to do a great online course or hybrid online-offline course

links & references


Hromada (2021) Three principles, 2 sub-principles and one magic wand for harm minimization and prevention of technological addiction in human children. Educational Innovations and Emerging Technologies).  EIET 2021/12 Vol.1, Iss.1 : 48-57 https://doi.org/10.35745/eiet2021v01.01.0005

Brodbeck & Hromada (2022) teacher.js: A low-bandwidth online teaching tool. Proceedings of 5th IEEE Eurasian Conference on Educational Innovation 2022

Thanks for Your attention




@DigiEduBerlin (Twitter, Instagram)
Creative Commons CC-BY-NC-SA applies on all contents and novel ideas articulated in this presentation