API Cake

February 16, 2010 Will Read

A made up conversation with myself:

Let’s say I have a cool service. Now I want someone to take my cool service and develop against it. So I make an API. I’m using RESTful methods in RoR so it’s pretty straight forward to expose the CRUD actions. Done!

I release it in to the wild. People are jazzed, and they start to make clones and clients that do the same thing as my service. That’s cool, it’s driving an extra .5% of the traffic to my site. But I’m waiting for someone to innovate and blow my mind. With what? I don’t know!

Well, I gave them the ingredients, and the instructions, and they took my API and made an API cake, just like I showed them to make. They can read the product catalog, or they can post messages, and they do.

The cool part for developers is the “intellectual property”, the numbers in most cases. Let me get at how people are using my cool new service so I can start to make conjectures like “if A happens in the context of B, then we usually see C”. Like what if I had the number of facebook status messages about a new comedy show premier, and I search those for the word “funny” and plotted them over time? I could paint you a picture of what parts of the show were entertaining. But I can’t get at that kind of data.

Similarly, what if Amazon told me how many self help books were sold in New Jersey over time? Then I could make a map of where a psychologist should open up a practice.

Some of this information deals with privacy of the users. Some of the information can be anonymized, but is still too close to something the company views as a core process which is currently giving them a competitive edge. That’s exactly why it is interesting, why those developers are hungry for it, why you should release it, and give your users a tremendous experience. If you set loose the data, your developers will be able to creat more than just a copy of existing functionality, they can really innovate and tell you things about your business that your customers didn’t even realize.

About the Author


Make the RubyMine 2.0.1 debugger work for you…
Make the RubyMine 2.0.1 debugger work for you…

In the latest Rubymine 2.0.1, we've had lots of problems on our workstations with getting it working reliab...

What’s so funny ’bout pseudo-classical inheritance (in JavaScript)?
What’s so funny ’bout pseudo-classical inheritance (in JavaScript)?

Our customers are asking for richer interfaces and user experiences. And so we - and by "we" I mean the Rai...

SpringOne 2021

Register Now