Researched and developed a solution to allow remote control of devices via a web interface. Controlled devices were within an Educational environment, allowing teachers to control student devices.

Technology

  • Ruby on Rails
  • Action Cable
  • StimulusJS
  • Azure IoT Hub
  • WebRTC

Problem

School teachers were struggling to manage students’ devices in a classroom environment. Schools were using a variety of devices, including Windows, Apple, Chrome and Android devices.

Solution

Researched and developed a solution to allow teachers to control student devices remotely.

The web interface would allow teachers to see the student’s screen, lock the device, send messages and control the device.

Result

Business

An elegant, real-time solution was delivered, allowing teachers to manage student devices in a classroom environment.

Supporting a variety of devices, the solution was well received by teachers for its ease of use.

Tooling

The web UI was built using Rails, with Action Cable providing the real-time communication between the teacher and student devices. HTML partials were used in the main UI as well as updates received over Action Cable.

StimulusJS was used to coordinate the UI updates and the Action Cable messages. Minimal UI updates were required, allowing for a fast and responsive UI.

WebRTC was used to stream the student’s screen to the teacher’s device. This allowed the teacher to see the student’s screen in real-time, allowing for better support and control of the student’s device.

The communication between the Rails server and the student devices was managed by Azure IoT Hub (Device Twin). This allowed for a secure and scalable solution, supporting a large number of devices.