Twitter, or How To Kill an API Developer Ecosystem

Net API Notes for 2023/01/19 - Issue 209

By this point, you're probably tired of hearing about Twitter. Either you find the recent behavior reprehensible enough to drive your scrolling behavior to other services, you still have a compelling community there that isn't easily replicated and don't mind holding your nose, OR you just don't care. It takes all kinds.

However, Twitter's treatment of 3rd party clients does warrant a deep dive if for no other reason than that it serves as a brilliant study of how to kill an API developer ecosystem. If you allow external 3rd parties to integrate via APIs, seek network effects around your platform, or want to grow your developer community, this page from my Net API Notes is for you.

Twitter's Week is One for the Annals of Dysfunctional Communication

Users of several 3rd-party clients, including Twitterrific, Tweetbot, and Echofon, began reporting that they were having trouble last Thursday. A Twitter API outage was quickly ruled out. Instead, the problem was eventually narrowed to the keys used by the clients to access the API - they no longer seemed to work.

Despite the popularity of these tools, Twitter remained silent. A day after problems began, Twitterific's maker told their followers,"We're in the dark just as much as you are".

On Saturday, The Information alluded to internal Twitter conversations shared with them that said that deactivating keys used by popular Twitter clients was intentional [a paywalled story, unfortunately]. Twitter developers that asked for talking points were told by management that Twitter had "started to work on comms". The intentional revocation of 3rd-party clients seemed confirmed when Paul Haddad, Tweetbot co-creator, swapped out its API keys. However, this bypass was only temporary, and, once again, Tweetbot - and those that use tools like it to enhance their usage of Twitter - were left frustrated.

On Tuesday, Twitter said it intentionally block apps like Tweetbot for violating its long-standing third-party API rules. No further reason was given when pressed for detail on what rules had been broken. That resulted in some devs calling the entire series of events "A Sh*t Show".

Then, nearly a full week since problems first started, Twitter quietly changed its Developer Agreement. They added a single line forbidding "use or access to the Licensed Materials to create or attempt to create a substitute or similar service to the Twitter Applications". Twitteriffic was officially discontinued today and pulled from the App store after 16 years of development.

State of the Twitterverse • The Breakroom

This Isn't Twitter's First Developer Dust-Up

In Web 2.0's golden years (approximately 2008-2011), great design, an easily demonstrable 'Hello World' result, and cultural cachet made Twitter's API the demo integration. For countless developers, Twitter was the first experience with an API.

However, that changed starting in 2012. Twitter came under increasing pressure to demonstrate greater profitability. With that pressure came greater scrutiny as to whether incurring the cost and reaping little of the benefit of external development made sense. Twitter was also threatened by Silicon Valley entrepreneur Bill Gross who, starting in 2010, aggressively began buying Twitter clients. He hoped to capture enough of the network that Twitter would be regulated to just another client among many.

Responding to these challenges, Twitter restricted access to "the firehose", stricter rate limits, and fewer permissible use cases. As one might imagine, those changes did not go over well with the developer community. The changes frustrated scores of folks and, practically overnight, many of the interesting edge cases and experimentation around the service evaporated. The situation was so stark that Jack Dorsey apologized to developers, going so far as to say that "shutting down the API was the worst thing we did".

The Twitter API had enjoyed a renaissance in recent years, with a new tone, greater support, and resurgent cultural relevance after the 2016 elections. But, as they say, all good-things-that-became-bad-and-then-were-good-again eventually must end.

If You Squint Hard And Suspend What You Know About Network Effects, Twitter Cutting 3rd-Party Client API Access Makes Sense

When Elon Musk bought Twitter, he also saddled it with massive debt. So much so that the interest payments alone are in the billions of dollars, and that bill is coming due.

Third-party Twitter clients don't display advertising. Supporting the API and the bandwidth they consume costs money. A relative minority of users also use the clients. If you're thinking only in terms of short-term spreadsheets, cutting off 3rd party app access is all upside with little downside. (There may be some disappointed power users but, at this point, what are a few more angry letters-to-the-editor for the dumpster fire?).

However…

A Social Media Site Thrives (or Dies) Based on Their Network Health

A social platform is dependent on the health of interactions that occur. Twitter enables producers to post and consumers to read and react. The value a user derives from Twitter depends on the number of other users performing the producer and consumer roles. The more users that join the network, the more value a user enjoys. This increase is referred to as a positive network effect.

A platform like Twitter dies when it enters a negative reinforcing loop - people leave (or are driven off due to policy shenanigans), there's less authentic stuff posted simultaneously as there are fewer reactions, more people leave, etc. The fact that Twitter is forcing an algorithmic timeline (or "we'll force feed you the stuff we can find") strongly speaks to the fact that people's natural reverse-chronological feeds are stagnating.

Although a minority, power users are the kind that seeks out a customized Twitter experience. Power users are the ones posting interesting content and engaging in conversations. Cutting off the tools that enable them to be successful only accelerates the negative loop. Pulling out of a death spiral is difficult, but this isn't how you do it.

But that is the users. What about clients dependent on the API and then, without warning, found themselves locked out?

APIs Are a Promise

To be clear, Musk owns Twitter and can run it however he wants. But there's something deeply unsettling about how this sequence of events transpired. This would have been unfortunate but not newsworthy if someone within Twitter had come out and established that a change in direction was needed and that X users had Y days/weeks/months before changes took place.

In my API lifecycle consultations, I have an entire section on how to do deprecation and sunsetting as transparently and ethically as possible. Revoking access is the ultimate breaking change. To minimize service disruption, risk, and reputation damage, it is imperative to think in terms of years IF you ever hope to be trusted again. That goes for both internal and external API management practice.

Pulling the plug on Twitter clients, ghosting everyone on what happened, and then - much later - attempting to gaslight everyone that this was retroactive punishment for violating a policy that can't be named is - to Gruber's point - "absurdly disrespectful". Everyone involved should feel bad because they did badly.

Breaking a Promise Is A "One-Way Door"

Hilariously, in an example that should be under the dictionary definition of "tone deaf", the Twitter Developer Accounts sent out an email, this week, asking "Are you ready to kickstart your build using the Twitter API?"

The answer, at this point, is no.

"Trust Takes Years To Build, Seconds To Break And Forever To Repair" - Dhar Mann.

Milestones

Wrapping Up

Thank you to those that continue to support this little endeavor. Because of their support, these emails remain free of ads, paywalls, or information sharing. If you'd like to chip in the equivalent of a coffee each month for what you get from the newsletter, check out my Patron page.

That's all for now. Till next time,

Matthew (@matthew and matthewreinbold.com)

Subscribe to Net API Notes

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe