The customer chose to protect their confidential information
Andersen was contracted by a US-based university as a dependable developer of the best examples of eLearning platforms. This higher education establishment offers a wide range of educational programs at various levels: undergraduate, postgraduate, and professional courses for students from all over the globe. The institution has over 10,000 employees and takes pride in having over 58,000 students. Most of them – around 70% – are located in the US.
As a well-known university established in the 18th century, the customer needed to swiftly and cost-effectively adapt to new challenges resulting from the pandemic. The situation with COVID-19 made all educational institutions revisit and reassess the way they delivered learning. Due to strict lockdowns, many people were forced to stay home and practice social distancing. Thus, the customer had to find a new way to fulfil its missions. The solutions available on the market didn’t meet the customer’s requirements in terms of reliability – all of them could be easily overwhelmed due to a high load or poor Internet connection. This fact mandated the need for a brand-new, custom-built, and fully dependable eLearning video platform with advanced conferencing capabilities.
Mobile:
Kotlin
Database:
PostgreSQL
DevOps:
GitLab CI, Docker, Kubernetes
The customer’s business was under COVID-19 pressure. The forced pandemic restrictions made in-person learning almost impossible, entailing lost opportunities and reduced profits by 7.53% for the university. This happened because the education process wasn't digitalized at the required level, with all the needed features in place. The institution also lacked the ability to share content and communicate with a wider audience around the world by using popular up-to-date technologies, namely, an eLearning video platform.
Opportunities
The customer's intention was to enhance student loyalty in the region and expand to other regions by developing a web-based eLearning platform powered by WebRTC (Web Real-Time Communications) technology. This technology was supposed to complement existing educational programs and techniques, offering an opportunity to totally digitalize them in the future.
The platform was expected to provide high-quality real-time communications services, giving users easy access to media content (streaming, screen sharing, interactive whiteboards, an inclusive+ version, etc.) on all types of devices (web/mobile). For our customer's business, this meant the capability to distribute their content online without gathering many people in one space and hence without exposing them to COVID-19. The university was determined to comply with all applicable norms, provide educational services of high quality, and distribute new digitized business offerings to the regions of Europe and Asia. This, in turn, meant getting a larger share of the educational market without being tied to a specific offline location.
And that is why, due to the terms of use of some platforms in the international market and the lack of the necessary functionality in existing platforms (such as Skype, Slack, Microsoft Teams, Zoom, Discord, etc.), the university decided to create its own platform that would meet all its requirements.
Goals
The university wanted to restore student loyalty and confidence, increase the business's profitability, and become a leader among educational service providers by obtaining its own web-based eLearning platform. The resulting solution was expected to cover most needs of the educators and students and cope with a large user load level. The main business requirements set by the customer were:
Apart from that, user interviews and market research conducted by our Business Analysts during the Discovery phase identified some extra major user requirements:
Ongoing market trends
The market of WebRTC solutions is growing worldwide. Due to a forced need that started in 2020, organizations are actively engineering their own solutions for comfortable user communication via audio and video conferences. Existing solutions do not always and do not fully cover the needs of a particular business; moreover, they can't be further customized or improved. On top of that, the education sector in the US has always been in demand, which allows various institutions to accumulate sufficient resources to invest in the production of their own educational solutions and compete with professional educational platforms (e.g., Udemy Business, LinkedIn Learning, Moodle, etc.). And the crucial advantage, in this context, is that each institution can tailor the learning process to make it as close to the real (offline) educational experience they provide as possible.
Architecture overview
In order to satisfy the customer's requirements for eLearning processes, our team needed to propose an effective, scalable, and robust architecture that would make it possible to provide communication services on various web and mobile platforms with different network configurations. The use of WebRTC technology enabled the introduction of enterprise-grade and proven architecture solutions.
In general, the server-side solution consists of four primary components:
The following types of platforms are supported on the client side:
Application servers
Application servers are primary app and website hosting servers that contain custom functionality entirely built around WebRTC technology.
Signaling servers
A WebRTC signaling server is a server that manages the connections between client devices. It doesn't transmit the media traffic itself but focuses on signaling. This includes enabling one user to find another in the network, establishing the connection itself, resetting the connection, if needed, and closing it down.
All peers send notifications to the server they are connected to, and the server forwards them. These notification requests can be executed over WebSockets or HTTP protocols, such as REST for sending and long polling for receiving. Both need extra effort to receive notification messages – WebSocket needs to be open and running and cannot be used on demand; long polling, in turn, needs to make multiple HTTP requests over time, which consumes bandwidth.
STUN/TURN servers
WebRTC peer communication can work in three different ways, depending on a peer's network configuration:
In this case, they can communicate directly without the involvement of any external systems.
In this case, our solution uses a protocol called STUN (Session Traversal Utilities for NAT) that allows clients to discover their public IP address and the type of NAT they are behind. This information is used to establish a media connection. In most cases, a STUN server is only used during the connection setup, and once this session is established, media will flow directly between the peer and the Video Gateway (WebRTC).
There are very restrictive corporate networks (e.g., UDP traffic forbidden, only 443 TCP allowed, etc.) where, due to security reasons, all non-standard communication ways are blocked by corporate policies and standards. This requires clients to use a TURN (Traversal Using Relays around NAT) server to relay traffic. In this case, there is no direct communication between peers – all the traffic goes via the TURN server.
The Interactive Connectivity Establishment (ICE) protocol enables devices to identify which network option is currently in place, communicate its public IP, and connect to other devices.
WebRTC media servers
A WebRTC media server is a type of so-called multimedia middleware (located between the communicating peers), through which media traffic passes as it travels from source to destination. Media servers can:
Client channels
Nowadays, WebRTC is fully supported in all up-to-date browsers and app platforms. This allows our app to seamlessly run in all modern browsers – Chrome, Firefox, and Microsoft Edge – with no need to install any extra software.
A special app for Windows is also available. It was crafted via Electron – a framework that provides a means to build cross-platform desktop apps using JavaScript and other web technologies. This approach makes it possible to reuse 90% of the code base for both Windows and web apps, as well as greatly simplifies Windows app development. A similar approach with Electron for Windows apps was applied by multiple big vendors in the domain of web communications – such as Skype, Microsoft Teams, Slack, WhatsApp, etc. – and became the de facto standard approach. On top of shared functions, Windows apps reveal extra possibilities – e.g., downloading materials offline, which is impossible in browsers.
In today's market, cross-platform capabilities are crucial, so our platform offers both Android and iOS mobile apps.
The contemporary communications software market is extremely competitive and has multiple types of apps:
Unfortunately, the existing solutions are not fully adjusted for eLearning and have to be used together with other commercial products so that tutors can deliver effective learning experiences.
Audio and video conferencing with multiple participants
This key functionality is designed to allow tutors to give lectures to multiple students simultaneously. Both tutors and students can use any possible channel, but Microsoft App is recommended for tutors because it simplifies screen sharing flows and has some extra functionalities.
It is also possible to write in the chat in real-time to avoid distracting tutors with questions as they speak.
Noise suppression
It is not always possible to eliminate background noise, both for tutors and students. In order to tackle this issue, a number of noise suppression software solutions exist. Since keeping the lecturer's voice clear and comprehensible is crucial for the learning process, it was agreed to take one of the best vendor solutions that is already successfully used by various communications and streaming platforms and integrate it with our app.
Session recording
All sessions are recorded and stored in the cloud. Students can access recordings of their courses online at any time. Access to existing sessions is important to help students learn at their own pace and be able to revise complicated materials. Tutors can review such recordings and mark time codes to simplify navigation and add comments.
Screen sharing
The solution supports screen sharing for both tutors and students. In order to guarantee the best learning experience, multiple people can share their screens simultaneously - this allows a tutor to quickly help several students at once while continuing to share their own screen.
Whiteboards
An online whiteboard is an interactive tool that enables tutors and students to collaborate remotely and in real-time via writing notes, drawing figures, and attaching images. Such whiteboards imitate physical ones and are widely used in virtual classrooms.
Just like a real-life whiteboard, an interactive whiteboard is an excellent tool to:
Whiteboards on our platform additionally support displaying mathematical formulas in TeX notation, which is essential for technical classes.
Tutors can prepare such boards for their courses in advance and switch between them easily during the class. This greatly speeds up the eLearning process and keeps students focused all the time.
Automatic subtitles
The system supports the automatic creation of subtitles from speech in near real-time. This is vital for students with hearing impairments, allowing them to keep up with the course content like the rest of the group.
Currently, there are multiple vendors in the market offering Cloud APIs with voice recognition and caption generation. Since developing such functionality from scratch is very time-consuming, we agreed to select one of such platforms as a partner vendor and develop integration with their APIs.
Tests
The system contains an internal engine to build simple, multiple-choice, or more complicated tests. Some courses require passing the test with flying colors to access the next chapter. Depending on the test type, it will be either graded automatically or manually by a tutor. During manual grading, it is possible to add extra notes to make sure the student understands the grading logic. Tutors can always access the test results of their students, and they can also help those struggling with some questions.
In the case of stricter tests for certifications, the system can monitor students' activities and automatically invalidate the test if they try to access the Internet or minimize the screen, thus preventing cheating.
After finishing a course or a set of courses, the system automatically generates a completion certificate.
Gamification
As one of the best available eLearning platform examples, the solution is expected to keep students engaged in the learning process. Adding some gamification and competition elements to it has increased student interaction on the platform:
Notes and comments
Students can write notes related to course content, which are then saved on the server and available to view at any moment. Notes can be either private or visible to the tutor – this way, it is possible to ask questions and interact with the tutor even after the actual meeting has ended. Notes can also be linked to a recording's time codes in case some specific moments require additional explanations.
The eLearning video platform has been successfully designed and developed by Andersen's architects and development team. It is currently in the beta testing phase.
While crafting the custom eLearning solution for WebRTC, Andersen's experts introduced a range of useful and popular features. This has significantly enhanced the learning process for both tutors and students. Our solution not only provides a standard way for one-to-one and one-to-many communication but also adds great value to learning.
According to analytic reports and surveys conducted among both tutors and students, our eLearning platform for students has enabled higher engagement. Students spend more time on our platform taking tests, writing comments, and reviewing other content. This has improved their overall performance and satisfaction with the learning process in general. Tutors can now better prepare for their lessons and use more media options to make lectures more interactive and engaging.
What happens next?
An expert contacts you after having analyzed your requirements;
If needed, we sign an NDA to ensure the highest privacy level;
We submit a comprehensive project proposal with estimates, timelines, CVs, etc.
Customers who trust us