Why Trusting Twitter is Hard for Developers
Lies & APIs
“To say that Twitter and third-party developers have had an ambivalent relationship over the last couple of years is a massive understatement. Twitter has been undergoing a deep transformation of its business to one that makes sustainable sense as a public company.”
If I asked you when that was written, you might say last week. Or two months ago. Or maybe last Summer?
You’d be wrong. It’s the opening paragraph from a 2012 article by TechCrunch’s (then at The Next Web) Matthew Panzarino. This was before Twitter filed for an IPO, and was making changes to its APIs to disallow “apps that replicate” Twitter. It was the introduction of ‘tokens,’ which was a way of rate-limiting how many users could actually use third-party Twitter clients.
It failed fast, and hard. Twitter’s glass ceiling was typically 100,000 tokens, and popular clients hit that fast. It was prioritization; Marco Arment penned a blog post noting it was only possible to scale past the 100,000 threshold if Twitter liked the developer.
His conclusion: “don’t build anything for Twitter.”
He was right.
In October 2015, I was at Flight, Twitter’s developers conference. It was a smaller show, but well played. Sessions were fun and informative, and Twitter had a lot of good stuff to announce that year. There was even some keynote live-coding!
Jack Dorsey had recently returned to Twitter, and took the stage to proclaim one thing: developers are essential to Twitter.
I’m going to print his commentary in full here:
I want to talk to you today, first and foremost to apologize to you. We want to reset our relationship, and we want to make sure we are learning, listening and rebooting. That’s what today represents.
We want to make sure we have a great relationship with our developers. We want to have an open and honest relationship, and that we’re providing a service everyone can use.
One of the reasons great developers like you come to Twitter is because of what we stand for. We can’t stand alone. We need your help.
In order to earn that help, we have a responsibility to you. We have a responsibility to communicate our roadmap in a clear and transparent way. We have a responsibility to have an open dialogue to make sure we are serving you in the best way.
We need to make sure we’re serving all of our developers in the best way because that’s what’s going to make Twitter great. We need to listen, we need to learn and we need to have this conversation with you. We want to start that today.
It’s going to take some time, it’s not going to happen overnight, but I can promise you that we will make the right decisions and service this community in the right way.
You might discard that as a CEO saying what he needed to say. Jack was never made available to me at Flight 2015, but I spoke with many other execs and product managers. I asked about the 2012 API issues, and how Twitter now planned to smooth the bad feelings over.
All had roughly the same message: we weren’t here then, but we’re committed to developers now.
It all felt genuine, and in a 2016 earnings call, Dorsey claimed developers were one of five pillars for success. Again, his commentary in full:
Fifth, we’re going to continue to invest in developers. We want developers to be able to build their businesses with Twitter. We are investing in mobile with Fabric, our platform that helps developers build, grow, and make money with their apps. Fabric has grown from 0 to 1.6 billion active mobile devices in just 18 months. We believe there’s huge strategic value in building a platform for developers that helps us grow our reach. We are investing in making it easy for developers to discover, curate, and seamlessly publish great, live stories with Twitter content using TweetDeck, Curator, and embedded Tweets. More than one billion visitors to our developers’ sites and apps already see these embedded Tweets every month. We believe that these sites and apps are incredibly important amplifiers that show the huge reach and importance of Tweets. Finally, we will continue to invest in helping developers make their businesses more productive by understanding their customers and markets with Twitter data.
In addition to Flight, Twitter held smaller developer gatherings across the United States. It was all part of a grand re-engagement strategy. Twitter actually seemed to care about developers.
But 2016 brought us no Flight conference. Twitter’s company line was it found more value in the smaller events, so there was no need for a splashy soiree in San Francisco. Fair.
Fabric was Twitter’s toolkit for developers at the time. It was (and is) really good, too. It had just about everything a developer would need to analyze and scale their apps, and enough data flowing to make developers think it was a fair trade-off (developers get tools, Twitter gets app metadata).
Almost one year after Dorsey’s investor letter, Twitter sold Fabric to Google. Save for Twitter’s advertising branch, MoPub, Fabric was Google’s, and currently sits under the Firebase brand.
It was a warning sign.
Another Jack Dorsey quote, this time from 2017. This came during an investor call, where Twitter was facing another down quarter. Dorsey didn’t explicitly say developers did not matter to Twitter, but he didn’t make a distinction, and actions speak louder than words.
Fabric was sold, but Vine was shuttered. This came after Twitter worked to get Vines playing in the Twitter feed proper, and tried to get ‘creators’ to invest in the platform while eschewing Facebook, Instagram, and Snapchat.
Really, Twitter never figured out monetization for Fabric or Vine. App metadata was likely meant to help MoPub drill into a better advertising effort (targeted ads), and Vine might have been low-hanging fruit for advertising as well. Critically, I’ll say Twitter never really figured out its users or developers.
At the time Twitter sold Fabric and ‘ol Jack suggested devs didn’t matter, I wrote “to parse that statement further, Dorsey is saying the only things that matter to the company are your feed and live video.” It has held true.
New API changes are coming, effectively killing Twitter off entirely for third-party developers. It’s the second-coming of rate limits and paid prioritization; Twitter isn’t directly killing third-party apps, it’s just making it economically impossible to do business as usual.
A new endpoint for developers brings timeline refreshes, but not immediately. The likely scenario is an app like TweetBot will continue working, but you’ll be a few minutes behind as updates won’t be immediate.
If you’re into immediacy, Twitter is forcing you onto its own app and website. For some, this won’t matter much. But Twitter is also branded a ‘news’ app, and it’s where pundits turn when news is breaking. In the era of ‘first!,’ Twitter is positioning itself in the lead.
Take it all in: API changes, reversing those changes, a bold proclamation developers matter again, selling off developer tools, hinting developers actually didn’t matter, then another round of API changes that echo the original developer-unfriendly scheme.
For a developer of a third-party client to continue business as usual, it would have to charge users around $15 per month to even sniff at break-even, according to publicly available data on Twitter’s new API pricing scheme. It’s probable ‘enterprise’ pricing will be better, but even half is too much — and I’m not even counting a 30% cut Apple or Google would take for subscription maintenance.
The subscription economy works, but not when the alternative is free — and faster. Developers would also have to charge for the app itself if it were simply trying to break even on API pricing. Users already get furrowed brows at paid apps and subscriptions. The duopoly would destroy small businesses leaning on Twitter. Think back to Marco Arment’s words, here.
Developers don’t matter to Twitter, and never actually have. At every turn, it has failed to monetize what third-party developers were doing, even when it had the right tools to do so. This isn’t the failing of developers.
Twitter also lied it was re-dedicating itself to developers. Dorsey said “It’s going to take some time, it’s not going to happen overnight, but I can promise you that we will make the right decisions and service this community in the right way.”
Twitter gave it no time and has shown the developer community nothing but disservice.