Why my FIOS is slower than your cable modem (and how I fixed it)

net-neutrality-fist

net-neutrality-fist

As a technology addict, I jumped on Verizon FIOS as soon as it was available in my area. When I moved last year, I took the service with me. When Cablevision tried to sell me an old-fashioned cable-modem, I didn’t even consider it. Why would I want a measly 25/5 service, when I have a 75/25 fiber optic cable for the same price? As an trained computer scientist, I happen to know that light is very fast. Take that, electrons, I don’t want your cable-wire technology!

And for a while, it was pretty good. But, strangely, Youtube would be pretty slow a lot of the time. Initially, one would think that the problem was with Youtube. But, Youtube is owned by Google. It seems a little strange that Google wouldn’t upgrade their servers or network if they need to. Still, it’s just the one site. Everything else seems to be fine, and very FAST, just like Verizon said. But then, more things started getting slow. Like Netflix. For a while, half the time I tried to watch a show it would just sit there and buffer for a while. And when it did go through, the quality was pretty poor. Well, I thought, Netflix is growing so fast, they probably aren’t able to keep up. But, actually, Netflix runs on Amazon’s computer cluster, which is widely known for it’s scalability. They roughly coined the term “cloud.” Could they really be that slow? Finally, Hulu started having problems. Shows would stutter and stop, and need to be rebuffered. Yet, the problem seemed to be with just Hulu — other sites worked fine, and I got the full bandwidth I expected from speed tests, just like Verizon claimed.

Something was fishy. It’s strange, right, that only tv-like services were slow, but other things seemed fine. Downloads were fast. Speed tests were fast. TV shows and movies were slow. That’s a little too convenient, since Verizon sells their own TV service. “Oh, Netflix is slow? Why don’t you order on-demand through FIOS?” Really Verizon? Really?

It’s no accident. Verizon, along with many other internet carriers, has been fighting a long war against Net Neutrality. Why should customers be able to visit any site they want? Just like you pay extra for HBO or Cinimax, Verizon wants you to pay them extra for Netflix, and Youtube. Here’s a direct quote from a cable executive: “Why should we carry data for free?” They believe that because their customers watch a lot of Netflix, then Netflix should pay Verizon to allow it. In other scenarios, this behavior would be called “monopolistic behavior,” or “a protection racket.” What’s roughly happening is that Verizon is saying to Netflix, “It’d be awfully unfortunate if something happened to your data before it reached the user.”

How did we end up here, where Verizon is even allowed to do this? Well, there are a series of articles from ArsTechnica which explain that in a lot of detail (and I recommend reading them!). I’m going to explain it the way I like things explained to me — as if I were a 5-year-old.

The short version is that the FCC, which regulates cable companies, published a rule which roughly said “Attention internet companies: please get along and don’t throttle each other.” Verizon was able to get around this rule by saying “sure, we’re not going to throttle any service. But if a router happens to break, we may not fix it unless they pay us.” Amazingly, the FCC was ok with this. But, it really wasn’t enough for Verizon, because they wanted more extortion power. So, they sued the FCC in federal court, and won. So, now there is no rule.

Sadly, the FCC is run by a former cable company lobbyist. He made an official statement saying “this is great, now cable companies can operate without regulation. We won’t try to put new rules in, or challenge the court case, but We’ll keep an eye out in case it gets really out of control. Promise.”

Verizon is pretty happy with this. So, they turned around and told Netflix “oh, you thought you were paying us before? The price just went up.”

There’s only one problem. I want to watch Netflix, and I can’t because it’s too slow. Verizon doesn’t really care, and to the extent they do, they think I’ll just buy more from them. Luckily, I live in a place where there’s a competitor. As it turns out, Cablevision has a history of not blocking netflix, or hulu, or youtube. So, yes, fiber optics are usually faster than cable modems. But not when Verizon has their finger on the spigot.

So, how did I fix this problem? I canceled my FIOS subscription and signed up for Cablevision. And then I watched a movie.

I recommend everyone do the same. Verizon’s unbelievably poor behavior only works because because they think they own the customer. Show them that they don’t — if they hurt your internet, then you will switch to another provider. In the end, I don’t care if the problem is because the “network” is slow, or Verizon is throttling, or there is a peering disagreement. All I want to do is watch Netflix. And if Verizon can’t provide that, I’ll find someone who can.

Critical Reading:
http://arstechnica.com/information-technology/2013/07/why-youtube-buffers-the-secret-deals-that-make-and-break-online-video/
http://arstechnica.com/information-technology/2014/02/netflix-performance-on-verizon-and-comcast-has-been-dropping-for-months/
http://arstechnica.com/information-technology/2014/02/verizon-seeks-payment-for-carrying-netflix-traffic-wsj-reports/
http://arstechnica.com/information-technology/2014/01/how-net-neutrality-shenanigans-could-put-the-hurt-on-netflix/
http://arstechnica.com/tech-policy/2014/02/fcc-wont-appeal-verizon-ruling-will-regulate-net-on-case-by-case-basis/

PS: Why Cablevision isn’t using this as a major marketing tool is beyond me. I would have switched a long time ago if they had run an ad campaign promising Net Neutrality policies. If anyone from Cablevision wants to contact me, I can tell you exactly how to use this to your advantage.

Posted in General, Industry News, Myself, Politics, Technology, Web Sites | Leave a comment

Graduating from UnRaid

search

search

I am a digital pack rat. I used to keep piles and piles of floppy disks all over my room. Cabinets were full of them. This included software I had bought (or “borrowed”), school work, creative writing, and source code I had written. Later, I moved it all over to CDs, and then to DVDs. While that was great — I could fit almost all my old floppy disks on a single DVD — the amount of data I needed to save kept getting

Posted in Linux, Misc, Technology | Comments Off

A C++ Disruptor

disruptor

disruptor

The guys over at LMAX spent a lot of time looking at multithreaded software performance. Since computer performance will scale out with more processing cores rather than higher speeds for the foreseeable future, this seems like a good investment.

What they found is that the traditional methods of multi-threaded communication — namely, blocking queues — are really not the best way to send data between threads. They’ve done a pretty good job of writing up the details at http://code.google.com/p/disruptor/.

However, they’ve done all their work in Java. To be fair, that is where most high performance code is being written nowadays, particularly in finance. However, there’s no way for a C++ program to benefit from this work.

Consequently, I ported the LMAX Disruptor to C++, and released the source under the Apache 2 license. I started a Google Code page at http://code.google.com/p/disruptor-cpp/ to make it easily accessible.

The implementation wasn’t as straightforward as I would have thought — many features the Disruptor depends on (like atomic variables) wont be standard until C++0x is widely supported by compilers. In the meantime, I found that Boost provides a good stopgap set of features, and the implementation would have been orders of magnitude more complicated without it*.

As it is, I think the C++ interface is fairly comparable to the Java one. While the Disruptor is not as trivial to use as a blocking queue, the performance gains should be more than worth the extra coding effort. And I think the C++ interface is just a tad easier to work with than the Java version.

Check out the project at http://code.google.com/p/disruptor-cpp/ to get started. Code patches welcome!

* So if you’re one of those people who refuses to use Boost for some reason, tough nuggies.

Posted in General | Tagged , , , , , | Leave a comment

iOS vs Android Revisited

smartphones

smartphones

So, it looks like I called that one wrong. Or did I?At first glance, it appears that android is a serious contender against the iPhone and IOS. It’s even arguable about which on is more popular at this point — do you measure by total units sold, or sales in the most recent quarter? What about the fact that Android is available on all carriers, but the iPhone is only on one?

Answering each of those questions gives you a different answer. However, one thing is certain — in a few short years we’ve gone from a marketplace seemingly dominated by Windows Mobile and Symbian to one where iOS and Android set the pace of innovation, customer expectations, and market growth. Both new platforms are here to stay, and rather than hurting each other, the response in the marketplace seems to be that each is accelerating the growth of the other by raising expectations for what a smart phone should be head and shoulders above the now-legacy platforms.

Posted in General, Myself | Tagged , , , , , , , , , | Leave a comment

4 Reasons the Android vs iPhone Deathmatch Will Never Be

smartphones

smartphones

A colleague recently asked me who I thought would win the mobile phone wars: Apple or Google. He suggested that Android is a better horse to bet on because Google has virtually unlimited resources to spend until Android dominates the mobile phone market. From reading around the Internet, this seems to be a common misconception.

The expectation of an emerging dominant platform for smart phones comes from general experience with the PC industry, where there has been virtually a single platform for decades. However, the cell phone business is very different from the PC business: while market forces pushed the latter towards platform consolidation, there are several factors keeping mobile platforms distinct. Factor in Google’s self-stated motivation for entering this market in the first place and it becomes clear that the current fragmentation of smart phone platforms isn’t going to go away any time soon.


1: Cell Carriers Discourage Platform Consolidation

Partially by design and partially by nature, it’s plain impossible for a single platform to become dominant today. Cellular companies make exclusive deals with handset manufacturers, keeping phones out of the hands of consumers who would otherwise purchase them in a heartbeat. The exclusive AT&T and Apple deal comes to mind, but cell companies have been in this practice long before there was an iPhone. Hip devices draw new customers, and the manufacturer receives generous financial kickbacks to keep things exclusive. Additionally, some carriers use different radio technologies, which means that device manufacturer must develop different hardware to support all the different radio technologies around the world, adding expense and slowing hardware rollouts. This isn’t a factor which will go away soon.

2: The Market Has Legs

In 2009 a smart phone sales exploded. According to Gartner, there were sales of 172 million smart phones in 2009, a 24% increase from 2008, and that growth is expected to continue. This means that every company in the market can sell more units than the previous year without competing directly for customers. As long as this continues to be the case there is plenty of room in the market for multiple platforms. For some context, the ceiling for this growth is high. If all cell phones sold were smart phones (not an unreasonable long-term perspective) there would be 1.2 billion every year, so there’s quite a bit of room to grow.

3: Consumers Aren’t Sticky

In stark contrast to the PC market, smart phones are relatively simple to operate. Since the learning curve is lower, consumers are less likely to be afraid of switching to a different platform. Other factors gain relative importance. For example, consumers don’t put a high value on the shape and color of their desktop PC or laptop (beyond the basic form factor), but industrial design plays a more important role with smart phones. In part this is because OS tie-in is less important.

Consumers are also likely to switch between cell carriers every year or two, and when they do they are more likely to purchase the most cost-effective smart phone available with the new carrier. Statistically, this depends mostly on the promotions running at the time, if the same platform is even available. Apple’s exclusive AT&T contract, and Microsoft’s major revision to Windows Mobile are cases where users may not even be able to stick with the same platform if they wanted to.

4. Google Isn’t in the Mobile Phone Business

Surprise. Here’s a quick recap from Eric Schmidt from when Android was first announced:

The fundamental problem with most phones today is they don’t have full-power browsers. We’ve been taking our mobile services and use specialized engineering to get them on other devices. No longer … Imagine not just one Gphone, but a thousand Gphones as a result of the partnerships … I’m a very happy iPhone user. It’s important to say that there will be many, many mobile experiences, and Android will be used on many other kinds of devices…

Remember that when Android first came out, there was really no viable mobile web browser aside from Safari on the iPhone. Google makes their money on web search. Lots of people had phones, but couldn’t realistically use them to search, and Google therefore couldn’t make money from them. Google solved the problem by giving away a smart phone OS to any device manufacturer who wanted it.

So, while Google does have a bottomless wallet, there’s no reason for them to spend significantly more on cell phone development. Android simply has to be “good enough” to motivate smart phone competitors to improve the browsers on their phone. Google makes the money whether a user searches via an Android phone, an iPhone, a Symbian phone, or potentially even a Windows Mobile phone (should mobile IE ever become a reasonable browser). That’s why the pace of Android development has slowed as its uptake has accelerated. Google doesn’t need to dominate the market, because they don’t care which phone or browser you use, as long as you use one. To put it another way, Android is a stick they can use to herd the cell phone market in the direction Google wants.

Conclusions

The public likes competition, and the Internet will never stop pitting different platforms against each other. At first glance, Android and iPhone OS look like they compete against each other. However, the motivations behind their development are very different: Apple wants to sell hardware, while Google wants to spur users to browse the web from their phones. These goals aren’t mutually exclusive, which is why Eric Schmidt sat on the Apple board of directors until well after Android was released. Because of their respective philosophies, Google and Apple will never compete in the mobile phone space — Apple will never license their OS to other device manufacturers, and Google will never shift their revenue base to hardware sales (The Nexus One is another stick to hit device manufacturers with, not an attempt to make a profit for Google).

So, to answer my friend’s question, “who will win the mobile phone wars: Apple or Google?” I don’t think either will win, because there isn’t really a war – at least not between those two. Palm, Microsoft, Nokia, and Research in Motion are different stories altogether. Until the market hits the ceiling though, none of them are going to achieve market dominance anytime soon. It has become a game of staying power, and the only platform in any real danger is Palm.

Posted in Cell Phones, General, Myself, Technology | Tagged , , , | Leave a comment
« Older posts