What can you learn from Twitter blocking UberTwitter, Twidroyd etc

Recently, twitter blocked several applications citing violation of terms & agreements and  copyright infringements. Well, this post is not to discuss if twitter did the right thing or wrong.  I would like to highlight a subtle point to other API providers instead.

Thanks to the recent mobile revolution, apps are the defacto mechanism to make your content/service available on the mobile. And apps need to talk to your APIs to make this happen.  APIs are the integral part of this revolution. If your company has a website and is providing some service/content and is not already providing an API, following are some resources that may help you to understand the ecosystem. Google should help you in finding lot more resources…

These days, exposing a REST API is fairly a simple task.  Whether you are a java developer, ruby developer, python developer, php developer or a javascript developer, there are lot of frameworks and libraries that will help you get started with API development and go to production in no time (May be topic for another blog post).  Good thing is that you can focus on your key business aspect and  reduce your time to production significantly.

Unless you are a pro and have done this sort of thing in the past, you will soon realize that you need to do lot more cross-cutting stuff on top of taking the API to production.   For example, you find that few app developers are violating the terms and contracts they agreed to and you need to stop them from using the API – much like what happened in the case of twitter.  A simple IP based access control is not going to help you because unlike website consumers, apps are installed on mobiles and traffic could be coming directly off of these devices. But you cannot block this IP because it is not the end user(consumer) who is violating the terms (in this example), but the app developer – so you need to block the app, no matter which consumer is using it.

Many questions will be coming across your way and you were not prepared to answer. For example, some usage related questions are:

  • Which are the top API calls in my service ?
  • Can we look at the usage on per-app and per-consumer basis ?
  • Can we limit the usage of an app or consumer instead of blocking them altogether when terms are violated ?
  • How do we ensure that a single app or consumer traffic oesn’t load the server ?
  • Can we expose the usage information to app developers ?

There will be several other questions relatad to security, versioning, monitoring, visibility and analytics.  You can read about them in the links above. The usual choices are  build Vs buy.  Clearly, there is lot of stuff to build if you choose to go that way.  API Management systems are perfect  if you are instead looking at a 3rd party solution.  Good thing about many of these API management systems is that you donot need to make any changes to your API or code. They sit in front of your API server much like a load-balancer and give you all the control and flexibility we talked about.

Whether your API is on-premise,  hosted in cloud or you are just looking for a SaaS like solution, you will find a vendor providing that solution.  So, do some home work, choose the right solution matching your needs.

Here are some API Management vendors that I am aware of:

Disclaimer: I worked for apigee at one point and the intention of this post is not to promote any specific vendor.

tata sky – not so customer friendly policies

Came across this blog post about how unfriendly tata sky‘s policies are. Fully agree about the rip off. I encountered similar experiences. They give out an online mechanism to sign up for a channel (like sports) but to unsubscribe you have to make a phone call to them and that too only after minimum period of 2 or 3 months. And if you donot remember, lucky tata sky.

Day before, I received a letter from tatasky saying that they have launched TataSky+HD and they are giving me an offer (as some premium member or something like that) to subscribe at 3999/- before it is made public to others. wow, I thought sounds great privilege and that is probably some discounted price. I go to the website and check that it is already public and for the same price 🙂

They have launched HD about 9 months back and still they have only 3 channels.  I doubt if more channels would ever be added. Without some kind of roadmap ro assurances, it is just waste of money for 3 channels.

Unfortunately, there donot seem to be better alternatives. It is like you have to choose the best among the worst (similar to what you face when you go to exercise your vote during elections).

Increase prices to handle increased traffic ?

Knowing that Christmas/ThanksGiving is coming up and that there would be increased traffic, would Amazon turn off all existing promotions, discounts and increase the prices to reduce the traffic?

What would any company do ? A simple guess is that they take additional steps (for e.g., deploy more servers, offer more discounts to beat the compeition, have more sales counters if it is a B & M company) to handle the increased traffic, try and make the best out of it.

I thought so too…

But come any occasion, festival or a public holiday, my mobile service provider, Airtel, sends me this message:

AX-airtel: To ensure a congestion free experience, Per SMS charges on 14th Feb 2011 is Local-Re 1, National-Rs 1.5, International – Rs 5. No FREE/Discounted SMS applicable

yes, I know, I cannot do much because there would have been a fine-print as part of sign-up agreement that gives complete right to Airtel to do whatever it wants to do with prices. Not that I am a heavy user of SMS and that I will end up paying lots more money this valentine, but it irks me to see customers taken for a ride. This is just one of many such instances where I am fed up with my service provider, but there are no better alternatives out there (sounds lot like the scenarios during elections).

It is a little surprise then that over the top providers (OTP) are taking one service at a time out of telecom service providers.