Why Net-Neutrality? Or Why not tiered pricing?

Update: Kindly read the follow up article Net-neutrality. This is why.

I have genuine question. Why net neutrality? I know there are reams of pages of content answering the question, but I am asking from a completely lay man non-techie version of the question. Why? The only answer that I seem to get is – It protects the interests of the consumer.

Interest or Greed?

The current pricing model used by the internet service providers is something akin to an electric connection. They give you a line to use and bill based on the connection speed and the quantity of data or amount of time you spend online. The electric company doesn’t worry whether you use a geyser or lamp as long as you pay the bill. Similarly the present ISP models doesn’t care whether you stream YouTube or read Wikipedia. The analogy seems extremely apt, except for one difference – the cost of usage.

In case of an electric connection, you buy any equipment that you want to use and pay the cost of the hardware. The more you use the more the electric company gains, the equipment manufacturer gets nothing most of the time. Exceptions like cable TV exist, but again cable is another utility altogether and we will get into that shortly. But in case of the ISP, you buy services over its line which earns money for those services. In this case it is completely opposite; the ISP gains almost no money no matter how much you use any kind of service over their lines.
For example, using geyser on a daily basis could consume a lot of energy and prove to be great revenue for the electric company, whereas streaming movies 24×7 is going to benefit only Netflix of YouTube and does nothing to the ISP except choking their lines.

The ISPs this want to take a part of the money paid to the service as it also utilizes on their resource. The invention of thing like Fair Usage Policy (FUP) is a way to limit this choking of the lines.
So when companies like Google talk about net neutrality (against tired pricing), the real question is whether the company is really trying to protect the consumer or just trying to enjoy the free ride that it currently enjoys.

The Cable TV Pricing

From a consumer standpoint this is certainly against the interest because we don’t really want to pay more for certain services. It is time we visit the cable TV evolution and see what the consumer really has said and done about it.

Initially there were there was only one way of getting satellite TV – Using a Dish Antenna. The intial investment was huge. Then came cable operators, who charged a certain amount of fees for certain number of channels, no choices, all just paid an amount. After that came the Direct to Home (DTH) services replacing the cable TV operator with a corporate body. Until to this day we pay per channel, called packages. And the customer has hopped on merrily with some noises here and there. Nothing in the transition has affected the channels’ (services) revenue.

Applying the same route, we are currently in the cable operator state, where the ISP is giving us a cable, we pay an amount. If the model evolves into one which prices textual data, VOIP, and media streaming at different rates, like that of a channel based DTH pricing, and bills the consumer on what is consumed, a lot of people would might end up paying a lot more as well as a lot less. Just as I avoid all sports channels, I might avoid all VOIP usage. If I am programmer, most of my requirement is software package and code, there is no need for me to pay more. But people preferring YouTube to TV would pay a lot, and thus reduce revenue to business like Apple TV, Google TV, Netflix, etc., but taking away a share of the pie. So for me a consumer, paying on how much traffic I use seems as much legit as big truck paying more than car on a toll road, simply because I use more resource.

This argument so seems biased towards ISPs. What if things like the ones below, said in Wikipedia, happens?

From Wikipedia
Neutrality proponents claim that telecom companies seek to impose a tiered service model in order to control the pipeline and thereby remove competition, create artificial scarcity, and oblige subscribers to buy their otherwise uncompetitive services.

From HuffingtonPost
A fast lane would let some websites operate at higher speeds and essentially relegate many sites — likely smaller, less-moneyed ones — to a slower pace.

Where are the regulatory authorities who enforce mobile communication and telecommunication pricing? Why such an authority can’t be created and clear rules saying what could and couldn’t be charged drafted? Why can’t things like slow lanes be completely outlawed? Say we create a law which says Non-profit sites like Wikipedia, Khan Academy should never be charged (extra) even for streaming content and pricing can only be done on For-profit entities like YouTube and Netflix. Calls for making internet a utility are a step in this direction of regulation. Why would anyone really want to create a slow-lane if more speed and more data transfer results in more money for the utility provider?

So.,

The entire thing about raising hue and cry over differentiated pricing seems to be for only one reason – Greed.
The greed of the companies to make money. They pull us, consumers, into the issue by terrifying us that our bills would shoot sky high and ISPs will fleece consumer. If that is the real issue, I think it is better dealt by talking to (or even creating new) regulatory authorities, consumer protection agencies and other similar governmental organizations and certainly not by tactfully converting a purely capitalistic issue a social issue involving rights and freedom.

I as a layman consumer is completely ok with the current state of affairs and don’t mind if the billing becomes usage based, or someone creates a fast-lane for those who pay more as long as the slow lane is at the mandated minimum speed, which is the present case anyways.

Unit Testing with CasperJS

Today I sat down to create a JavaScript library. I wanted to do it the way I have long dreamed of – TDD (Test Driven Development). There is no dearth of Unit testing libraries and frameworks for JavaScript, so after some reading on the internet settled on CasperJS and PhantomJS combination. CasperJS is just awesome for functional testing, but Unit testing? Even though it supports Unit Testing, it as such is not a dedicated unit testing framework like Karma or Protractor. Read this for more information on TTD frameworks for JS libraries.

Loading plain JavaScript files in CasperJS for unit testing seems to be completely undocumented. I tend to think it is because it wasn’t meant to be webpage-less. But the note on docs of tester module says:

The best way to learn how to use the Tester API and see it in action is probably to have a look at CasperJS’ own test suites.

Thanks for this quote, I found that using the fs module one can load local filesystem files as modules to be used. Using that now I could write unit tests while developing the library and later on write functional tests while using the library.

Here is the file structure

library
--test
  |--unit
  |--test.js
  |--index.html
--src
  |--livetransit.js

And here is are the two tests – i) uses a webpage based approach; ii) uses module approach
https://gist.github.com/tecoholic/937f51b6889448836db8

Live Transit Visualization

After a push from @logic, I started working on a project to show live location of suburban trains based on transit.js. The idea is to make a map similar to this for many cities, with a choice of schedules (weekday/sunday). But I found the jQuery plugin, transit.js, too hardcoded and disorganised to perform what I wanted to and also to my taste.

I found other projects like:

  • LiveBus which does a live status map using SVG maps based on d3.js library and GTFS feeds of the bus data.
  • TransitLive which uses LeafletJS as the map library with their own OSM tiles. The schdule data seems to come from the backend service.
  • NextBus which has a textual realtime status and route maps based completely on Google Maps.
  • King County Metro which again uses Google Maps for the map and a custom way of loading data from its servers. The best map I have seen so far and loads a ton of JS.

Each has its own technology stack solving the same problem.This blog post details the use of GTFS data or the lack of it for realtime visualization. So the generalized picture seems to be that everyone is rolling out a custom version of their own.

So, I am going to create a simple library that can do this.

Here is the mockup usage of the library:

// Create a new livetransit object with the map type
var lt = new LiveTransit();

// Assign a div for the map
var divId = "map";
var mapType = "google";

lt.setupMap(divId, mapType);

// Overloaded to perform both addRoute and initiateMovement
lt.initiateMovement("chennai_velachery.kml", "chennai_velachery_weekday.json");

// ------------------------------------
// other probable cases to deal with
// -----------------------------------
// Specify a different schedule like Sunday/Holiday Schedule
lt.changeSchedule( "chennai_velachery_sunday.json" );
// change the location - city
lt.changeLocation( "new.kml", "new.json" );

Facebook Account Deletion

I just now deleted my Facebook account.

Why?

  1. Freedom – Day by day using it makes me feel as if someone is dictating me how and what I should be talking to people about. The rampant, out of the blue censors by law enforcement and judiciary are the reasons. Even though I have never been a part of any such action, the atmosphere is getting too toxic over there in that domain.
  2. Irrelevancy – Most of the content that I encounter on my timeline are completely irrelevant to me and the only content that I engage with are blogs like Lifehacker and posts of a set of very few friends, both of which I think I can do without having to endure a non-free environment.
  3. Privacy – It has been a great concern for me ever since I became aware of its importance and ethics. Somehow kept telling myself, nothing would affect me. I think underestimating risks is something I am unwilling to do these days after reading “Fooled by Randomness“.
  4. Paranoia – Closely connected to “Privacy” – I was always thinking what if someday I discover that all the stuff that I have shared is sold/shared to someone and that someone uses it for purposes I never suppose it to be? Am I planning murder? No. But what if someone frames me for it? I am NOT paranoid by nature, I walk 1 among the billion+ in the country. But again, not all billion+ walk around recording data about what they read, where they go and what they think.
  5. Narcissism – One of the biggest effect of Facebook on character is, I think, breeding narcissism. It breeds a kind of self importance and provides an easy sense of achievement and forces a person to project a personality, real or otherwise. This becomes especially stressful when considering the fact when one is connected to all sorts of people from high school friends to working colleagues. A few recent encounters with people has left a bad taste in  mouth about the whole “sharing” thing.
  6. Spam – Spam, spam, spam – there is just no end to it. I am generally very efficient in ignoring Ads and spam because all that I look for is content from people and never click any link other than blog-posts. But most of the time genuine and original content is very hard to come by and all sorts of false claims on history, technology, identity creep in along with celebrity, movie and all sorts of eye-ball catching stuff.

After considering all this, the most logical decision to make seems to be to leave the system and reduce a lot of responses that brain generates due to unnecessary stimuli.

Will I ever get on a social network again?

I currently do not have an answer to that. There are a lot of things to be considered as listed above and see how they play out to make a decision. With the current turmoil of internet censorship across the world, misuse of it as tools of destruction, authoritative control, capitalist bait holder, and as an enterprise looking to make money indirectly by using my data, I don’t think I am getting onto it (FB) any time soon. I specifically mean FB here because, there exists an alternate platform called Diaspora* which deals with all of my above concerns (okay, maybe not narcissism), but  jumping into such a platform is pointless if I don’t really have the people I want to interact.

The year of 2014

Basically I attempted two projects as a personal development venture.

52 Weeks 52 Books: Started with the objective of improving the number of books that I read in a year. Read about a total of 27 books in all this year. Better than any other year in my life. Though the project is a failure, I reaped huge satisfaction in the process.

52 Weeks 52 Maps: Started with the aim of creating and uploading maps for Wikipedia. I think I did only 8 in all. Even those were done in the initial one or two weeks. This failed spectacularly.

Hopefully 2015 would be a better year.