Like the "mobile-first" doctrine, it's been accepted as a given that when starting a new project one should have an API play. How should companies think about opening up an API that is strategic for their product and helpful to their users.
Like the "mobile-first" doctrine, it's been accepted as a given that when starting a new project one should have an API play. How should companies think about opening up an API that is strategic for their product and helpful to their users.
Treat your API as you would any other product: launch it as early as possible, recognize that it will be imperfect, and listen to your users/customers to learn how to improve it. If you let developers know you're listening, you'll get incredibly valuable feedback.
That said, don't launch an API that doesn't gel with your overall business or organizational goals. Know what information you're giving away, what the value of that information is, and if you're truly comfortable parting with it.
Well put and I like the parallel to thinking of it as a product.
One of the challenges in the early going is that your overall business goals aren't terribly well known. So you could inadvertently give away something (like control/consistency over the interface) that you don't realize is significant until later.
This was, I feel, one of the multi-year, dawning realizations of the Twitter API story.
I think the key to an API is to think very carefully about how you create mutual value for developers who are building with your API and your core product and platform. You should have an idea of what value you give that could make developers lives better --either distribution through your core product, ways to integrate data to make their product better, or ways to make money. And you should have some ideas of what value those developers will give back to you - content, more users, etc.
You will be about 50% wrong in that amazing things will happen you never predict. But I don't believe that with APIs it ever really works as "if you build it they will come". You need to be out and help work with developers to get your initial ideas and value exchanges into market so others can model and riff off of those. That's how we did Facebook Connect -- lots of hands on support early for the first few developers, and it seemed to pay off over time as things got much more creative!
Facebook Connect is a illustrative example. It didn't launch until May 2008 – a year after Platform when a bunch of capabilities were rolled out and later revoked because they lead to behavior Facebook didn't like.
Facebook's strategy is actually counter to the "release the API early as a way of getting self-serve bizdev from day one."
I tend to believe that strategy is wrong because you don't actually know what your business goals are (at least in a way that prevents conflict.)
Thanks for your feedback! Team Branch
Please refresh the page and try again.