Thursday, April 23, 2015

PlayLater - Is It Really HD Recording?

There are many ways to download media streams in this day and age, many of which are illegal or frowned upon. But I want to discuss a program that does just that - and as far I have read, legally. More importantly I want to delve into whether or not what they state as HD recordings are actually so. That program is PlayLater.


PlayLater
Mediamall is the company behind PlayLater and PlayOn. PlayOn is a media server that allows you to stream media from your PC - as well as many other devices - to your TV. This is not a new technology feat by any means, and there are several other companies that have similar software.

PlayLater is a time-shift recording program that can record in SD or HD (if opted for and purchased). It relies on the PlayOn server to stream from many different sources. It can be likened to screen capturing software, but it is different. Here are a couple of differences that make it unique:

  • While PlayLater does do live recording-like screen capturing, a screen of the actual source footage is never needed or seen.
  • PlayLater requires logins to (most) popular media streaming sites such as Hulu, Netflix, Amazon, HBO Go, YouTube, etc. Screen capturing software merely captures what is being shown regardless if it is a paid service or not.

Why Bother?
There are plenty of free screen capturing programs out there, so why not just use that? Well, I think there are a few good reasons that PlayLater can become a necessity:

The first is ease-of-use. It is simple to get running and all settings are already defaulted for you. Some screen capture software is fairly simple, but it can also be tedious in setting up. This may be more trouble than what it is worth for some.

The second is that not all media streaming sites are easily captured. Without advanced knowledge, sometimes it becomes impossible to capture streams from certain sites. And even if possible, the potential additional tasks of having to crop out certain items might be cumbersome to perform for every single recording.

The third is that this is good for travelers. In some foreign countries bandwidth can be so restrictive (or just not abundant) that buffering plagues a 20-minute video making it a 50-minute experience. Throw in a proxy or VPN and buffering becomes a complete nightmare. But with PlayLater, even with a proxy or VPN, and given just enough bandwidth, a show or movie is recorded and then playable without such hiccups.

Is It Legal?
There are many that contend that it is not, but ask for evidence from those that believe as such and they will be hard-pressed to find anything to the contrary.

In the US, there is a law that allows for time-shifting. This was created when VCR's became widely popular so that people could watch shows and movies at a later time if they had to be somewhere else when the media was shown on TV.

Today is a bit different with all the new technological methods of recording media. Because piracy is everywhere, it becomes an even bigger problem as people will not just record a show or movie and watch it, but later upload it to the web and allow others to download it.

As I have mentioned in a previous article the heart of the problem is really in TV networks losing funding and support due to ratings, which in turn affects DVD and Blu-ray creation and sales. And the sales that they do make are often diminished due to pirating of a DVD or Blu-ray.

However, PlayLater still exists, and has for some time. It has been featured in numerous popular magazines, and claims that it is perfectly legal. You have to remember that PlayLater is essentially a DVR for your computer. It does the exact same thing, however, networks cannot get ratings from it as they can with devices like a TiVo...

Downsides
There are some apparent downsides for both the end-users and the companies that provide the media streaming:

  • The quality of the recordings, albeit with large bitrates and hefty files, are decent to great depending on your PC setup. Animations seem to fare far better than live action shows or movies regardless of your hardware and bandwidth.
  • The files seem padded to me, but even if not, you will need quite a bit of hard drive or SSD storage space to have more than a few recordings on hand.
  • Because PlayLater is meant for "average" users, there are almost no settings that can be changed to squeeze out better quality and/or shrink file sizes.
  • While it is not impossible to download and pirate streams from a DVR, it is in no means an easy task. With PlayLater, the file given is one you are meant to be able to use on portable devices and TV sets. This makes it much more susceptible to piracy than more common time-shifting devices.
  • I have encountered bugs that would not allow me to login to a media streaming site, or simply disallow me from recording at all. I will discuss this further below.

So Is It HD?
To reiterate from a past article, HD is considered 720p, full HD is considered 1080p. PlayLater does only the former so anything HD is allegedly in 720p.

I first became suspicious of PlayLater recently when I wanted to grab some Sesame Street episodes for my daughter. The quality was fairly bad. Watchable, but in no way could I mistake it for HD content. I was writing in the support forums and came to find out that many users had already determined that Netflix was not actually recorded in 720p, but at a much lower resolution. The shows or movies were then reencoded to a resolution of 1280x720, which is not 720p, it is just an upscaling of a smaller resolution. This problem with Netflix has supposedly been fixed, but as I will explain later, upscaling SD content has not...

H.264 Profiles
I had entered a discussion on being able to increase bitrates, but this led me into delving into the recorded files themselves and seeing what details would shed light onto the subject. The bitrates were actually quite high from what I had expected to see. I then went online and compared the file to specifications readily available to view for that of illegal online content of seemingly far better quality. That content was using only half the bitrate of what PlayLater was using...

To preface my next paragraph, there are several H.264 profiles ranging from baseline, to main, to high. Main and high can handle HD content, and high profiles are meant for HD quality. The lower-leveled the profile the more compatibility across devices and the less CPU power needed for live recordings. The higher-leveled the profile the higher the quality of a file.

While I thought the bitrate was and is an issue for PlayLater, it was more in terms of overdoing the bitrate. In other words, I don't think you could achieve (much) higher quality files by increasing the bitrate. So there had to be another possible culprit that was hindering good 720p quality. This led me to H.264 profiles.

The real concern I noticed was the profile being used to do the recording in PlayLater was a main profile level 3.0. Content in HD should have a minimum main profile level 3.1 in order to achieve 720p at a maximum of 29.97 frames per second. However, my PlayLater recordings are done at a main profile level 3.0 at a 1280x720 resolution with 29.97 frames per second.

If you go to Wikipedia they try to explain the many aspects of these profiles in greater depth. You will see that there is no 1280x720 resolution listed for a main profile level of 3.0. Regardless, I did some basic calculations and determined that the two resolutions in common between main profile level 3.0 and 3.1 are increased almost identically by 267%. Using this number I determined that even if main profile level 3.0 could support 720p, it would have have a maximum frame rate of just over 11fps.

Standards
A simple jump from 3.0 to 3.1 seems like nothing to worry about. But these are not small jumps by any means, and the amount of extra data that can be used can vastly improve quality for these profiles. Again, that is if that profile can be used to its full extent. If you do check Wikipedia, you will see the differences between them in these terms.

While a lower-leveled profile does mean more compatibility for more older devices, this should be put into perspective with an example: The iPhone 3GS was the first iPhone to accept and display videos with a main profile of 3.1. Other apple products of that time are similar, anything before (e.g. iPhone 3G) was restricted to a main profile of 3.0. The iPhone 3GS was released in 2009, almost six years ago!

Main profile level 3.1 is the standard for bringing 720p content to devices, and it should be followed, but it doesn't have to be as we will soon learn.

CPU Power
It is true that more CPU power is needed to record at higher levels, but again, the main profile level 3.1 is not new. It has been around for a long time now and while CPU power for that profile may have been somewhat of concern years ago, today most any laptops or desktop computers easily supply the necessary CPU power to record live at a main profile level of 3.1.

To given you a simple example of how much CPU power is truly needed, I can easily achieve a main profile level of 3.1 on my computer which I have decided to currently use along with a Phenom X II 1100T. This is an unlocked AMD CPU with 6-cores. It runs at 3.3GHz and can "turbo" itself to 3.7GHz.

That sounds like an amazing CPU, so of course it can do what is needed. But, there are a couple of factors that are important not to forget: 

  • Just because it has a higher frequency than some modern CPU's, that does not mean it is faster or better, that is just a common misconception.
  • More importantly, this chip was a top-of-the-line CPU... almost 5 years ago!
  • There are newer, cheaper CPU's that can perform as well or better than the CPU I am using now. And better yet, YOU DON'T NEED THIS MUCH POWER FOR MAIN PROFILE LEVEL 3.1!

Reasoning
Now, I am sure that the settings of how PlayLater encodes could use some tweaking for higher quality HD content, but the aspect about the H.264 profile just bugged me too much. 

The only possible reason I could see a company wanting to use it is because it is used for both their SD and HD recordings, so instead of giving different profiles, they could just keep them the same. Essentially, this is just laziness of their part. But even this seems like idiotic logic because you would have to force "720p" into a main profile level 3.0, as opposed to not having to at all for level 3.1.

The argument that it requires more CPU power seems invalid, as well as the need for compatibility across devices, especially if you read what I wrote above on the subjects. And I was told that many people are just using a PC as a media center. There is no way to know if a person uses a PC as a media center or not, and why would you use something that would have to be ridiculously old in order to record HD content? 

The only other way I could see "720p" being done with a main profile of 3.0 is by upscaling. Which, again, means that it is not really 720p at all. It is just a lesser quality video enlarged to be the same resolution as 720p, but certainly not the same quality that it should or could have.

I was told it was possible to change a video file's "labels", which would just be in namesake alone. However, it seems unlikely MediaMall did this as why would they forget something as significant as a profile. Even if so, other aspects are truly as detailed, so the profile would be the only thing they would really need to change.

Evidence to the Contrary
Trying to give PlayLater the benefit of the doubt I started to do some searching for articles or posts that would suggest 720p is possible with a main profile level 3.0. I found one media streaming site that did suggest that it used a main profile level 3.0 at one time, but that it had since updated to level 3.2.

I found a couple of Chinese IP cameras that also suggested they used a main profile level 3.0, but whether they actually do or not is beyond me. Chinese specifications are not known for being accurate.

I decided to try to see if I could make a video on Premiere Pro with a resolution of 1280x720 using a main profile level 3.1. When attempted, Premiere Pro would give an error saying that the profile needed to either be increased for the resolution wanted, or that the frame rate would need to be decreased.

I tried to check the label of a PlayLater recording, and the program I was using at first could not find any. Once I changed some settings I got multiple profiles, including high and baseline. Something was definitely not right...

After some discussion with someone on the subject, they stated it should not be possible to encode at 720p while using main profile level 3.0 if following the standard constraints. However, if someone was able to force or go beyond the constraints of the profile for an encoder, then it could be possible.

The First Response
The support forum is fairly good for responses that are not time-sensitive. But people with the software have a support area in the settings to email questions, which I find has a much faster response time.

I had already asked the questions I wanted to in the forum, but I figured I would just take the direct approach. I asked two questions, the first about why main profile level 3.0 was being used, and the second asking if Amazon was like Netflix in that real 720p recordings were not taken?

The reply I got was short, but mainly sidestepped the issues at hand. To paraphrase, I was told that there would be no problems for recording HD. And this is (somewhat) correct, but this didn't really answer anything I asked.

Initially, I wanted to reply with a bunch of information, but it was a lot and some came out as too much of an attack. I instead shortened my response to just ask how the main profile level 3.0 was implemented, and if there was documentation I could read on it. I also reiterated the problem about Netflix as the support staff's reply seemed to indicate as though recordings were in HD, despite the many users who stated otherwise on their forums. I also explained that reencoding a source that is less than 720p and then upscaling was not true 720p.

A final remark made on their part was that of CPU power needed for an increase in profile level. I fought the urge to explain what I have done so in this article, if anything, I would bring up at a later time.

The only interesting point they did say was that GPU encoding was on the way. Although, there was no ETA on when it would happen, and no information on if they were taking an OpenGL, OpenCL, or dual approach. They did add that this may cause them to make some changes, but the keyword there is 'may'.

The Second Response
This response was even less helpful than the last. They admitted they had no documentation to point me to in order to help me understand how their encoder was setup. I was told I could look at the video to know if it was a 720p recording.

This was disheartening. I wanted some real answers not, "I don't know." I don't expect support staff to know everything, but to know nothing is frustrating.

I replied that all I could do to check a recording is see its resolution size and its profile, by which a resolution size doesn't mean 720p, and that the profile being used was being used improperly.

I reiterated my question on why the profile was being used, and gave a bit of information on why CPU power and compatibility were non-issues for what I was asking. I went so far as to say that if they could not give me a real answer, then I would be happy to handed off to someone in the company that had some.

Testing
At this point I realized there were really only one of two problems occurring. Either the profile really was the issue, or the encoding settings were. Of course there could be a bit of both, but to me, one or the other is the main hindrance in getting proper and satisfactory 720p recordings.

I decided to find an encoder that would allow me to bypass the constraints of a profile and enable me to perform a simple test. The test would be to take a 720p video that ran at 29.97fps, identical settings to what these "720p" recordings are from PlayLater. I would then take that sample video and use FFMpeg to manually enter parameters into a command line interface that would enable me to use the same settings and bitrate, with only the profile changed.

The first step to achieve this was to create a 720p@29.97fps file. To do this I used Adobe Premiere Pro. I decided to use a sample from an old music video I had shot in 1080p of the same frame rate. I shrunk it down to 720p, placed it in a MP4 container, and changed the main profile level from 3.2 to 3.0. The 29.97fps remained the same. No other settings were changed. I used a 1-pass VBR and did not enable any extra render settings to help maintain quality. The video came under just 9 seconds with an overall bitrate of 3100+Kbps, quite similar to most of my PlayLater recordings.

The next step was to put it in FFMpeg and give it the parameters necessary to output a similar file but with a main profile level 3.0. I typed in the commands and had to wait a couple of seconds.

The results were that the files looked identical. I expected this because if the stream stays the same - the raw file in the container - then the quality should remain the same. It would only be worse if the bitrate somehow dropped, or something else was constrained, but it wasn't.

What this meant was that the profile, while not being a standard and a no-no for professional encoding, was not an issue for PlayLater. Meaning that it must be something with the encoding settings. The problem there is that we have little real control over the settings. You can choose from Auto, Max, and others, but nothing that would enable us to specify bitrates, profiles, frame rates, resolutions, etc.

The Third Response
This email was just as pointless as the last. I was again told how moving up the profile would be a problem for users and that there were "settings" that could help with quality.

I wrote back asking what data they had to suggest that their users did not have systems capable of running main profile level 3.1 (since none was cited)? I even went so far as to explain that I could think of no friends from a third-world country that did not have computers capable of sustaining live recordings at this level.

Even ignoring that, I stated that it should be a feature for HD users, since that is what the profile is for. It does not have to be an across-the-board implementation. And explained that I knew of no other company that had a business plan where staying behind was the best idea. If anything, people allowed backwards compatibility while updating and upgrading, which further opens up your audience.

I continued with stating that they were right about no quality enhancement by jumping up profiles, but because there was no way to increase the settings of the PlayLater's encoder, no one could ever test this and be sure.

I then just made my point that if the profiles are not the issue, then the encoder settings are. All my settings are set to max so the problem isn't there. I asked that he help me with that issue so we could determine where the real problem lies.

My final words in this reply were about sending me some sample clips of what HD is supposed to look like from PlayLater. This would tell me if the same crappy quality I am getting is just what is MediaMall considers HD, and if it was better it would mean that something on my end was the problem.

The Fourth Response
I received another email explaining that they did have data and that most people were using "old" laptops and PC's for media servers. Of course, "old" is a preference word that doesn't determine or give any information.

The reply stated that they would not be implementing main profile level 3.1 now, but that it may occur when they released a PlayLater version that supported GPU encoding. However, no ETA could be given.

Mention was made of the VPN I used and that it may be why my recordings are unsatisfactory. This could be true, but I had no way of knowing giving my present conditions.

The only other interesting information I was told was that they knew exactly which VPN site I had been using recently, which is somewhat frightening in these post-Snowden times. Although, there is not much they could actually do with that data, I did send another email asking what else they collected from its users.

Another Set of Emails
Recalling that when I Initially purchased PlayLater I could not download Amazon Prime Instant Videos, I decided to try again and see if it was still an issue I should bring up with PlayLater support.

This time it did work, which was great, but having solved that issue another took its place. I had decided to download an old 90's cartoon show, something that was created during a time HD was not around on TV channels. It did record and the quality was fine, but the resolution was at 1280x720... This show would have likely been created and displayed in 480i, but certainly not at 720p.

I tried another 90's cartoon show from Amazon, as the previous one did run long enough where it could have been made in HD at some point. However, I did download from the first season so that shouldn't have mattered. Anyways, I chose a show that was not even around during the times HD came to pass for networks and channels. Yet again I got a video at 1280x720.

Puzzled, I contacted PlayLater support and explained my dilemma. Being somewhat obtuse, as I had noticed previously, they thought my problem was with the black bars created by the 4:3 aspect ratio.

My reply reiterated that I was recording a SD show in HD resolution. The response I received gave me a workaround to get 480i (or 480p as stated) to achieve the actual resolution the shows were broadcast in, and came on DVD.

Before I forget, I was also told that I could not get any samples. I am not sure why as YouTube and other sites they list are free, so I'm not sure why they couldn't take a minute to product a sample...

Wait, What Now?
I sent one final email explaining what HD was, which is not just resolution but quality. The support person I was talking to kept referring to these recordings as if they were HD, which they are clearly not. I then realized something and asked another important question: Is PlayLater able to differentiate between quality and resolution, or just resolution?

About 10 minutes later I got an email with a partial answer. Amazon allegedly does not communicate if what it is showing is in SD or HD. Therefore, PlayLater can only go by the resolution that is given. And if Amazon determines that you have a slow Internet connection it may reduce the quality but still give a resolution of 1280x720.

Eager to know more, I asked if this applied to all channels, or if PlayLater could determine the difference between SD and HD on some channels? And if so, was there a list anywhere users could view to know. I was told that it applies to all channels. Which means, even sources that are should be or start off in HD, may have a final output of mostly SD!

Admittedly, Amazon, or any other channel, is not going to try to work with PlayLater on this matter (or any other) because MediaMall is essentially doing something they frown upon.

But this could easily be argued as falsely advertising HD recordings. A normal user might think they are getting 720p recordings, when in reality they are not. They won't even know it if they aren't looking for it. This is similar to the current NVIDIA GTX 970 debacle where it was advertised as 4GB GDDR5 RAM, but it was actually 3.5GB and an additional .5GB. They are currently in a class action lawsuit about this...

Furthermore, it seems unfair that the user is forced to recognize this and fix it. Especially when considering the average user would not even know it is an issue. For a company trying to make a product easy for users, does that give them the right to knowingly withhold information to trick users into only thinking they got what they paid for?

The Final Test
There was only one other test I could perform to see if the quality was bad because of my circumstances. I enlisted the help of my brother who is back in the USA. He has a great Internet connection and the ability to use Netflix. All he needed was my login credentials to use PlayLater, and then he could record an episode I had already recorded while overseas. If the two looked the same, the problem was with PlayLater. If his copy was better, then it was likely my VPN and Internet connection.

We coordinated a time and at that time began preparation. I had him setup PlayOn and PlayLater and ensure his computer had all the same settings as mine. The only difference was that my Internet speed was shown as "High", and his as "Max". My CPU was shown as "Max", and his as "High".

I also want to mention that we share the same Netflix and Amazon Prime account, and the Amazon video used was a HD purchase I made. Those that might argue that the HD purchase should not be shared are not considering a Bluray or DVR. If I bring a Bluray to anyone's house and watch it even if they haven't purchased it as well, there are no laws being broken. If I go to someone's house and watch a recorded show from their DVR, there are no laws being broken.

We started with my Amazon HD purchase - an animated episode from last year - and after a few failed attempts finally made a full recording. I then had him upload the video and send me a link so I could compare the copy I recorded to "his".

His copy was far superior in quality. You could see it jump from more of a SD to HD version in the very beginning, but it seemed to hold throughout the rest of the video. His copy also had a ever-so-slightly higher bitrate, but were talking a matter of 40Kbps. My copy was a larger file, but once I viewed mine and his, I realized that mine had some advertisements that must've been removed since that time.

From here we moved on to Netflix. We used a live action show that I had already downloaded, a kids show if you must know. After a few attempts we were unable to record the show. Not even a partial recording could be made. The recording would begin at last for a short time before abruptly failing. We decided to call it quits, and try again later.

I decided to record a clip from Comedy Central, which required no login of any sort. In doing so, I could use one of their short clips. The choice was just under a minute. My assumption was that as long as we could start the recording, we would probably be able to finish before failing.

A few days later my brother and I scheduled a time to try this last clip. Without going into too much detail, no recordings were made. The server was reset several times, the program restarted just as many, and even a change of venue back to Netflix proved fruitless. This just goes to show that a nice interface is worthless without a functioning product.

The test completed successfully proved one thing, bandwidth, which can be restricted by where you live and what speeds you opted for, or by a proxy or VPN, does have an impact on PlayLater recording. As described above, even if a recording starts off in HD, it can switch into SD but PlayLater will continue to record in HD resolution.

The Rundown
So let's go over all the facts we know:

  1. PlayLater records in a main profile of level 3.0. While not standard for 720p, and considered bad practice to do so, it can be done. This should not affect the quality.
  2. PlayLater records in an arguably high bitrate, which at face value would lend to quality video recordings.
  3. PlayLater creates large files, which at face value would lend to quality video recordings.
  4. PlayLater cannot distinguish between a SD or HD stream, only resolution. This means it can produce videos that are in HD resolution but are actually SD quality.
  5. PlayLater cannot distinguish if a HD source has been reduced to SD. This means it can produce videos that seem to be HD quality (or are at first) but are actually in SD quality.
  6. PlayLater relies on abundant bandwidth to record HD, which can greatly affect how "good" a HD recording looks.
  7. PlayLater virtually makes no change in bitrate if a recording is done in SD or HD, which may make it harder to discern if a file is actually in SD or HD.
  8. PlayLater can still be quite buggy, which means that even with a powerful CPU, a copious amount of RAM, and an Internet connection with blistering speeds, you may still be unable to record HD because PlayLater doesn't work perfectly or properly at most times.

PlayLater has a smooth interface, and easy enough controls, but problems still occur quite frequently. The majority of the bugs I encounter is about failing to record. Normally, closing out PlayLater (and ending the process in the Task Manager), then restarting PlayLater fixes it. Sometimes just restarting the PlayOn server from PlayLater's settings will fix this too. And in some occasions, nothing seems to fix this. While there are other concerns, this major point of conflict should take priority over all others due to the simple fact that if PlayLater doesn't work, it's a waste of money.

The Verdict
PlayLater can and will make HD recordings. The main problem is if your computer can handle live recording, and if so, do you have the necessary bandwidth to achieve true HD results. And even if all that, will PlayLater actually work or just bug out?

So, in all honesty, the answer is yes and no. If you have a new computer with an Internet connection that allows for high speeds, chances are you can get true HD recording. However, if you are in a foreign country that has decent speeds at best, and are forced to use a proxy or VPN, there is a probability that you will not be able to get true HD recordings (even if you have a top-of-the-line computer).

And again, it can come down to PlayLater just not working. PlayLater seems to work perfectly about 30% of the time in my experience. Most of the time it's a game of will it work and how to make it work. During those times, I would say you have a 50% chance of getting it to work.

Final Words
PlayLater is a good product, however, it has many sides to it. Things that you will not learn before purchasing it. Those who are in first-world countries may appreciate it more than those who are not. Then again, foreign and third-world country users may still appreciate its abilities if not using it for HD purposes, or HD is not a real concern.

In either case, given the requirements, HD recording is possible and looks great. If you can survive the bugs, and its secrets, then it can be a worth-while purchase. The support is also good about replies, although, they may not be as good at given answers to certain questions...

Saturday, April 4, 2015

WiFi Slow? Here's How To Speed It Up!

One burden many people have is a slow WiFi connection. A physical connection might yield great results, but for one reason or another the WiFi on your mobile device is or has become dreadfully slow. I am hoping the following information will be useful and that it may help (somewhat) alleviate that issue.


Bands
As of right now, there are two channels in use for WiFi routers. They are 2.4GHz and 5GHz. 2.4GHz has been around for a long time and is not only common for WiFi routers, but on numerous other devices such as radios and microwaves. 5GHz has been around for only a short time in terms of consumer routers.

Routers that support only 802.11g or older are not capable of using the 5GHz band. Some 802.11n and all 802.11ac routers are able to use the 5GHz band. However, routers with 802.11n that can use the 5GHz band can only use one band at a time, whereas 802.11ac routers can use both bands simultaneously.

Channels
Each band supports a certain number of channels. In the US, 2.4Ghz has 11 channels that overlap into three groups (there are a total of 14 channels). 5Ghz has 23 independent channels. Each network works on one of these specific channels.

Interference
The most common reason people experience a slow WiFi connection is because of interference. This normally has to do with multiple varying devices trying to occupy the same channels, but there are a few other reasons. One I have read is having a microwave, which works on a 2.4GHz band, can cause interference for routers using the 2.4GHz band.

802.11b Interference
There is a myth that using a device that can only support 802.11b will cause all your devices on a network to fall back to those speeds. This is not true, however, 802.11b devices can cause interference and slow down your WiFi speeds.

The reason for this is that because 802.11b is so old (well over a decade now) it works on different modulation techniques, and because routers are backwards compatible, your router will change how it functions in order to allow 802.11b devices to run. This causes the router to lessen your performance and impact newer devices.

Some might ask, "I know 802.11a exists, wouldn't this cause problems too?" There are at least two reasons I know for why it wouldn't. The first is that 802.11a is actually on par - in terms of performance - with 802.11g, making it superior to 802.11b speeds. The second is that 802.11a runs on the 5GHz band, so it would be impossible for 802.11b to affect it. This specification was also mainly used in corporate settings due to costs for specialized hardware, so it's unlikely you'll be dealing with it at all.

Solution
Some people go ahead and disable 802.11b if their router allows it. This can help but only with your own devices. If a nearby neighbor is using the same channel for their network and is using 802.11b devices, then that simple solution is no longer a viable solution.

Instead, what is recommended is switching to the 5GHz band. 802.11b devices will only work with the 2.4GHz band, so it won't affect anything running on a 5GHz band. The obvious downside to this is if your router doesn't have a 5GHz band, or you still use devices that support 802.11g, then you are out of luck.

Channel Traffic
An easier problem to solve is one of channels. Most routers are defaulted to one channel or the other. If you live in a populated area, you can likely view several different networks when attempting to connect to your own. If those same networks are all on identical or bordering channels, this can cause interference.

Solution
The first thing that you will need is some sort of WiFi analyzing software to see what channel everyone around you is using. There are several available for free.

There are a lot of free software available that can easily be found with a Google search, but I'll give some examples to help: If you have an Android device there is "WiFi Analyzer". If using a jailbroken iOS device you can use "WiFi Explorer". If using Windows there is "NirSoft WiFiInfoView". If using OS X there is a built in wireless diagnostic in your utilities. And if using Linux you can use the terminal and type in: sudo iwlist wlan0 scan | grep \(Channel

Once you have the appropriate software up-and-running, you can then view what networks are using what channels. (With the exception of Linux as it just shows channels and how many people are using each one, which is still helpful for this procedure). Check what channel you are on first, if on Linux you can check this via your router settings.

Now check all the other channels and see which is the least congested. Hopefully you come across a channel that has little or no people on it. If not, check if there is another channel that has fewer people than your current channel. This will be the channel you want to switch your network to.

If it helps in making a decision, on the 2.4GHz band the farthest points of overlapping are channels 1, 6 and 11 and the best choices if few people are using it. The 5GHz band is still new so it is unlikely you will have an interference problem, but if you do, remember that the channels are independent, so it would be best to choose the channel with least amount of people on it.

From here you will need to login to your router settings. If you never changed the credentials for your router settings they will likely be something like "admin" for the username, and possibly nothing for the password. Otherwise, check the web as they should be easy to find.

Each router's setting layout is different but have similar functions. You will need to find the section about WiFi and change the channel accordingly. After that is done you will save your settings, and your router should need a minute or two to reboot for the changes to take effect.

You may now see a speed increase for your WiFi, allotting that there was a channel that is not suffocated with networks. But do note that this does not increase your performance beyond what you should actually be receiving from your ISP.

5GHz Over 2.4GHz
By this point it should be obvious that using the 5GHz band is really the way to go. Yet, if you jumped straight to this section, I'll give a quick rundown as to why:

  • 5GHz can only be used by 802.11ac routers, and some 802.11n routers. Older devices are not be able to run on this band, so they cannot cause interference on that band's channels.
  • 5GHz has only been around since 2013. Because of this it is unlikely that you will find many people on this band; which means less opportunity for interference to occur.
  • 5GHz uses more channels so there is a better chance of finding an empty channel to use.
  • 5GHz uses independent channels so the overlapping interference issue that occurs for the 2.4GHz band is not an issue at 5GHz.
  • 802.11ac routers allow for both 2.4GHz and 5GHz bands. Meaning compatibility with older devices is still possible.

Downsides
There are a few downsides, most of which have also been noted but bear repeating:

  • Some 802.11n routers support both 2.4Ghz and 5GHz bands, however, they can only use one or the other at any given time. This would mean that if you use 2.4GHz you should have compatibility with all devices, but channel traffic would be a much more prevalent or susceptible problem. If using only the 5GHz band you should get faster WiFi speeds, but only devices that can support 5GHz will be able to connect to the network.
  • At some point in the way off future the 5GHz will enjoy the same problems 2.4GHz does now due to its popularity and existence in newer products (at which point the solutions above will still be helpful).
  • One odd issue that some people have reported is that while 5GHz allows for better speeds, it can do worse in relation to signal strength. This would become a problem if you are in a large residence and certain areas drop your connection altogether.

Signal Boosting
Since I mentioned a possible weak signal issue for the 5GHz band, I thought I would throw this in. This is also a good idea if having problems with signal strength on the 2.4GHz band...

Simply buy a WiFi extender or repeater. These devices help boost your signal so that areas that had signal problems should be able to pick up a stronger signal. They can be inexpensive and are fairly simple to setup.

Worst case scenario you can always use a spare router laying around, but this would mean having an Ethernet cable long enough to connect from your main router to that one, which would be positioned somewhere farther to help boost the signal to other areas. However, there are free router firmwares like DD-WRT that can sometimes turn a router into a repeater, but I won't get into that here.

Channel Width
This is an interesting aspect of routers that seems to go under the radar when people talk about how to possibly increase their WiFi speed. Channel width is a give-and-take concept. The bigger the channel the faster the transfer of data but with less range. The smaller the channel width the slower the transfer of data but with more range.

The channel width comes in 20MHz and 40MHz (and sometimes 60MHz) for the 2.4GHz band. The 2.4GHz band has all that and 80MHz. To get the fastest WiFi speeds you would just need to choose the highest channel width available on your router. You will find these options in your router settings.

Circling back to the 5GHz signal range issue, actually going to a lower channel width to extend the range could be a quick fix. If nothing else, you can always set your router to a high channel width for online gaming or streaming media, and then back to a low channel width when WiFi range is a priority. Experimenting to find a channel width for good balance would also be a welcomed compromise.

QoS
Quality of Service (QoS) won't help overall WiFi performance, but it will help specific applications. Most routers now have these settings. The downside to this is that QoS only affects outbound traffic, data coming from you to the Internet. So, it won't be useful for downloads or other inbound traffic

Frame Burst
Many routers have frame burst as a feature. This feature is meant to increase data transfer speeds when enabled. If you have this setting and it is turned off, it should help speed up your WiFi once turned on.

This is considered an advanced setting, so if it has multiple options along with it, don't mess with those as you could lose your WiFi signal if something goes wrong. But if it does have a enable/disable option, go ahead and try it if your router isn't using it already by default.

Sometimes It's Your PC
A short story I have on slow WiFi involves my brother. He recently decided to move and wanted to upgrade his router to another model that supported Wireless AC. His smartphone could handle it, but he also needed a WiFi adapter that could do the same. I recommended a D-Link router that he was able to purchase for just over $20, and a Belkin adapter that cost almost the same.

The router came first and he tested his speeds with his phone where he got a huge speed improvement over his current 802.11n router. The adapter came a few days later and he tried it out. Suspiciously, the speeds were incredibly slow on his laptop. His built-in WiFi, which uses 802.11n, was leaps and bounds ahead of the Belkin adapter. Since his smartphone had achieved high speeds, we eliminated the router as the problem.

We both checked the reviews on the adapter and while it had a high rating, many people were complaining of slow speeds. Some people were just not installing the drivers beforehand, others were using Windows 8 where evidently a little more prep work is needed. My brother uses Windows 7. He decided to return the adapter and buy a Linksys adapter for the same price.

The adapter finally came and he installed all the drivers before testing it. The same problem occurred. He had a spare laptop that I suggested he tested it on first before sending it back. Luckily he still had the Belkin adapter in his possession, allowing us to test that as well. After testing both adapters, we found the speeds incredibly high on either, making it an issue of his other laptop.

This just goes to show that sometimes the speed isn't just dependent on your router and adapter setup, but on the PC you are using. His laptop seems to have something happening between the USB port and connection that forces it to slower speeds. His built-in WiFi works fine. 

Connection Lost
Those are some of the easiest ways you can increase your WiFi speeds without doing too much work, paying for extra components, or going into advanced wireless settings. Chances are at least one of these items can help you squeeze out a bit more juice from your wireless connection.