Education has been one of the areas most affected by the coronavirus. This has greatly increased the need for a good virtual education platform. Services such as Zoom have filled the immediate need but, as we covered in a previous post, Zoom is not the best solution for educators and students. Further at issue is the fact that Zoom was designed as a general-purpose conferencing tool which means it doesn’t have all the necessary features for distance learning video conferencing.
The issue at hand is determining how to build a better platform for interactive video distance learning. Beyond basic video calling, virtual classrooms have specific needs. So what specific features are needed? Teachers have hard enough jobs already so we should support them as best as possible.
Here’s our list of 9 essential features for distance learning video conferencing apps.
Ensuring a smooth conversation is one of the most, if not the most, important part of a video call. As such, the amount of time it takes for the video to travel from the broadcaster to the subscriber (otherwise known as latency) is a major concern. Even the smallest of delays will disrupt the natural flow of conversation.
Throughout a lecture or lesson, students may need to interject to ask a clarifying question. That will be difficult if it takes seconds for the student to hear what the teacher said and conversely for the teacher to then hear what the student said.
Most streaming platforms use HTTP based protocols such as HLS. Those protocols will introduce many seconds of latency into live streams, and should be avoided due to the fact that video distance learning requires interactivity. Without a proper communication flow, the education experience will be negatively affected.
A real-time latency of under 500ms is the only way to provide true interactivity. That speed will ensure proper synchronization between what is actually happening in real-time and what is seen and heard on the video call. Typing a response in a chat or asking a question will be aligned correctly to what is happening on the screen. This will minimize any confused backtracking that the teacher would have to make.
Education itself should be accessible to all people. Accordingly, distance learning platforms need to feature wide availability as well. More specifically, this means that users should be able to log in from whatever device they are using whether it’s a laptop, tablet, or mobile device.
The most effective platforms will work without adding any extra steps such as configuring a native app (like with Zoom) or downloading a plugin. Although setting up an app may not sound like a particularly difficult problem, it can be an issue as the app will need to be configured according to the user’s operating system and specific device setup. This extra level of complexity can be a barrier to entry. Not to mention it could create compatibility issues with different operating systems and configurations.
Running an application directly in the browser through a web app is a much better approach. The maintenance required for keeping a webapp up to date is much easier for your development team since updating simply involves deploying new code to your website. This is a much more straightforward process. A web app is also more convenient since the client-side implementation is handled by the browsers so that is one less thing to worry about.
However, some browser-based web apps still require the user to download a plugin; an additional step that could cause issues such as conflicting with other plugins. A plugin-free webapp is the easiest and best functioning solution. Plus browser plugins (the most well-known being Flash) are being phased out by all modern browsers.
WebRTC is a real-time latency solution that works directly in the browser. Built according to web standards, WebRTC uses a simple API to connect to the browser. This allows it to work more efficiently and deliver low latency of under 500ms. This low latency and ease of use mean that solutions supporting WebRTC will be the best choice for distance learning video conferencing apps.
Keeping students engaged (or at the very least paying attention) can be challenging enough when teachers are physically present in the classroom. Taking that class and moving it online creates the potential to make that problem even worse.
This issue can be solved by configuring a method that tracks if a student is still in attendance and viewing what the teacher is presenting. An AI monitoring system could be integrated into the stream to check and see if the student is staying in front of their computer rather than just connecting to the live stream then turning around to watch TV.
Flexibility is essential for the software that drives your streaming platform. Extending your application to add features such as machine learning algorithms will differentiate you from the competition.
That leads us to the next point.
Monitoring the stream is just one of the features needed for a useful distance learning application. Education platforms may need certain features to comply with regulations put in place by government officials. Those regulations can be changed as well so it is important to have a fully customizable solution. Some desired or required features include:
- Screen Sharing
- VoIP integration
- Visual and audio effects
- Integration with other software e.g. web browsers and search engines, social media sites like Facebook and Twitter, Google Docs among others.
Unique challenges presented by specific types of educational platforms will need custom features as well. For example, music teaching apps need to use high fidelity audio so the teacher can properly hear the nuances of the student’s tone. It is essential to have the flexibility to create the custom features necessary to make your application effective.
Prebuilt platforms such as Zoom are attractive due to the ease of use. Such as the fact that they are fully hosted. Not having to worry about and maintain your own server infrastructure is a rational reason to use them. However there are major shortcomings that could be complete roadblocks to using them.
Back-end configurations claiming that they will accommodate each and every use case might not actually work for everything. If the live streaming application you are using restricts data flow, or changes something about their pricing, that can negatively affect your application. The ability to retain full control over your application is very important to ensure that you are not locked in a service trap. The ability to host to any platform, avoids this issue.
Sensitive information shared over a video call (like in a parent-teacher conference) will likely create restrictions about where that data can be stored or how it can be sent. Though a hosted solution may claim they never have access to your data, the fact is that information will be routed through their servers. Even if it isn’t stored on those servers the process of traveling through them could potentially expose the data to a third party.
However, there are occasions where a fully hosted solution will be a good fit. For instance, early stage testing with limited participants or a small proof of concept/MVP (minimal viable product) would benefit greatly from the convenience of fully hosted solutions. However, moving forward to later stages, will likely result ion the need to change your core technology stack.
Authentication and Security
Security is also very important as there is a concern that uninvited people could crash your live stream or leak sensitive information. In the early months of covid there were widespread reports of unwanted participants joining calls like a Norwegian school who had a naked man hack into their stream. Security issues led to some schools outright banning Zoom.
Providing an extra level of security, a self-hosted solution can be set up to give you control regarding the exact parameters under which the streams are created. Features such as user authentication and stream encryption guard against unwanted intruders. Not only does WebRTC provide real-time latency, it also has security built right into the spec forcing all streams that use the protocol to be encrypted. This is another reason WebRTC is often a really good fit for interactive distance learning apps. The ability to immediately fix any security gaps that arise presents a much bigger advantage over waiting on someone else’s tech team to fix the problem for you.
As mentioned before, students will be accessing your application using a variety of devices. Laptops, tablets, and smartphones are all devices that need to be supported. Teachers need the same flexibility in supporting a variety of devices they can publishes from as well. Accordingly, webapps or mobile must be developed to optimize access across all those devices. This includes failover support for older devices that may not support the latest updates.
Ensuring cross-device compatibility involves the use of modern, web-standard protocols such as WebRTC. With support in Safari, Firefox, Chrome, Edge and Opera, WebRTC works in all the major browsers. More importantly, a webapp that uses WebRTC will work in both mobile and desktop browsers.
Some schools, especially colleges and universities, may have students streaming from different places. Thus global access is important as well so that students can participate from wherever they live. video distance learning application should have the same performance regardless of where the student is in order to ensure that they do not get left behind by a slow connection.
Server side infrastructure should scale and support multiple regions for the best streaming experience. This means that a connection limit should not be imposed by limited software support. Single cloud and cross cloud deployments are a critical feature for a successful interactive video distance learning application. Red5 Pro’s cloud-based auto scaling architecture which spins up new servers to meet increased demands is one good example of such a setup.
Furthermore, maintaining a truly interactive experience means ensuring the same performance no matter where the student is and how good their connection speed is.
Features such as transcoding and ABR will make sure that the subscribing student is always getting the best quality regardless of (or more accurately in proportion to) their connection speed. Transcoding will split the stream into multiple stream qualities while ABR will automatically adjust the clients bitrate in order to provide the smoothest streaming experience. Poor connectivity should not cause students to fall behind because they can’t follow what is going on.
Considering that teachers often provide visual aids to best convey what they are teaching, ensuring that students are able to receive the best image quality possible is important. As mentioned earlier, a feature like screen sharing is useful for displaying slides, charts or demonstrations, but sometimes concepts need to be drawn out in live action.
There are a variety of learning styles: experiential, auditory and visual. Given that the human brain responds best to visual content, it’s a fair assumption that visual learners make up a very large percentage- though the actual scientific percentage is up for debate.
Thus a full range of resolution sizes should be supported by your app to be truly effective.
That being said, it would be a problem if you always had to cater to the worst connection speed. Again this is where transcoding and ABR come into play. Transcoding, especially, allows each student to get the highest resolution possible rather than downgrading the entire stream if other students won’t support higher resolutions such as 1080p. Just as poor connectivity shouldn’t be punished, we should allow those with good connectivity to make the most of it.
Visual information aside, we certainly can’t ignore auditory information. What the teacher is saying helps students follow along with what they are presenting. Accordingly, if frames are dropped due to bandwidth issues, WebRTC will prioritize sending through the audio frames while dropping the video frames. By doing that, the video will keep in-sync with what is being said since missing words, or even entire sentences, is usually more confusing then missing a gesture.
Dropping the video frames also means that missed frames will not queue up for resending which would cause high latency. This approach is different from HTTP based protocols such as HLS and CMAF.
With all that is happening in the world right now, maintaining as much of everyday life as we can is important. Educating students is not just a part of normal life, but an essential part of a functioning society.
Making sure that those students learn as much as they can goes side-by-side with making sure that the teaching platforms used by teachers are functional and user friendly. A platform that works well for all parties involved teachers, students, and even administrators, is essential.
If you are interested in creating a better educational platform we’d love to help you build it. Message firstname.lastname@example.org or schedule a call.