If you are providing content online, you need to know the terminology tech people use and understand why some things are important. Low latency is vital to a good user experience, but not many people know what latency is or why you want it to be low.
What is Latency?
Latency essentially means delay. In simple terms, latency is the amount of time it takes a data packet to travel from one point to another.
Any data you send is split up into packets which are then reassembled at the other end. Network latency is generally measured by sending test packets and measuring how long they take to get to their destination. This is how internet speed testing sites work.
High latency, therefore, means that data is taking a long time to get to its destination, and low latency is the reverse. You want to keep latency as low as possible in order to provide your customers with the best experience.
An old fashioned term for latency is “ping time.” This refers to the fact that on older systems, developers would test latency using a ping command that sent test packets and measured the round trip time taken. Extreme latency is sometimes called “lag,” especially in online gaming. Service providers work hard to keep latency to a minimum.
What Causes High Latency?
A variety of factors contribute to high latency. These include:
Geographical distance. Data can only move at the speed of light through fiberoptic cables, and it often does not follow a direct route. A small amount of latency is inevitable, for example, if you are in New York and are visiting a website in Los Angeles.
Means of transmission. The way either the user or the server are connected to the main backbone of the internet can introduce latency. Network performance is higher with cable than with satellite. Satellite inherently creates latency because of the extra distance the signal is being propagated over, but is often the only option for people in rural areas.
Wi-fi signal strength. A poor signal can cause latency, as can the use of repeaters. One easy way to reduce latency, when possible, is to switch your device to an ethernet cable.
Propagation delays, caused when data has to be checked en route. The throughput of data through a router, whether locally or further out on the net, can be slowed by routine data checking.
Packet loss. Packet loss happens when a connection issue causes individual packets not to actually reach their destination. In this case, the device has to send another message to retrieve the lost packets. In some cases, packet loss can cause pixelation or visual noise on live video. This is often seen during sporting events where the stream may be being sent via satellite to a distant location.
Hardware issues. This can be everything from a problem with the user’s router to a major internet backbone cable failing. When a major cable fails, data has to be directed through a longer route.
Insufficient bandwidth for the amount of data being propagated. This can cause latency at times of particularly high demand, such as in the evenings or during live events. In extreme cases, this can cause a service to become inaccessible.
High latency causes problems for video conferencing, live streaming, and online gaming.
How does High Latency Affect Video Streaming and Video Conferencing?
When streaming a video, one of two things happen. Either the entire video has to be downloaded before you can play it or, more commonly, it will start playing once it has downloaded “enough” of the video.
For sites which download the entire video, high latency means you have to wait longer to hit play, while lower latency speeds up the process.
However, it’s more common to download part of the video, play it, and then continue downloading the rest in the background.
What this causes is called “buffering.” The video will become jittery or briefly stop playing because it is not able to download the video “in time.” If you have been watching a YouTube video and the sound gets stuttery for no reason, this is often caused by buffering. A visual or audio jitter, of course, ruins the user experience.
Buffering can also be caused by streaming video onto a slow device or one with limited memory.
Video conferencing can also be affected by buffering, especially as the video is being streamed in real time.
How Can You Reduce Latency?
Keeping latency low is vital to provide a good user experience and keep people coming back to your site. While some things which cause high latency are beyond your control, others can be mitigated by making the right choices. These include:
Provide as much bandwidth out from your server as you can afford. The more bandwidth, the more users can stream at once before the system starts to noticably slow down.
Work with a CDN. They can put your content in data centers that are closer to the user. The system will automatically direct the user to the closest site to stream the video, reducing latency caused by geographic distance. This works well for on-demand video. Another alternative is to use a video cloud platform with data centers close to your audience.
Encode your videos properly. Encoding a video reduces the file size substantially. Make sure that you upload the right format in the first place, and make sure to think about the tradeoffs between latency and quality. A movie needs higher quality than a live stream of a talk.
Choose the right video transport protocol. There are a variety of transport protocols that can be used, some of which are open-source.
Educate your users on ways to reduce latency, such as closing unneeded applications and using a hardwired connection when possible. If streaming to employees, it is easy to establish protocols to improve latency for both streaming and conferencing.
Latency is a significant problem for live streaming and conferencing, as well as when providing pre-recorded content on demand. Anyone who provides video content should take steps to reduce latency, which often means using a cloud provider to place content closer to the end user and avoid the lag caused by geographical distance. Low-latency video provides the best viewing experience, especially for conferencing and interactive video applications.