The technology behind instant lesson interaction

Updated: Oct 5, 2018

Socket communication

RainbowOne uses “socket” technology for instant communication between devices, during lesson interactions. For example, when teacher wants to sync the e-book page between teacher and student device, the teacher device sends out a “go to page X” command to all student devices. When the student devices receives the command, they execute it. The benefit of using socket technology is that it has fastest performance. An instant command can be usually completed within 1-2 seconds. When each device connects to the socket, it stays connected to our cloud server until the user stops the connection manually, such as leaving the e-lesson.


The above example seems to be simple, however there are many steps involved already. When the command is sent out by the teacher device and received by student devices, it goes back and forth through the router or access point, the school network and our cloud server. If the network is not stable, there are chances that the device disconnects from the socket involuntarily. When this happens, the device cannot send or receive instant commands. The problem is that it is not easily discovered because it usually happens for a short period of time, let’s say 1-2 seconds. After that the wifi of the device re-connects itself and you may find that there is no problem when you check the device.



The best practices

Therefore you should check you network in the first place. Recommended practices are:

  1. Make sure the bandwidth is enough for each device to use. Usually these instant commands have size within 5K.

  2. Make sure the devices stay connected to the same wifi SSID. If there are more than one SSID in your school and when the device switches SSID, the socket disconnect immediately. This happens because most of the schools have more than one Access Point, some of them are set between classrooms. The devices may jump to a SSID with stronger signal, depending on the position and network setting of that device.

  3. Make sure the whole school network is not occupied or jammed by individuals. 

  4. Make sure your internet service provider does not block our domain or server.

  5. Make sure your internet service provider does not apply content filtering at your school network. This may heavily slow down the connection time.

RainbowOne already employed 2 mechanisms to tackle the situation above, but these are supplement rather than curing the symptom.

  1. When disconnection happens and it can be detected, RainbowOne automatically re-connects to the socket again. The whole process usually takes around 10 seconds. Please note that a very poor network doesn’t mean disconnection, it may happen that the instant communication seems to be slow but the disconnection doesn’t happen and the reconnection will not be carried out.

  2. When the reconnection cannot be carried out, maybe for some unknown reason that the device cannot be connected to our socket server, the device goes to our backup server to look for that command. This usually takes around another 5 seconds.

Test before use

  1. Check the network at the time you use RainbowOne. For example, most of our Hong Kong schools use RainbowOne from 10:00 - 12:00 in the morning, so they have to check the network that time. Checking the network after school may not help you to discover network issues.

  2. Check the network at the actual venue. For example, you have to check the wifi connection in the classroom if the e-lesson is carried out in that classroom. Checking the network at the wrong venue may not help you to discover network issues.

  3. At the home page of RainbowOne, click on the wifi icon at the bottom right. The popup shows the connection speed to our cloud servers. A small number means better performance. The ideal situation is that all signals are green.

  4. When you are using the e-Lesson in RainbowOne, you can enable the network test tool in the toolbar. Click on that tool to check the network.

  5. If you found issues when you test, you can contact us for more information.