Skip to content
What it takes to build real-time voice and video infrastructure

In this series, WebRTC expert Tsahi Levent-Levi of provides an overview of the essential parts of a real-time voice and video infrastructure—from network to software updates. Check out his informative videos and read how Agora’s platform solves the challenges so you can focus on your innovation.

7.3 New Devices

Watch time:
Category: Chapter 7: Maintenance

Take a deeper look at the challenges of developing RTE apps for devices that are rapidly evolving and widely varied in capability.


One of the things that we need to deal with in our maintenance work is what to do with new devices coming out to market. Here’s what we’re going to do in this lesson, we’re going to understand the device dynamics in review focus areas that we should have in our our approach to these new devices. 

Read the full transcript

Now here’s something in this is going to be a shocker. If you look at how many devices are out there today, there are 3.5 billion or over 3.5 billion mobile devices. This doesn’t include desktop, desktop, and laptops, only mobile devices. The span of time that such a device lives until a person switches to a new device is two to five years. That’s the lifespan. So if you think about it, every five years, somewhere between three to 6 billion devices are going to be purchased and used by end users. Three to 6 billion devicesin that time span. So, what’s exactly is going to be different when we’re starting to see new devices coming out to market, what’s going to be the change?  

So first of all, we still have two mobile operating systems and three native operating systems willing to handle them. We’ve got iOS and Android, and then we’ve got Windows, Linux, and Mac. For each one of these, there are going to be different operating system vendors versions. New devices are going to come with new operating systems, or with new versions of the operating systems, all devices will either be upgraded to the new versions, or they will not see will see all devices in your deployment or within the users that you have, that you need to be able to connect to and interact with.  

Then there are different device manufacturers, each one of them with his own own type of devices, and we felt and seeing things that he is going to do. You’re going to need to deal with different chipsets from different chipset vendors that have different hardware acceleration. We’re going to see different screen resolutions. Today, seeing 10 ATP resolutions or 4k resolutions on different displays is quite common. But again, you need to deal with lower resolutions as well. Then there are the cameras and microphones and speakers, all of these peripherals are changing over time. We can expect expect now to see improvements, especially in cameras and microphones and our Bluetooth devices that need we need to deal with. Again, different types of devices coming out to market, on top of the mobile phones themselves.  

There is this thing that Alex Russell coined in frequently noted blog that he’s running that is called the mobile performance inequality gap. In here, what you see is the performance of different devices that come out to market and he sees it the major age range or low range devices today that are launched into in 2020. Let’s say the Moto E or the galaxy, a 51 have the capabilities or the performance of something like an iPhone six. So, if someone purchases a new device, it doesn’t really mean that he has the latest and greatest in terms of performance, it might still mean that is four to six generations almost behind the current greatest and latest. Okay, so bear that in mind.  

This begs the question, then, where should our focus really be? Should it be on laptops and desktop? Should it be to make sure that performance is fine and then again, deal with a different performance variable that come from these different devices. Should we focus on high end smartphones? Should we cater for the low end or old smartphones out there, because these are going to have very different performance variables than that of the high-end smartphones, especially for something like doing a group video call in an RTE platforms? Now you can focus on all of them. But that would requires more time and energy on your part because each one of them has its own treatment that you need to give him. 

 So here are the things that we’re going to decide when we go and say these are the types of devices that we work on. Which video codecs are we going to use. Some of them have offer hardware acceleration, others don’t. Some of them are new in giving you better performance or better compression in quality, but at the cost of fire CPU use. Then what screen layout are you going to use on each of these device types? Small screens don’t work like large screens, you’re not going to put 50 participants on the screen on a smartphone for example. 

When and where are you going to use which optimization technique? There are many different optimization techniques that you can employ, especially if you use a SFU, the selective-forwarding unit media server, which routes media round. These optimization techniques can be used in different scenarios in front of different devices within the same session. So which ones are you going to use? How are you going to manage mix sessions where some devices are high end and some are low, and how do you give everyone the best possible experience on their specific device. 

 So, to summarize, the future is here, we have new devices, but so is our past. All devices and even new devices that have less performance that we would like them to have. As you’re going to grow your surface, you’re going to need to cater to more device types. So, if today, for example, you’re focused on high-end devices, you will need to start adding the low-end devices as you move forward in more and more users are going to join your service. So, bear that in mind and plan accordingly. Thank you.