Which video conferencing tool to use within your elearning platform if your business model is built around an online language learning marketplace? Is it better to use freemium desktop tools like Skype, or different SaaS solutions? Or maybe free open source systems like webRTC video conferencing frameworks? Here is the experience of a successful online English language school Skyeng.
Skyeng is an online English language school, also called as the “leading Russian edtech startup”. Forbes estimated Skyeng’s valuation at $130 million, with no fewer than 15,000 teachers and 120,000 learners active on the platform.
Video conferencing is the major communication tool between a teacher and a student at Skyeng. At peak hours the eLearning marketplace supports up to 4,000 video lessons at the same time.
The project started working with Skype. But Skype could not be integrated into the training platform. That’s why they decided to try SaaS solutions. But they were very expensive. As a result, the company stopped working with ready-made solutions and opted for WebRTC and Janus.
Now Skyeng team created a video conferencing feature for the educational platform. They faced quite a lot of troubles on the way.
The right protocol is essential
Ready-made tools seem to be the fastest solution, especially if you don't want to invest in developing the infrastructure.
When the eLearning marketplace Skyeng first integrated video calls into the training platform, they opted for one of the ready-to-use tools… based on TCP and UDP protocols.
The sound and picture were fine. But there was a critical drawback. It was expensive.
The team started to search for another solution. And found an alternative almost 5 times cheaper!
They tried to use it though it worked only using... UDP and didn't support TCP.
And here comes a new large corporate client, whose security system blocks UDP.
Not to lose clients, Skyeng returned to ready-to-use tools and was forced to pay for them devastating bills for a couple of years.
The situation could not last long. And the Skyeng founders figured it would be cheaper to assemble their own team and invest in the infrastructure. They considered using WebRTC together with the open-source Janus.
Janus was supposed to work as a signaling server, an essential element for establishing communication via WebRTC. It has a front-end library janus.js that allows embedding video conferencing into the training platform. It gives a possibility to record audio and video streams.
WebRTC itself doesn’t support any changes. But the Skyeng team was going to add their own features. And although they managed to launch and configure it using Janus without any problems, there were certain bottlenecks.
WebRTC and traffic issues
WebRTC can adjust traffic depending on the Internet connection. Look at the graphs made during a call. You see that the bitrate temporarily lowers when the client's connection gets worse.
The problem for Skyeng was crucial. Their conversions dropped by 10% when WebRTC reduced traffic in a trial lesson.
On the other hand, when the client has a good connection, WebRTC uses the channel to the maximum, increasing the bitrate. It creates the danger of server overload. It may happen if you send it more traffic than Janus can support. As a result, many clients can be disconnected.
Also, Skyeng faced one more issue. If the bitrate is very high, the original records take up more disk storage and may overflow it. To calculate the server load more accurately and to make the video quality acceptable, they set a bitrate limit of 256 kbps.
However, there are situations you cannot influence.
Here is a curious example from Skyeng. A client takes online classes next to a working microwave, which blocks the radio signal between the router and the computer. Until the microwave turns off, even a smart bitrate control won’t help.
To warn and calm down a user, Skyeng now displays tips and warnings that something is wrong with their Internet connection.
The more powerful server, the better
It was assumed that having powerful hardware, WebRTC would work smoothly and swiftly. The Skyeng specialists calculated the expected workload and decided upon the proper server configurations. But something went wrong. They started to receive complaints from teachers long before achieving the limit values.
They didn’t explore the subject fully, but apparently, there were some restrictions inside Janus gateway itself. They reduced the capacity limit from 300 to 200 Mbit/s. And the problems disappeared. After that, they bought simpler servers with fewer restrictions.
Another problem was found in the algorithm that created a route between clients. By default, the algorithm chose a more powerful server with better capacity, regardless of its physical location.
As a result, a teacher and a student from one city could communicate through a server from another. The path was too complicated, and the chances to lose packets were higher. They rewrote the algorithm. Now based on pings from a pair of clients to servers, the closest server is selected.
Can WebRTC work equally well in different browsers?
The Skyeng technical specialists assumed that WebRTC would work equally well in different browsers. If not, then the problem could be solved using the webrtc-adapter library. That’s right, but not so simple.
Let’s take China as an example. They have such mobile browsers as QQ and UC. When the eLearning marketplace Skyeng tried to enter the Chinese market, they found that the Chinese browsers support WebRTC only in one direction. They deny access to the microphone and camera while playing video from the second client.
The same problem occurred in Europe with the DuckDuckGo browser. And once they even got a complaint that the client couldn’t study through the Tesla browser! And since they cannot influence all of this, they ask customers to use the latest version of Google Chrome.
The conclusion is - if anything doesn’t work, switch to Google Chrome.
Although, until recently, Chrome didn’t work smoothly on iOS devices as well.
When users used to start a video call in Chrome from a mobile device, iOS failed to work and suggested opening Safari. Just to mention, Safari received WebRTC support only recently, and it still doesn’t work as well as it should.
For example, a low camera resolution is a problem. It requires a better video connection, while we transmit a 640 by 480 picture to save traffic.
And one more surprise. On iOS devices, students cannot simultaneously be in a video stream and play a video file with an assignment. Therefore, now they have to choose one thing and turn off another. And Skyeng had to accept this fact.
The peculiarities of accessing a camera and a microphone
To start a video lesson, you need to turn on the camera and microphone. It seems obvious. But the Skyeng team noticed that often the connection is not established because the user blocks both the camera and microphone. And he does it automatically, because the request window looks like standard annoying requests from other sites, and appears in the same place.
So they began to show this notification directly at the moment of entering the first lesson. And for extra reliability, they showed an additional pop-up in another place on the screen. It made notifications much more noticeable, and the problem was solved.
The bottom line
Skyeng reports that their own hardware and team let them reduce the cost of video communication by 10+ times. They’ve reduced the risk of packet loss by choosing the optimal server between two clients. Got the ability to react faster to user behavior and improve user experience.
Are you interested in implementing a video-conferencing feature into your elearning platform? Or looking for cheaper options than the ones you currently use? Our elearning developers are here to help you with integrating your elearning platform with a video-conferencing tool. Let’s talk!
Rate this article
If you are looking for a true partnership Belitsoft company might be the best choice for you. They have proven to be most reliable, polite and professional. The team managed to adapt to changing requirements and to provide me with best solutions. I strongly recommend Belisoft.
Director at ShowCast Limited (Germany)
I expected and demanded a lot of you at Belitsoft company, but you exceeded my expectations. You acted pro-actively, challenged me at the right moments. Thanks!
CEO at Ticken B.V. (Netherlands)
We have been working for over 10 years and they have become our long-term technology partner. Any software development, programming, or design needs we have had, Belitsoft company has always been able to handle this for us.
СEO at ElearningForce International (United States, Denmark)
They use their knowledge and skills to program the product, and then completed a series of quality assurance tests. We were working in an agile way with them. Belitsoft performed very well throughout our project. We are definitely looking at Belitsoft as a long-term partner.
Service Delivery Director at Crimson (United Kingdom)
I highly recommend Belitsoft for website design and development. We were up against a tight deadline to launch the project. The work was delivered on time and within budget! I will continue working with Belitsoft as a valued partner for our web development!
Program Administrator at UC Berkeley (United States)
We have worked with Belitsoft team over the past few years on projects involving much customized programming work. They are knowledgeable and are able to complete tasks on schedule, meeting our technical requirements. We would recommend them to anyone who is in need of custom programming work.
Main Partner at Hathway Tech (United States)
Belitsoft company is able to make changes instantly. One of our internal engineers has commented about how clean their code is. Belitsoft seems to know what they're doing, which I appreciate.
Co-Founder at HOWCAST MEDIA (United States)
It was a great pleasure working with Belitsoft. Software Development Company. New requirements and adjustments were implemented fast and precisely. We can recommend Belitsoft and are looking forward to start a follow-up project.
Deputy Head of Division at Fraunhofer FIT (Germany)
Belitsoft company has been able to provide senior developers with the skills to support back end, native mobile and web applications. We continue today to augment our existing staff with great developers from Belitsoft.
CEO at Apollo Matrix (United States)
Belitsoft company delivered dedicated development team for our products and technical specialists for our clients time to time custom development needs. We highly recommend that you use this company if you want the same benefits.
Managing Director at Key2Know A/S in 2012 (Denmark)
We approached BelITsoft with a concept, and they were able to convert it into a multi-platform software solution. Their team members are skilled, agile and attached to their work, all of which paid dividends as our software grew in complexity.
COO at Regenerative Medicine LLC (United States)
Having worked with Belitsoft as a service provider, I must say that I'm very pleased with the company's policy. Belitsoft guarantees first-class service through efficient management, great expertise, and a systematic approach to business.. I would strongly recommend Belitsoft's services to anyone wanting to get the right IT products in the right place at the right time.
CEO at Moblers (Israel)