Everyone1 is talking about this, so I will try to sum up what the fuss is about instead of just piling on and writing the same as everyone else. The really short of it is that I know longer see anything to suggest Twitter will cease its activity of destroying its platform.
In yet another of Twitter’s obscure developer blog posts by someone unknown to the public, Twitter essentially told its developers to not let the door hit their ass on the way out. Perhaps worse, the post is written in a convoluted business-speak language that reflects the low priority the head honchos of Twitter devoted to crafting and editing the announcement—and by extension, the developer community the new measures affect so significantly.
In six months, developers will have to conform to a wide variety of new requirements, some of which I won’t mention here, but which can be read in the external links provided by the end of this post. The two main policy changes I want to touch on are:
The Cap on Clients’ Users
In Twitter’s own words, emphases mine:
[I]f you are building a Twitter client application that is accessing the home timeline, account settings or direct messages API endpoints (typically used by traditional client applications) or are using our User Streams product, you will need our permission if your application will require more than 100,000 individual user tokens.
(…) Once you reach 200% of your current user token count, you’ll be able to maintain your application to serve your users, but you will not be able to add additional users without our permission.
Translated, there are two tiers of clients affected:
- Clients with less than 100,000 users
- Clients with more than 100,000 users
Clients with less than 100,000 users will only be allowed to service 100,000 users. At that point, they will need “Twitter’s permission” to add more users.
Those with more than 100,000 users will have their maximum number of users capped at 200% of their present number of individual users. If you have 1 million users as of now, you will be allowed to service 2 million users. After that, who the hell knows.
The Sippey Chart
They could just had left the explanation at that, but instead they proceed through the looking glass and down the rabbit hole. Referring to “Today’s Twitter Ecosystem”, something that can best be described as the ramblings of a syphilitic mind ensues. What will go down in developer history amongst developers is introduced with this monstrosity:
With our new API guidelines, we’re trying to encourage activity in the upper-left, lower-left and lower right quadrants, and limit certain use cases that occupy the upper-right quadrant.
The chart3 that follows defies description and comprehension; it is the Jabberwocky of MBA-concocted bullshit bingo, a Lovecraftian horror visited upon any poor soul who tries to grasp just how big a turd Twitter just dumped on them.
“Let me explain”. The only thing you need to know is that Twitter plan to focus on every
quadrant that doesn’t benefit users—who aren’t corporate enterprises. Behold as Twitter literally fucking explain how they will prioritize services like Klout over those of any utility to you:
In the lower-right quadrant are services that use Twitter content for social influence ranking, such as Klout.
Compare this to the exiled “upper-right quadrant” of services; see if any of these services sound useful to you:
In the upper right-hand quadrant are services that enable users to interact with Tweets, like the Tweet curation service Storify or the Tweet discovery site Favstar.fm.
That upper-right quadrant also includes, of course, “traditional” Twitter clients like Tweetbot and Echofon.
“Of course” the upper-right quadrant of the Enterprise-Consumer-to-Analytics-Engagement Twitter API graph includes “traditional” Twitter clients—duh!
It’s plainly obvious that the most apparently useful part of Twitter should be dialled down, while invaluable services like Klout are granted higher priority. The Chart of Vile Darkness has spoken!
Take a mental note of the tone in the sentence afterwards:
Nearly eighteen months ago, we gave developers guidance that they should not build client apps that mimic or reproduce the mainstream Twitter consumer client experience.” And to reiterate what I wrote in my last post, that guidance continues to apply today.
Some “guidance”—insert your Darth Vader quotes here. If there is one take-away from this entire mumbo jumbo, it’s that Twitter have changed their policies to pro-actively stab their developers in the front instead of the back.
The Restriction of Tweet Actions
The second hit involves changing Twitter’s display guidelines to display requirements:
To ensure that Twitter users have a consistent experience wherever they see and interact with Tweets, in v1.1 of the Twitter API we will shift from providing Display Guidelines to Display Requirements, which we will also introduce for mobile applications. We will require all applications that display Tweets to adhere to these. Among them: linking @usernames to the appropriate Twitter profile, displaying appropriate Tweet actions (e.g. Retweet, reply and favorite) and scaling display of Tweets appropriately based on the device. If your application displays Tweets to users, and it doesn’t adhere to our Display Requirements, we reserve the right to revoke your application key.
Many of the
guidelines are very reasonable, but take a look at section 3b on tweet actions:
b. No other social or 3rd party actions may be attached to a Tweet.
This rule, as it will be in six months, would suggest that no third-party developer’s service can be associated with a displayed tweet. Any client provider who does not adhere to this are likely to have their application key (i.e. permission to run the application) revoked.
The most obvious services affected by this decision that come to mind are Instapaper and other “read later” services. Any prospect of a bookmark service integration like Pinboard are moot. And that is just to name the examples that come to mind right now.
I can’t speak for anyone else, but the Instapaper tweet action in Tweetbot is invaluable to my browsing experience, since I rarely have time to read all the tweeted links in my stream—and some of them work very poorly on mobile devices and will have to be queued for when I am near a laptop or desktop computer. Throwing Instapaper under the bus is to throw many linked sites and articles under the bus as well, but I take it that Twitter think the number of people who use Instapaper and consider it invaluable are negligible; as Steve Jobs’s was wont to say: “Fuck ‘Em”.
Sippey and Twitter could have saved themselves the time of drawing flowcharts and Venn diagrams on the whiteboard in the meeting room of Consumer Products HQ, and the countless minutes drafting circumloquatious business speak with an undercurrent of snark, had they just distilled the blog post into these simple words:
Fuck developers, and fuck users. Got mine.
- John Gruber: “Twitter to Client Developers: Drop Dead”
- Matthew Panzarino: “Twitter sets max user caps for 3rd party clients, tightens API rules to direct users to official apps”
- Marco Arment: “Interpreting some of Twitter’s API changes”
- Tweetbot creators, Tapbots: “Don’t Panic”
memnips at Hacker News:
It’s because they want to build an advertising business and they don’t want to compete with their developers. Twitter as a service is not the business they’re in. They want direct access to their audience to increase their chances at monetization.
It makes perfect business sense, it just sucks.
Ben Brooks: “Twitter’s API Changes”
- John Herman: “Why People Are So Mad At Twitter Right Now”
- Nick Bilton: “Why Are People So Upset With Twitter? Let’s Grab a Bite”
- “Where did the Tweetbot for Mac Alpha go?