Twitter. From the users' side, a fantastic platform. You write something smart, witty, maybe even informational, certainly entertaining (or at least you try to be), and hit send. It instantly goes out to millions upon millions of people who may or may not care about you and what you say. Whether they care doesn't matter, though, because your followers care, and sometimes they interact with you. Discussions, arguments, anything could happen.
Twitter. From the developers' side, it's a nightmare. "Oh, you've built your own Twitter client? That's cool, but we're not actually going to expose some APIs to you for no good reason. Also, you want multiple media entities in the streaming API like in the REST API? Nah. Ooh, you want push services for your users? Here are some hoops you have to jump through. What? they're unreasonable? Well that's too bad for you. Oh I see, you're trying to make a living off of this? Well here's a 100,000 token limit that we'll suddenly apply for no good reason to make sure that never happens!"
Sarcasm aside, all of the above is real. But it wasn't always so bad. To give you some background, here's the origins story.
Twitter started as "Twittr," a texting service meant to update a small group of friends on what you're currently doing.
After a while, they rebranded, and became Twitter. They launched a web based API soon after. Around the same time, the App Store was beginning to explode in popularity. That was when Tweetie for iPhone by Loren Brichter launched.
The app was an incredible success, arguably the first huge success the App Store had in general. It drew both developers and users alike to Twitter in droves. Tweetie became synonomous with Twitter, and transformed into the de-facto client for the platform. Other developers began to create fantastic Twitter clients of their own, and suddenly users had a choice of clients. The third party Twitter client market was thriving.
Then, Twitter bought Tweetie.
With Tweetie now in Twitter's hands, and Loren Brichter working at Twitter, what could go wrong? Everybody's favorite Twitter client would definitely be updated for the foreseeable future, and if not there were alternatives, right? Wrong. Shortly after joining Twitter, Loren left Twitter due to apparent conflict of interest. Tweetie, now Twitter for iPhone, fell into disrepair.
Now you must be thinking, "That's OK right? There are third party clients still available right?" Yes. But, Twitter for iPhone was soon revived as something completely different. It no longer bore any resemblance to Loren's beloved app. Now it's as uninteresting as any old ho-hum app. To top it off, there were now ads directly in your timeline, and navigation around the app was incredibly confusing.
As updates to the app rolled off the line, the situation became increasingly worse. New features were added, but they took advantage of private APIs not available to third party developers. Users of third party clients started complaining to developers about the missing features, but developers were unable to do anything because those features required the private APIs. To make things worse, Twitter suddenly announced that they would be limiting developers to only 100,000 user tokens, effectively hard limiting a third party client's lifespan. Twitter was attempting to kill off third party clients so people would use the official one.
As Twitter's developer relations worsen even as you read, one has to wonder. Why would Twitter now try to ostracize the very people who made the platform what it was in the first place? The old expression "biting the hand that feeds you" comes to mind. Why Twitter is doing this, we may never know. But we sure as ** would like an explaination.