After years of warnings and several delays, Twitter finally made good today on its promise to kill off key features of popular streaming apps. In a blog post today, Twitter said it would remove access to APIs needed to power push notifications and an auto-refreshing timeline. Rob Johnson, a director of product, said Twitter would stop supporting those APIs so it could focus on its own native applications.
The changes affect popular third-party Twitter apps including Tweetbot, Twitterrific, Talon, and Tweetings. As Johnson wrote in a separate note to the company, third-party apps invented many features that were later adopted by the company in its native apps.
“Third-party clients have had a notable impact on the Twitter service and the products we build,” he wrote. “Independent developers built the first Twitter client for Mac and the first native app for iPhone. These clients pioneered product features we all know and love about Twitter, like mute, the pull-to-refresh gesture, and more.”
But Twitter warned developers against building clients that replicated the home timeline more than six years ago, saying it would focus future development on its native apps. Most newer Twitter features, including polls, bookmarks, and Periscopes, never made it to third-party apps, because Twitter would not include them in its APIs.
Twitter first announced the shutdown in April, with a target date of June 19th. In response to complaints from developers, it agreed to delay the shutdown so they would have more time to update their apps.
There’s a world in which Twitter embraced third-party developers fully, letting their energy and ideas infuse its struggling platform with new life. Most of Twitter’s best ideas have come not from the company, but from its users. But that would introduce new costs and complexity into a company that is struggling to meet basic business objectives.
Johnson’s full note to the company is below.
Today, we’re publishing a blog post about our priorities for where we’re investing today in Twitter client experiences. I wanted to share some more with you about how we reached these decisions, and how we’re thinking about 3rd party clients specifically.
First, some history:
3rd party clients have had a notable impact on the Twitter service and the products we build. Independent developers built the first Twitter client for Mac and the first native app for iPhone. These clients pioneered product features we all know and love about Twitter, like mute, the pull-to-refresh gesture, and more.
We love that developers build experiences on our APIs to push our service, technology, and the public conversation forward. We deeply respect the time, energy, and passion they’ve put into building amazing things using Twitter.
But we haven’t always done a good job of being straightforward with developers about the decisions we make regarding 3rd party clients. In 2011, we told developers (in an email) not to build apps that mimic the core Twitter experience. In 2012, we announced changes to our developer policies intended to make these limitations clearer by capping the number of users allowed for a 3rd party client. And, in the years following those announcements, we’ve told developers repeatedly that our roadmap for our APIs does not prioritize client use cases — even as we’ve continued to maintain a couple specific APIs used heavily by these clients and quietly granted user cap exceptions to the clients that needed them.
It is now time to make the hard decision to end support for these legacy APIs — acknowledging that some aspects of these apps would be degraded as a result. Today, we are facing technical and business constraints we can’t ignore. The User Streams and Site Streams APIs that serve core functions of many of these clients have been in a “beta” state for more than 9 years, and are built on a technology stack we no longer support. We’re not changing our rules, or setting out to “kill” 3rd party clients; but we are killing, out of operational necessity, some of the legacy APIs that power some features of those clients. And it has not been a realistic option for us today to invest in building a totally new service to replace these APIs, which are used by less than 1% of Twitter developers.
We’ve heard the feedback from our customers about the pain this causes. We check out #BreakingMyTwitter quite often and have spoken with many of the developers of major 3rd party clients to understand their needs and concerns. We’re committed to understanding why people hire 3rd party clients over our own apps. And we’re going to try to do better with communicating these changes honestly and clearly to developers. We have a lot of work to do. This change is a hard, but important step, towards doing it. Thank you for working with us to get there.