David Barrett of Expensify just led a session at Kynetx Impact on APIs. His talk was listed as "When APIs go bad. APIs are powerful, but when should you consider not providing an API for your data." He followed Sam Ramji who gave an updated version of his Darwin's Finches talk. The updates are recorded in two recent articles The Building Blocks for a Successful API Strategy and With APIs It's Caveat Structor - Developer Beware. Consequently there was some good discussion and interaction from the audience.
David's main point is that building an API isn't free and for many businesses won't add significant customers or value. So any online business shouls think carefully about whether building an API is worth the effort and expense. We teased apart many of the issues and there was plenty of push back, but in the end, I think we were still stuck on David's assertion that some businesses are better off going direct (in Sam's lingo) rather than using other people's apps to take their service to the customer (the indirect approach).
As someone who love access to my data and the ability to mash it up, I wasn't satisfied with this answer, but there it is. In Leave the Services Clients to the Services and Build Something Really Interesting, I wrote about a mashup I'd like to do with Foursquare, TripIt, and Expensify (which is why David was at Impact, as an aside):
I book a flight and hotel and forward the details to TripIt. Expensify responds to the TripIt event and watches for an airline transaction and creates a report for my trip that was just scheduled. I check into Foursquare at the airport, Expensify responds to that event and automatically begins tracking all of my expenses. While I am on my trip, Expensify continues to respond to events from Foursquare. If there is a transaction that matches a checkin it adds a comment to the transaction noting who I was with at the venue (i.e., dinner with Sam, Doc). After I check back into my home airport again Expensify continues to monitor transactions for a few more hours and then generates a report for me and emails it.
David, mentioned that only 11 people were checked into Impact using Foursquare. How might that change if people knew that's all they had to do to make an entry in the expensify account? But this scenario won't work without APIs.
I think that APIs are a lot like clean sheets for some companies. Here's what I mean. Consider the following graph plotting the cost of any given business decision against the competitive advantage it brings:
Clearly if you're making a descision on what features to implement, you want to be in the lower right quadrant: low cost and high competitive advantage. Do those first. Clearly the red quadrant is the last place you'd look for features, or is it?
Think about clean sheets. If you're a hotel, clean sheets cost a lot of money and everyone has them, so there's not much competitive advantage in having them. But there's a HUGE competitive disadvantage if you don't. No one can do without clean sheets. For many online services, an API feels like clean sheets. They want to be like all the cool kids and have an API, but they find that APIs cost a lot of money and don't result in much revenue.
There are ways to move out of the red quadrant. One direction is down: reduce the cost. That's what a lot of API services comapnies like Mashery and Apigee are doing, making it easier to and cheaper to put up an API and manage it. The other direction you can go is right, make the competitive advantage bigger. Some hotels have done that with sheets by advertising their high thread count sheets. That doesn't cost that much more, but it differentiates the otherwise costly, but necessary feature of "clean sheets" into a reason people come back.
I'm not sure how we can do that same thing with APIs, but it's the real way to work on the problem. There's a business or two in helping companies get more revenue from their APIs. Consulting is the obvious business here, but the real money will go to the services that provide this capability at scale.