In Twitter Limits Potential App Growth, the author argues against Twitter’s new global limit (20,000 requests per hour) for previously whitelisted (and unlimited) API-consuming IPs:
I’m arguing that 20,000, or any request-rate limit for that matter, limits any app out there from being able to develop on the Twitter platform, and I don’t see why any able-minded entrepreneur would want to build on it if there’s such a rate limit in place.
Is Twitter’s rate-limiting the only factor giving you pause about building a business that depends on Twitter? Maybe I’m a cynic, or maybe it’s the programmer in me trying to enumerate all possible failure cases, but I don’t feel comfortable trusting my business’ success to a private third party over whom I have zero control.
- Twitter can approach capacity and slow down, delaying your API-fetching performance.
- Twitter can be down.
- Twitter can have a bug that brings it down or causes bugs for API consumers.
- Twitter can selectively disable functionality.
- Twitter can decide to disable, change, or start charging money for the type of API usage you rely on.
- Twitter can cache aggressively to reduce load, sending out-of-date information where timeliness was previously assumed.
- Twitter can decide that your application is against their best interests and disable it.
- When any of these cause problems for your business, you will have absolutely no recourse.
And they are completely within their rights to limit API usage in any way they see fit. Your business is not Twitter’s responsibility.
Furthermore, running an API is a huge drain on resources, and like everything else in this business, there’s no such thing as “unlimited”.
These dangers apply to reliance on any service. Even Facebook. Even Google. Even if they call their services “application platforms” and you call your business “new media” or a “mashup”. Building a business exclusively on top of another service is always going to be unreliable.
Dependence on public infrastructure is unavoidable: your service requires power and internet connectivity. These sorts of dependencies aren’t one-of-a-kind: if one host doesn’t provide reliable power and connectivity, you can move to a different host.
But other web services are usually unique — if Twitter negatively impacts your Twitter-dependent business, you can’t just switch to another Twitter.
Other people’s web services are not public infrastructure, and no matter how many “new media” people say so in discussion panels, they never will be.