16 Aug 2012

The Twitter API changes BS

In case you missed the gist, Twitter has a new set of API rules for developers. The changes are divided into three, and I will brief through them.

1. Required Authentication

All Twitter API endpoints now require authentication. Before now, endpoints like search and public timeline are available without authentication. Now authentication will be needed for ALL endpoints. Seriously, this is not a big deal.

2. Rate limiting

Twitter allows a max of a total of 350 calls per hour per user to its API. The new idea is to have a max of 60 per hour per endpoint per user to the API and up to 720 per hour for APIs having to do with "Tweet display, profile display, user lookup and user search". Again, not bad.

3. The BS - Rules of the road

There are three new set of developer rules. The first is the display guideline which literally enforces how tweets are displayed in a client. Basically, the client must display the avatar, user's name, username, timestamp and tweet entities at an exact specified position. The display guideline is damn too strict and in the end, all twitter clients will look the same.

Secondly, pre-installed clients must have their application certified by twitter. Well, I can only hope the certification won't be more difficult than having a client for pre-install on a consumer electronic device in the first place. One thing that won't be fair though is Twitter rejecting apps based on competition on the platform and not "to make sure that the developer is providing the best Twitter experience possible — before the application ships". If for example I get a deal to have Twhii pre-installed on some Nokia feature phones (lets say some S40 devices), Twitter may refuse certification because they already have their own client for the platform and mine may pose great competitor.

Finally, if your application will require more than 100,000 user tokens (i.e basically deals with more than 100,000 users), you will need an exclusive permission from Twitter. Basically, what this means is there is a limit your client can grow. This should also explain why many apps, Instagram as an example, have been having issues with the platform.

My two kobo

Twitter is a great social media tool but increasingly making it hard for developers to build on the system. In fact, I think they want to cut out as many traditional clients as possible. What good does traditional clients offer anyway than to use up available resources and compete with their own clients on the platform?

I see Twitter focusing more on the left hand side (the business side) of the eccosystem quadrant and honestly, I see more choking rules especially for the top right (client apps) side in time to come. Who knows, they may even say no integration of ads in clients.

How will developers react to this? What are the alternatives?

My name is Opeyemi Obembe. I build things for web and mobile. You should follow me on Twitter (@kehers).