Well. Twitter went and did it. They dropped the hammer on developers with their so-called Version 1.1 of the Twitter API.
The first thing that gets me about the post written by Twitter’s Director of Consumer Product, Michael Sippey is the whole ‘1.1’ naming. Going from the previous 1.0 to this is much more than a mere point release. I suppose the argument is that its not a huge step from the ‘guidelines’ of 1.0 to the ‘requirements’ of 1.1, but the ‘Changes to the Developer Rules of the Road’ section—which I’ll be going into in depth below—is such a dramatic change that giving this a v1.1 is clearly just an attempt to make these changes look minimal. Almost inevitable. I guess in that way its appropriate.
To be fair there are parts of the new API that are not controversial. I don’t think anyone will be upset by required authentication. That might actually start to cut down on the bots and spam. And the new Per-endpoint rate limiting will probably be transparent to most devs. It might even help some.
Likewise, the Display Requirements aren’t that onerous. Here is what a single tweet looks like:
Twitter is Vader, 3rd-party sites/clients are Lando. "I am altering the deal. Pray I don't alter it any further." Users are Han in carbonite— Jason Kottke (@jkottke) August 17, 2012
That’s not so bad. And although the document isn’t as clear as it could be on this point it looks like tweets viewed in a timeline—as most are in third-party clients—will not need to be altered much beyond the way they are displayed now.
As a point of reference1 there really is no consensus way to quote or embed an App.net Alpha post. So I’ll just blockquote and link:
“Twitter tells you to ‘Compose a tweet’.
Google tells you to ‘Share whats new’.
Facebook asks you ‘What’s on your mind?’.
App.net just sits there blankly saying ‘Dude, it’s yours, you paid for it. Here, have a post button.’
Which is also nice.”
The real problem with v1.1 starts off well enough: ‘Requiring developers to work with us directly if you need a large amount of user tokens’. That sounds reasonable, right? If your application accesses the API for a large number of users you’ll need to work with Twitter directly. Wait. What?
How large a number? And what exactly does ‘work with us directly’ mean?
Twitter is only answering that first question right now. 100,000. That’s it. You’re app can serve at most 100,000 potential customers out of the 300,000,000-plus twitter accounts. So if you’re selling a $2.99 app you can forget about building a sustainable business on the Twitter platform2.
If you have more than 100K users of your app today then you can keep on keeping on. Until you hit 200% of your current user number. This is the case for my favorite Twitter app, Tweetbot. Paul Haddad, of Tapbots, at least outwardly doesn’t see a need to panic:
There’s been a lot of fear, uncertainty and doubt generated by Twitter’s latest announcement. I wanted to let everyone know that the world isn’t ending, Tweetbot for Mac is coming out soon, Tweetbot for iOS isn’t going anywhere. So sit down, grab a towel and let’s go over some of these API changes.
But, Paul’s a smart guy. The writing is on the wall for Twitter clients. Sippey himself says in his post:
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.
Calling it guidance is nice and all but the veil on that threat is pretty thin. Between the lines it’s saying, ‘Ok, we aren’t pulling the plug on you guys today. But don’t be surprised if we do it. And soon. Remember my guidance?’ I would be truly shocked if the Tapbots team weren’t at least exploring their next, non-Twitter, project.
Why are they doing this? Its not being mean just for the sake of being mean. It is all about control of the experience3. If Twitter can ensure it’s actual customers—the businesses that pay Twitter to put things in front of your eyes—that everyone who accesses the service sees a consistent product then they can more easily monetize the stream. If they just let developers show tweets willy-nilly then how can Twitter assure their business partners that you’ll ever see their ads and expanded tweets?
The galling thing about Twitter turning on its third-party devs like this is that it was precisely those devs who made Twitter what it is today.
Who invented the pull-to-refresh? Loren Brichter did with Tweetie. Tweetie was the Twitter app to have in 2009. It was even acquired by Twitter and became the official Twitter app in 2010.
Who invented the term ‘tweet’ and the blue bird that was appropriated for the Twitter logo? It was the folks at Iconfactory with their client app, Twitterrific. Here’s a list of the contributions Twitterrific made to the Twitter ecosystem. It’s really astounding how much Twitter owes to these developers.
But these developers are not Twitter’s customers. And just like us users, the developers are getting shut out in favor of the real customers, those buying ads and ‘media integration’ and such.
The problem for the Twitter ecosystem though is that by actively pushing good developers away4 they’re going to worsen the Twitter experience. The great apps are what drew many users in. Losing those apps could very well push those users away again.
Twitter is stifling innovation in favor of complete control. Just look at this super cool web app that just launched, State, that pulls Twitter data and aggregates it into user-controllable streams. Here’s a sample News State. It works great and looks great and doesn’t make Twitter any money so the new API 1.1 will probably shut it down. As the State team titles their post about it: What we built with Twitter that now won’t fly.
The new API even kills the idea I hinted about in a footnote to my last post about an idea for an iPhone app. I thought a chronological, integrated Twitter and Facebook client would be pretty damn cool. Well, rule 5a kills that idea:
[5a]Tweets that are grouped together into a timeline should not be rendered with non-Twitter content. e.g. comments, updates from other networks.
The more you tighten your grip, Twitter, the more users will slip through your fingers.
I honestly think that it will only be a matter of time before Twitter starts hemorrhaging users. When developers like those at Tapbots and Iconfactory start making apps for some other service, be it App.net or something else, the users will start to migrate as well.
Bottom line, this API change is going to end up weakening the value of Twitter for its users. They built their business on their ability to keep our eyes on the stream. But the waters are getting muddied.
Some Relevant Links:
Twitter hands down new, strict rules for third-party developers: Macworld summarizes the API changes.
Twitter needs to get their shit together: Nick Bruun’s take.
Hypercritical Ep. 81, Channels of Control: John Siracusa and Dan Benjamin on the API changes and what it means for developers, users, and App.net.
1And just to be a bit snarky, honestly.
2Let’s say you sell an app for $2.99—what Tweetbot sells for right now—and you can manage to sell 100,000 copies—not accounting for customers with multiple accounts, each of which counts against your 100,000 tokens. That’s $299,000. Minus Apple’s 30%: $209,300. If your company is more than just you that’s not going to go very far…
3Meaning control of your eyeballs.
4And into the waiting arms of App.net, I hope…