Categories
Business Internet Product WTF

Dear MTNL. Stop taking sips from my broadband coffee!

It’s a fine Sunday morning, and you go to a cafe with your friends, and order a nice cup of large cappuccino.

While you’re chatting with your friends, you notice out of the corner of your eye, the waiter bringing your cup of coffee. You feel relieved, and excited for your kick of caffeine. Just then, you see the waiter lift the cup to his lips and take a sip from your cup.

How do you feel?

Apart from the initial feelings of disgust, you calculate your losses. You’ve paid for a certain volume of coffee & foam, and the waiter is taking away part of it, without either paying for it himself or compensating you (since technically now you’re the owner of that cup of coffee). And all this without your permission!

Thejesh GN had written about how Airtel was injecting an iframe in the pages served on its 3G connection, though Airtel defended it saying that it’s to track our usage to help us better. How is monitoring which pages I go to going to help me better, and how the telecom company providing me the connection can’t track the amount of bandwidth I consume without injecting iframes into the source of pages I visit is beyond my understanding.

We could still say this is expected of a private company. They are, after all, after only one thing, profits. But if a PSU starts one-upping them, it’s worrying.

Not only has MTNL been injecting code into the source of pages we view on their broadband connection, they have been showing ads as well. Large ones. Sometimes larger ones.

Here’s a sample:
ads on MTNL broadband

It raises quite a few concerns in my mind, and here they are.

  1. Permission: MTNL is a service provider. And we pay them for the service. We expect a certain amount of data transfer at certain speeds, and nowhere while signing up were we informed or our permission sought that they will serve ads on the connection.
  2. Money: MTNL charges us the amount for the specific amount of bytes transferred per month, and if we exceed that limit, our connection is downgraded, which is equivalent to Shadowfax being chained to a snail. We as consumers keep monitoring our usage and reducing our superfluous consumption of bytes (stop reloading that often, watch lesser cat videos, download 720p versions of videos instead of 1080p and so on). And now we realise that a certain amount of our bandwidth will be consumed no matter what, because MTNL wants to run ads on the pages we see.
  3. As a producer of content/platforms: I run a business where we create web properties. Our clients are people who produce content or provide a service on these properties. In addition, I run this blog, and my firm has a website. It’s highly likely that when normal users (which includes me) using MTNL’s broadband connection accesses these properties, they would see these ugly ads on the pages. None of us agreed with MTNL to let them serve ads off our platforms and on our content. Some of us run ads on these properties which help us fund the operation of these properties. MTNL’s ads which ride on the connection are diluting the effect of the ads run by our paying sponsors, and are in effect robbing us of our ad revenues, in addition to spoiling the face of our properties and businesses. And there’s apparently nothing we as producers of content can do about it.
  4. Privacy: Of course the concern here is the same as in Airtel’s case. Today they’re injecting ads, tomorrow they could inject spyware (like some small-time private cable ISPs already do), or could inject ads in all corners of the page (like those same small-time private cable ISPs already do). And they have no business doing it.

On the money front, you might argue that it’s still a little bit of content trickling through and shouldn’t bother us. But I did some back-of-napkin calculations, and here are the approximate results.

Every page I visit consumes around 1 to 2mB of bandwidth. With modern browsers and content caching etc., every time a page is reloaded, the marginal consumption of bandwidth per repeat page would be in hundreds of kBs. On a page load, the amount of bandwidth MTNL’s ad consumes is around 30kB. Even if we calculate on the basis of absolute size of a page’s content instead of the marginal consumption, the noise-to-signal ratio here is 30kB/1.5mB = 2%

If I have a connection of 50gB FUP, this amounts to 1gB. I am being charged for a full HD movie download extra because MTNL wants to serve ads on their connection to us. And not even making a profit off it, because so far I’ve only seen ads of MTNL services in this fashion 🙂

How is this different from websites running ads?

Some might argue that YouTube also runs ads on the content they’re serving. कोई उनको कुछ नहीं कहता! Well, YouTube doesn’t charge me for viewing videos there. When a paid service provider runs ads blocking their own service, and consuming the service that I as a consumer am paying them for, it’s outrageous.

People my age might remember an ISP called Caltiger who started operating in the late 90s. When VSNL’s connections were expensive (Rs. 5,000 for 500 hours of browsing), Caltiger came up with an industry-changing idea – free internet. It was dial-up internet, which means that we still had to pay the per-minute rates for phone calls, but then again, even VSNL’s connection was dial-up, which meant that the total outflow from a subscriber’s pockets were around Rs. 35,000 per year including the phone bill, and not just Rs. 5,000 that we paid VSNL. But Caltiger used to run ads on our screens using its dialler software in exchange for the free internet. In effect we saved Rs. 5,000 in exchange for agreeing to have ads running on our screens. Ads served, but no money taken.

MTNL cannot do both: charge us for bandwidth, but still serve ads. And that too without our consent – both as consumers and as the real creators/providers of content.

The Tech

How do we get rid of this nuisance? Well, if you just see the source of their ads, you can see the following code that is responsible:

<div id="__BULLETIN__bdiv" style="position: absolute; z-index: 999999999; visibility: visible; top: 654px; right: 20px; display: block; transition: top 0s ease 0s;"><style> img.scalable { max-width : 100%; height: auto; }</style><a id="__BULLETIN__bdivButton" target="_blank" href="http://mtnlmumbai.in/index.php/fixed-line/landline/tariff"> <img id="__BULLETIN__bdivImage" style="height: 300px;" src="http://203.94.227.140/bg/Creative1.jpg" scrolling="no" frameborder="0"> </a> <div style="overflow:hidden; position:absolute; right:0; top:0; z-index:9999999999;"><a id="__BULLETIN__button0" href="#"><img id="__BULLETIN__button0i" name="button0" class="scalable" src="http://203.94.227.140/bg/CloseButton.png" border="0"></a>
</div></div>

Temporary solution: Blocking the IP address 203.94.227.140 in your etc/hosts file or in your router’s firewall would provide temporary relief, but since I blocked a similar address last a few weeks ago, they’ve updated the IP address in the request.

Permanent solution? What remained common was the 203.94. part. As far as I know, blocking wildcard IP entries or IP clusters using etc/hosts isn’t possible. Can any of you nice people guide me on how to block this IP cluster either using etc/hosts or the router settings?