29th July 2022

Web Real Time Communications (WebRTC) is transforming the way we communicate online. Fuelled, in part, by the remote communication needs of the Covid-19 pandemic, use of WebRTC solutions have grown significantly in the last few years.
Enterprises are increasingly finding new ways to use the technology to help them provide the best customer service, as well as improved internal communications.
But, as usage expands and grows, so does the importance of testing and monitoring WebRTC infrastructure to manage performance.
First, a brief recap of the power of WebRTC. WebRTC is an open source project that gives developers the tools to embed live communications streams like voice, video and chat directly into any web page, with relative ease.
In the past, this communication would have to be relayed through another intermediary service – such as Skype – with data first passing through their server.
Alternative methods that allowed for developers to build direct channels of communication involved complicated, time-consuming coding using C/C++ language.
WebRTC provides developers with application programming interfaces (APIs) using Javascript, which allows for much more straightforward and speedier development.
This is being used for anything from embedding live chat/video or voice calling into websites for customer service, to enabling easier file-sharing within businesses, to opening up access to telemedicine.
And, of course, as an open source project, WebRTC is constantly evolving and improving, with new use cases being found every day.
But, now that you’ve designed your brilliant new WebRTC service, what’s next?
WebRTC testing is the crucial next step to simulate real users’ use of your service from anywhere around the world. As streamlined as the technology may make the development process, it can never be perfect first time, and testing and debugging at scale is always challenging.
In addition to the potential flaws and bugs that would occur in any new application or tool, some of the particular issues that can arise in WebRTC include:
So far, so straightforward, you might say. Testing during the development of a tool is a given (although it is useful to be able to access a readymade WebRTC testing tool that can automate all this for you).
What comes next? Once your tool is live, how do you ensure optimum performance, track the aspects of the service that are most used, and troubleshoot issues that come up?
Once your tool is live, you still need regular WebRTC testing to test new features, troubleshoot and more. But, the really interesting part of an application being used by real people is all that real-use data. Ongoing passive WebRTC monitoring is a way to continually monitor the real-world use of your WebRTC tool, uncovering the true experience of real users. This is beneficial for several reasons:
When a developer starts to investigate a bug, they typically need to run tests to replicate the bug and gain data to find a fix. What if they had access to the granular detail of days’ worth of real sessions at their fingertips?
A WebRTC monitoring tool, such as WatchRTC, provides this. It allows you to drill down into individual sessions and users, including metrics like bitrate, packet loss and jitter, as well as a history of activities and calls to the API. This wealth of data allows developers to short-cut the troubleshooting process and resolve issues faster.
How real people use your tool may be very different to how you thought it would be used. The most popular features are the time spent using it, the number of people joining sessions and the quality of connections.
All of these factors have an implication on the performance of your WebRTC tool and can be used to inform future developments.
Passive WebRTC monitoring collects data across real sessions and gives you a bird’s eye view of the usage and how real people are interacting with your service.
With all of this high-level data on how your service is being used, WebRTC monitoring allows you to set thresholds and alerts on usage and quality, that will give you early warning on any issues or unusual activity.
WebRTC monitoring is used to monitor right down to a user level, without compromising privacy. Watch RTC, for instance, doesn’t record media or store private information but does allow a drill down into the precise network conditions at an individual level, giving a powerful picture of a user’s experience.
With all the above capabilities and more, you might think WebRTC monitoring is a heavy drain on your precious network resources, but with the likes of WatchRTC, that isn’t the case. It runs efficiently in the background so it doesn’t affect the efficiency of your WebRTC service.
Most importantly, by plugging into a readymade tool designed for WebRTC monitoring, you won’t need to divert precious developer resources towards designing and building your own WebRTC testing and monitoring.
If you want your developers to focus on improving your WebRTC service so that it provides a better experience for users – be they customers or staff – getting serious about both WebRTC testing and WebRTC monitoring is a no-brainer.