Several third-party app makers have banded together to protest the shutdown of Twitter’s streaming APIs, along with a required switch to a new “Account Activity API.”
The removal of streaming services is likely to alter these apps in fundamental ways, breaking them in some cases. As of early Friday none of the developers noted had access to an existing beta that would let them test how the switch might affect their apps at scale.
If this sounds familiar it’s because Twitter has been making clumsy, developer-hostile moves for years. Ever since 2012, when they posted a confounding advisory warning developers not to create apps that “mimic or reproduce the mainstream Twitter consumer client experience,” Twitter has stoked an air of uncertainty around their third-party ecosystem.
One can venture a guess as to their motivation. Twitter has shifted away from its origins as a “platform” to a more traditional ad-supported play, one that requires large audiences and constant growth to thrive. If that’s your business model, a free-wheeling API isn’t in your best interest because it makes it difficult to guarantee the consistent delivery of ads to every user. But that’s still a guess, because as a company Twitter is just plain terrible about broadcasting its intent.
Ironically, Twitter owes its initial success to third-party developers more than most products. Twitter launched during the pre-iPhone, pre-app Internet, and was nominally based on SMS. But the way enthusiastic early members interacted with it most was through desktop apps built by third parties. For years Twitter had none of its own.
Twitter was born during an era when having an API was seen as a virtue, and enabling third-party developers was a key to growth. They reaped the benefits of that—they even co-opted their brand from a desktop Mac application—becoming immensely popular along the way.
Fast-forward to the present day and things have changed. Twitter is a company driven by growth on mobile, specifically its native iOS and Android apps. Desktop is a comparatively small share of their overall audience, and certainly not where the action is. And their revenue comes from ads, increasing the importance of controlling the user experience.
That’s fine. It’s just that Twitter doesn’t say so.
In many ways, I would respect Twitter more if they just came out and said it or announced in clear and unequivocal terms that they’re shutting down outside developers and why. This tweet from Dieter Bohn nails it (the rest of Dieter’s thread is worth checking out too):
The infuriating part of all of this is if Twitter wants to just cut third party apps, it should say so and not hide behind obscure api policy changes.— Dieter Bohn (@backlon) April 6, 2018
Maybe this is part of a great product refocusing at Twitter. I should hope so, since they’ve been making puzzling moves lately, like abandoning native apps on major platforms. Maybe they’ve got a Big Plan. Who knows? And it’s that “Who knows?” that kills. The end result is Twitter comes off looking like a company that doesn’t know what it’s doing, generating uncertainty for its developers, and by extension, its users.
Fittingly, I switched over to using Twitter’s native app on my iOS devices last year because I thought it was a near certainty they would eventually screw over third-party developers. I wanted to start getting used to what that future might feel like if I wanted to stay connected to my friends and colleagues on their network. Not because they said that was what was going to happen, but because it felt like that was what was going to happen. (Perhaps more damning, I was also using it to break myself of an obsessive Twitter-checking habit. I found their native app interrupted the scroll so much it discouraged the kind of regular, diligent scanning I would do with Tweetbot. And it worked. I check in far less now than I did before.)
Update: Twitter has announced they are delaying the rollout of the Account Activity API, and have committed to giving developers 90 days before they deprecate the existing Site Streams and User Streams APIs. The thread announcing the change links to a migration guide and encourages developers to sign up for beta access, but many questions still remain.