Wooclap is an app-based EdTech tool that enables better interaction in the classroom. Developed with the help of neuroscientists, instructional design coordinators and professors, the web-based app makes classes more enjoyable – and efficient – by letting students play a proactive role in their own learning. Constant streams of feedback essentially change the teacher/ pupil relationship. The platform is used across establishments as diverse as University College London, New York University, Arts et Métiers ParisTech and École Polytechnique. According to Wooclap’s CTO, Jonathan Alzetta, the app brings out the “teaching of tomorrow: personalised, exciting, collaborative and geared towards experiences.”
Wooclap Use Case
Realtime functionality forms an integral part of the ‘live’ collaborative and experience-based learning environment the app creates, enabling continuous feedback and interaction. Realtime features allow students to contribute to a presentation by submitting votes, ideas and answers to questions (through internet or text) which in turn help shape the lesson - as it happens. Settings make it possible to show presentation interfaces - including slides, questions and polls - on participant devices in real time.
Teachers also use realtime functionality to send new questions to participants, and to synchronize changes to questions and events across all connected devices. A teacher can get live feedback about the impact of their teaching. For example, when the ‘confusion mode’ is activated, the teacher can see the proportion of students who are ‘lost’, engaged or disengaged. Similarly the “session compare” functions allow a teacher to measure - and show - how performance in their classrooms have improved from one session to the next.
Founded in 2015, Wooclap’s offering took off quickly. In less than three years the app had more than 80,000 teachers regularly using the app to interact with classes of various sizes (from 10 and to several thousands students). The amount of data being exchanged put considerable strain on Wooclap’s WebSocket servers and the engineering teams running them. Some courses are streamed across the world and a single lecture can have several thousands participants at once, generating 20m+ messages over a few hours and 20k+ messages / seconds at times.
Scaling WebSocket servers was especially difficult for Wooclap due to the company’s key requirements of:
Reliability: All messages had to be delivered to subscribers, even for those connected via a slow or intermittent Wifi connection.
Speed: Wooclap’s latency requirements were very low to maintain an environment of instant feedback in the classroom.
Burstability: Some classes have several thousand participants, so the realtime server has to handle burst of several tens of thousands of messages per class.
As Wooclap’s user base increased, the generated load on the WebSocket server required the company’s engineers to spend too much time on the technical requirements of scaling, rather than focusing on the product itself.
The Ably Solution
Having evaluated other PubSub providers, Wooclap chose Ably because it ticked all the boxes regarding speed, burstability and reliability - playing out at considerable scale, and with a transparent, customizable pricing scheme to match. Another selling point for Wooclap is Ably’s system that delivers updates on the status and performance of nodes.
According to CTO Jonathan Alzetta: “The Ably client has a great API that comes with extensive documentation. Using this tool essentially means our engineers now have one less problem to look out for”.
Our current infrastructure uses Ably Realtime on the client and the Ably REST API (via the nodejs SDK) to exchange messages between the frontend and the backend. One killer feature which of the Ably library is the connection state recovery. For instance, if a client loses their internet connection for 30 seconds and is back online, they’ll receive the messages they missed while they were offline. The library handles client connectivity issues like this seamlessly; we don’t have to write any specific code to get this behaviour.
Looking to try out Wooclap? You can find out more about how the learning technology works at https://www.wooclap.com
More information on EdTech and how interaction-based learning is changing the way a classroom operates is available on Wooclap’s blog.