Battle for the planet of the APIs
Back in 2006, I gave a talk at dConstruct called The Joy Of API. It basically involved me geeking out for 45 minutes about how much fun you could have with APIs. This was the era of the mashup—taking data from different sources and scrunching them together to make something new and interesting. It was a good time to be a geek.
Anil Dash did an excellent job of describing that time period in his post The Web We Lost. It’s well worth a read—and his talk at The Berkman Istitute is well worth a listen. He described what the situation was like with APIs:
Five years ago, if you wanted to show content from one site or app on your own site or app, you could use a simple, documented format to do so, without requiring a business-development deal or contractual agreement between the sites. Thus, user experiences weren’t subject to the vagaries of the political battles between different companies, but instead were consistently based on the extensible architecture of the web itself.
Times have changed. These days, instead of seeing themselves as part of a wider web, online services see themselves as standalone entities.
So what happened?
I don’t mean that Facebook is the root of all evil. If anything, Facebook—a service that started out being based on exclusivity—has become more open over time. That’s the cause of many of its scandals; the mismatch in mental models that Facebook users have built up about how their data will be used versus Facebook’s plans to make that data more available.
No, I’m talking about Facebook as a role model; the template upon which new startups shape themselves.
In the web’s early days, AOL offered an alternative. “You don’t need that wild, chaotic lawless web”, it proclaimed. “We’ve got everything you need right here within our walled garden.”
Of course it didn’t work out for AOL. That proposition just didn’t scale, just like Yahoo’s initial model of maintaining a directory of websites just didn’t scale. The web grew so fast (and was so damn interesting) that no single company could possibly hope to compete with it. So companies stopped trying to compete with it. Instead they, quite rightly, saw themselves as being part of the web. That meant that they didn’t try to do everything. Instead, you built a service that did one thing really well—sharing photos, managing links, blogging—and if you needed to provide your users with some extra functionality, you used the best service available for that, usually through someone else’s API …just as you provided your API to them.
Then Facebook began to grow and grow. I remember the first time someone was showing me Facebook—it was Tantek of all people—I remember asking “But what is it for?” After all, Flickr was for photos, Delicious was for links, Dopplr was for travel. Facebook was for …everything …and nothing.
I just didn’t get it. It seemed crazy that a social network could grow so big just by offering …well, a big social network.
But it did grow. And grow. And grow. And suddenly the AOL business model didn’t seem so crazy anymore. It seemed ahead of its time.
Once Facebook had proven that it was possible to be the one-stop-shop for your user’s every need, that became the model to emulate. Startups stopped seeing themselves as just one part of a bigger web. Now they wanted to be the only service that their users would ever need …just like Facebook.
Seen from that perspective, the open flow of information via APIs—allowing data to flow porously between services—no longer seemed like such a good idea.
Not only have APIs been shut down—see, for example, Google’s shutdown of their Social Graph API—but even the simplest forms of representing structured data have been slashed and burned.
Twitter and Flickr used to markup their user profile pages with microformats. Your profile page would be marked up with hCard and if you had a link back to your own site, it include a
rel=”me” attribute. Not any more.
Then there’s RSS.
During the Q&A of that 2006 dConstruct talk, somebody asked me about where they should start with providing an API; what’s the baseline? I pointed out that if they were already providing RSS feeds, they already had a kind of simple, read-only API.
Because there’s a standardised format—a list of items, each with a timestamp, a title, a description (maybe), and a link—once you can parse one RSS feed, you can parse them all. It’s kind of remarkable how many mashups can be created simply by using RSS. I remember at the first London Hackday, one of my favourite mashups simply took an RSS feed of the weather forecast for London and combined it with the RSS feed of upcoming ISS flypasts. The result: a Twitter bot that only tweeted when the International Space Station was overhead and the sky was clear. Brilliant!
Back then, anywhere you found a web page that listed a series of items, you’d expect to find a corresponding RSS feed: blog posts, uploaded photos, status updates, anything really.
That has changed.
Jo’s feelings about Twitter’s anti-RSS policy mirror my own:
I feel a pang of disappointment at the fact that it was really quite easy to use if you knew little about coding, and now it might be a bit harder to do what you easily did before.
That’s the thing. It’s not like RSS is a great format—it isn’t. But it’s just good enough and just versatile enough to enable non-programmers to make something cool. In that respect, it’s kind of like HTML.
The official line from Twitter is that RSS is “infrequently used today.” That’s the same justification that Google has given for shutting down Google Reader. It reminds of the joke about the shopkeeper responding to a request for something with “Oh, we don’t stock that—there’s no call for it. It’s funny though, you’re the fifth person to ask today.”
RSS is used a lot …but much of the usage is invisible:
RSS is plumbing. It’s used all over the place but you don’t notice it.
That’s from Brent Simmons, who penned a love letter to RSS:
If you subscribe to any podcasts, you use RSS. Flipboard and Twitter are RSS readers, even if it’s not obvious and they do other things besides.
He points out the many strengths of RSS, including its decentralisation:
It’s anti-monopolist. By design it creates a level playing field.
How foolish of us, therefore, that we ended up using Google Reader exclusively to power all our RSS consumption. We took something that was inherently decentralised and we locked it up into one provider. And now that provider is going to screw us over.
I hope we won’t make that mistake again. Because, believe me, RSS is far from dead just because Google and Twitter are threatened by it.
In a post called The True Web, Robin Sloan reiterates the strength of RSS:
It will dip and diminish, but will RSS ever go away? Nah. One of RSS’s weaknesses in its early days—its chaotic decentralized weirdness—has become, in its dotage, a surprising strength. RSS doesn’t route through a single leviathan’s servers. It lacks a kill switch.
I can understand why that power could be seen as a threat if what you are trying to do is force your users to consume their own data only the way that you see fit (and all in the name of “user experience”, I’m sure).
Returning to Anil’s description of the web we lost:
We get a generation of entrepreneurs encouraged to make more narrow-minded, web-hostile products like these because it continues to make a small number of wealthy people even more wealthy, instead of letting lots of people build innovative new opportunities for themselves on top of the web itself.
I think that the presence or absence of an RSS feed (whether I actually use it or not) is a good litmus test for how a service treats my data.
- Instagram doesn’t provide an RSS feed of my uploaded photos.
- Twitter doesn’t provide an RSS feed of my tweets.
- Facebook doesn’t provide an RSS feed of my band’s updates
It might be that RSS is the canary in the coal mine for my data on the web.
If those services don’t trust me enough to give me an RSS feed, why should I trust them with my data?
Battle for the planet of the APIs adactio.com/journal/6291/
Time & attention stole our RSS feed. Or, change your role models for a better web. June 18, 2013 (I couldn’t decide on the title. Sorry.) Jeremy Keith wrote a really great piece about how companies like Twitter and Facebook feel threatened by data interoperability and how this is setting a trend on the web: Once Facebook had proven that it was possible to be the one-stop-shop for your user’s every need, that became the model to emulate. Startups stopped seeing themselves as just one part of a bigger web. Now they wanted to be the only service that their users would ever need …just like Facebook. Jeremy is exactly right. These companies are looked up to by so many businesses today that they watch their every move and try to mimic them in hopes of mimicking their success. Is there a way to buck the trend? Yes. In a recent post by Bill Gates (on LinkedIn of all places) he writes about three things he learned from Warren Buffet. Many of us fans of Warren have heard this before but it is certainly worth re-stating here: you have to be willing to ignore the market rather than follow it, because you want to take advantage of the market’s mistakes Facebook, Twitter, and others are making the mistake of taking away read-only API access like RSS feeds or by severely limiting the usage of their APIs under a stack of hard-to-understand terms. Why? Because people, and not just geeks like Jeremy and I, will want to use their data in ways like Jeremy describes in his post and in many other ways too. So how do we do it? How do we buck the trend? We need to follow a different business model than the companies that feel threatened by something as simple as a RSS feed. Facebook and Twitter make the bulk of their money by keeping you on their sites under their well-designed user experiences. By keeping our attention. It is why Twitter cracked down so hard on third-party clients and why Facebook rarely allows its stream data outside of its own web page. They need to show ads and even more importantly they need to show ads in a way that produces real results in order to stay in business. RSS and third-party-designed experiences threatens that. Advertising as a sole business model can cause companies to do crazy things. Their customer is the advertisers (large, global brands with millions to spend) and their product is us (their users). They will do just about anything to get us to stay on their site as long as possible. We might think; “Yeah, but I love Twitter. I love Facebook.” I’m sure we do. I love Twitter. They hope we do. They work really hard and spend a lot of money to ensure that we do. However, there has never been a single ad-driven market that hasn’t seen explosive growth followed by a long, drawn out crash. Print, Radio, TV, the Internet. Advertisers are not loyal to Twitter or Facebook just like they weren’t loyal to Print or Radio. They are loyal to us. Right now you’re probably using Twitter while you watch TV! So they put #hashtags right on your TV screen. They know you better than you know you. If we want to see data interoperability increase and we want to see things like RSS begin to see growth once again we have to change our role models. We have to stop looking to Twitter and Facebook as our role models. We need to look to companies that count their users as their customer. And their customers will want to use their data however they’d like. Mimic them. Do better than them. Be more open than them. That’s when we’ll see things swing the other way. View all posts