The technology we utilize has created a global community where physical location and distance are no longer barriers. Real-time communication is vital to that fast-paced, ever-changing, and increasingly digital world.
In addition to rapidly changing technology, global events have transformed the economy over the last few years. Of the many challenges businesses have faced, one thing that hasn’t changed is the need for face-to-face communication. Enabling smooth, real-time communication is critical. Failure to deliver this key aspect not only causes user frustration, but ultimately results in revenue loss.
To remain competitive, it’s essential that developers have a thorough understanding of the factors that affect efficient communication. Enter the latency vs. jitter debate.
Two of the biggest causes of interruption in real-time communications are latency and jitter in your network. Jitter vs. latency is a vital distinction to understand because, although there are some similarities between the two (both have a negative impact on network performance, for example), they are entirely different phenomena.
For your applications to operate smoothly, you’ll need to ensure both jitter and latency are minimized. Understanding the difference between jitter and latency is fundamental to finding the right solutions. In this article, we’ll help you understand what causes jitter vs. latency, how to identify and monitor both, and outline strategies to reduce them so you can optimize real-time communications.
Latency refers to the delays that occur within a network. More specifically, it is the time taken for data to travel from one endpoint to another. Latency is measured in milliseconds and, in most cases, is calculated as a round trip. To give the example of a webpage, latency is the time it takes between clicking on a URL for the page to load in the browser. A high round-trip time indicates that the network is not performing optimally.
Zero latency is ideal, but this is not practically possible. In theory, internet transmissions can travel at the speed of light. However, a small delay is a natural byproduct of the transmission process. So what is an acceptable degree of latency? According to Cisco, a delay of 300ms or less is sufficient for smooth communication.
To properly understand jitter, it helps to first consider how data is transmitted across a network. Information is broken down into packets and sent to the receiver at evenly-spaced intervals. Upon arrival at their destination, the packets are reassembled. In smooth communication, data packets flow consistently and arrive at their destination in the correct order. However, data packets sometimes arrive late or out of order due to network congestion or occasional rerouting. The variation in this latency or delay of the transmission is referred to as jitter. Like latency, jitter is also measured in milliseconds. High jitter denotes a significant variation in latency, whereas low jitter represents only minor changes.
A uniform delay does not affect audio or video application, but variations in the delay can be disastrous for VoIP and other services. A jitter of 30ms or less is generally regarded as acceptable, but anything above this will affect user experience.
As we’ve discussed, latency is the delay in transferring data to a given network destination, and jitter is the variation within that delay. However, although many developers think in terms of jitter vs. latency, it’s not necessarily an either/or situation. The two are more interrelated than that because packets jitter can cause delay, aka latency. To minimize both, we must understand the effects and causes, and learn how to test and monitor latency and jitter.
High levels of latency or jitter can be a significant barrier to communication performance, especially real-time video and voice engagement. But how do the two manifest themselves in the real-time communication experience?
We can all agree that nothing is more irritating for users than experiencing stuttering calls, robotic feedback, buffering delays, or dropped connections. This is exactly what happens when a network experiences high jitter. Latency can be equally frustrating, causing laggy calls, echo, and overlapping conversations. Put more simply, voice delay is caused by latency, and call quality is impacted by jitter.
Poor communication aside, timeouts on networks with high latency and jitter can have devastating effects for businesses when conversations are time-sensitive. Controlling the effects is therefore vital in optimizing organizational efficiency and productivity. But, how do you know which one is the root cause of your issues? Let’s consider the options for testing and monitoring your network.
Your first step in minimizing either disruption is distinguishing between latency vs. jitter as the source of the issue.
Latency is often described in terms of “ping time,” with a high ping time indicating a high degree of latency. Ping tests are the simplest way to determine the latency in your network, and are especially helpful if your network includes home users. However, businesses with large and extended networks may wish to take a more comprehensive approach. More on that in the next section, but for now, let’s look at how to measure latency with a simple command prompt:
When you stop the test, you will be presented with minimum, maximum, and average round trip times in milliseconds and a summary of packet loss.
Here is an example output:
PING google.com (172.217.164.196): 56 data bytes
64 bytes from 172.217.164.196: icmp_seq=0 ttl=54 time=17.8 ms
64 bytes from 172.217.164.196: icmp_seq=1 ttl=54 time=17.2 ms
64 bytes from 172.217.164.196: icmp_seq=2 ttl=54 time=17.3 ms
— google.com ping statistics — 3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 17.2/17.5/17.8/0.2 ms
At first glance, it may not be obvious how a ping test can help to determine network jitter. After all, there’s no direct way to measure jitter vs. ping. However, that doesn’t mean a ping test is entirely unhelpful. You can still identify and derive ping vs. jitter by calculating the average difference in values between each consecutive ping test. This value, in milliseconds, is a measure of jitter. In other words, jitter can be considered the rate at which ping spikes or stutters over time.
Another popular option is to use an online speed test such as TestMy.net, which will display your jitter and latency scores without you having to run your own ping tests.
However, it’s essential to note that tools like this only give a general overview of your jitter score and do not measure the latency and jitter for an entire server.
While the tests listed above are a good starting point, they are not without drawbacks. Nor are they a long-term solution for developers. For an accurate picture over an extended period, tests must be continuously repeated so you can track trends and changes. Plus, ping tests are generally considered a reactive approach, and therefore impractical in competitive and time-sensitive business environments. For those looking for a more efficient solution, developers may wish to utilize a more proactive network monitoring system.
There are several options. Products such as the Paessler PRTG Network Monitor contain multiple sensors that can be customized to monitor vast numbers of different network conditions. Monitoring tools like this can be set up to send automatic alerts whenever minimum thresholds are exceeded. They can also save historical data to help you fully understand the health of your network.
Whichever strategies and software you use to test and monitor for jitter and latency in your network, the next step is to determine the causes and eliminate or minimize them. However, as we know, the topic of latency vs. jitter is far from simple. So, if you are looking for an all-round solution that can take the headache and effort out of maintaining a top-quality network to support smooth real-time communication, you will likely benefit from exploring other technologies. For example, Agora Video Chat SDK provides a clear and more seamless experience, without you having to lift a finger or worry about the accuracy of complex testing procedures yourself.
There are several causes of latency and jitter. Some affect only one aspect, while others contribute to both elements. So, before you can take steps to tackle any of them, you must first develop a firm understanding of the factors that contribute to latency, jitter, and both.
While all of these factors are worth consideration, it’s also worth noting that the main culprit in underperformance could be the software itself. That’s why it’s essential to choose a reputable platform for real-time communication that uses the most innovative technologies and tools to avoid and resolve problems derived from latency and jitter.
It’s impossible to eliminate every source of disruption. However, there are several strategies to employ to minimize latency and jitter.
The following strategies can help users reduce latency and jitter simultaneously for improved network performance:
Tactics to reduce network latency, focus on reducing how long data packets spend in transit.
The best solution to fix jitter will likely be determined by the specific issue, but the following are good starting points.
The above strategies can improve latency and jitter issues. However, for developers who want to optimize their websites for real-time voice and video engagement (RTE) of the highest quality, Agora is the solution. Our goal is to empower developers to create better UX designs that elevate user experience by utilizing innovative technology and software that embodies the future of seamless real-time communication.
Because Agora’s global network enables low latency voice and video communication, it reduces jitter. Developers can rely on our platform to reduce latency so that the overall user experience is a smooth one.