While listening to Craig Hockenberry discuss the current state of Twitter on The Talk Show and Core Intuition I was struck by one avenue that developers of twitter apps seem to be ignoring. The crux of the new regulations Twitter has announced is a user cap. This cap is 100k users or twice an application’s current userbase. Twitter has left open exactly what will happen once a developer reaches this limit but it is clear the result isn’t going to be good for developers.
In iOS 5 Apple introduced a new framework that integrated Twitter directly into the system. The marquee use of this functionality is to allow easy tweet composition from within applications. In addition to just being able to compose tweets the framework also added a class called
TWRequest that allows applications to make authenticated requests to the Twitter API. Use of this functionality doesn’t require setting up a Developer account with Twitter or signing Twitter’s developer agreement.
When an application makes API requests via this method Twitter is given the application’s bundle identifier so Twitter could in theory impose user limits per application. However, in all their discussions of user limiting Twitter has thus far referred to limits on “User Tokens” rather than actual users. By accessing the API through iOS the tokens used are not created by or associated with the app developer, instead they are tied to Apple directly. Any actions Twitter takes to then restrict how this API is used would need to keep Apple happy since they are supporting this interface for developers.
As far as I know the only limitation that is currently placed on access via the iOS (and now Mountain Lion) libraries is that you have no access to a user’s Direct Messages. Other than that restriction you can make a full use of the API and indeed Twitter’s own example shows how to access the
home_timeline (the crown jewel of the API). You could therefore build a fully featured Twitter client (minus DMs) on top of this API.
Exactly how Twitter would respond to or limit API use through Apple’s integration is hard to know, but I know that I would feel more comfortable working with their API through Apple. Twitter may be happy to walk all over 3rd party developers but Twitter would need to tread lightly in taking action to enforce their new restrictions on iOS based apps. Twitter may not see 3rd party developers as vital to their future but Apple certainly is.
I don’t personally recommend starting new projects that integrate with the Twitter API. They have made it clear that they want to squash innovation in this area. This is likely just a temporary gap in their API strategy. However, if you have an existing Twitter-related feature and are concerned about how it will be restricted by their new policies this may be worth using. Additionally, I could easily imagine and recommend that existing 3rd party clients make use of this to avoid hitting their own user caps. This maybe the way to provide free versions of Twitter clients without maxing your limits. Paid users could then switch to the regular access method.