If you've ever watched a video or listened to a song on the internet, and who hasn't, you've probably become acquainted with buffering. Every that's asked me about buffering always associates it with not being able to play their song or video. So, understandably, buffering has gotten a pretty bad rap. But the truth of the matter is that buffering is a heck of a lot better than no buffering. So, if you're not the type that enjoys video playback that resembles rush hour traffic, stop and go, read on to learn what a buffer is and how it works.
A buffer is, in the simplest terms, a way to defer directly processing data. Think of it like a dinner plate. When you eat your meal in the evening, you probably don't grab a bite from the pot, go eat it, come back and repeat the process. You can put a good deal of food on the plate at a time and go enjoy all of it at once. A buffer allows your computer to take a bunch of data and load it to a single place. Now your computer can use that data while it's still processing other data. In the case of your videos, this means your computer can load some of the video, let you watch that part while it loads the rest. Without buffering, your video would start, get a couple of seconds in, then stop. It would repeat this cycle for the entirety of your playback. If this were the norm, Youtube would not be the top 5 internet property that it is.
The logical question is "why do we need buffering? I pay for high speed internet and my phone is always on a 4G connection. If I pay for all of this speed, why can't I just load the whole video at once?" Those are all valid thoughts. But the truth of the matter is that your video plays faster that it can be downloaded. This next part is going to involve a bit of math, not on your part, but you're welcome to play along at home. For a guide to internet speeds check out this link. We'll take my connection for the purpose of this demonstration. I have 12 Mbps download speeds, meaning I can download, at most, 1.5 MBps. On average, however, I download at about 300 KBps. A 2 hour movie from Netflix is about 1.8 GB. At my average speed, I'd need about 100 minutes to download the movie up front. I know very few people that would be willing to wait over an hour and a half to watch a movie. But with buffering, you can download the first minute or so and then let your computer download the rest as you watch the buffered part. It's like getting to eat dinner while it's cooking! As you may have been able to tell, I'm a bit hungry while I'm writing this. The numbers above are subject to change though. If I watch a movie at 4 AM, I can average about 700 KBps download, which cuts the download time by more than half.