I've been doing a lot of thinking and writing (at work) about Web platforms and Web APIs recently. Just yesterday I was talking to some folks about Web APIs and an interesting question came up about the Google Web APIs. Basically we couldn't come up with good reasons for Google to have exposed them or for people to use them in their current form. I left the conversation wondering whether I just wasn't smart enough to see the brilliance of their strategy. Thanks to a post by Alex Bosworth's entitled Search Engine APIS it seems I may not be so dumb after all. He wrote
Recently, the Search engines have been trying to get into the mix, with new pushes to gain developer followers. Google recently launched a new subdomain emphasizing their committment to not being a technology black hole. Less recently, Yahoo launched their own developer site, in an attempt to build 3rd party value around their product.
However so far these 3rd party applications haven't found widespread appeal and had breakout success. This is in large part because of crippling artificial restrictions placed on Google/Yahoo/etc APIs.
It's not to say that applications made on platforms haven't been fairly cool ie: Yahoo News In Pictures, or clustering Yahoo search results.
But these will never progress beyond cool toys, and I'm not sure that Yahoo/Google/etc realize that. Talking to Google engineers, I was informed that Google thinks of their 3rd party API program as a complete failure and only a couple people have made anything vaguely useful from it. The reason why is they have no real committment to making these programs work. For example their terms and conditions are so draconian and laden with legalese there is no motive for developers to work with them.
This confirms some of the suspicions I had about their search engine API. Of course, this isn't to say I think providing programmatic access to search engine results is a bad idea. I just think Google's approach is very weird.
For example, I like the fact that I can get the results of a query on recent news items for terms such as "G-Unit Game beef" as an RSS feed from MSN Search. Or that I can subscribe to the results of searching for my name on Feedster in my favorite RSS reader. As an end user I get a lot of use out of them and as a developer they are a cinch to work with.
There's a difference between cool apps and useful apps. The people at Google sometimes don't get the difference but the guys at Yahoo! definitely do. All you have to do is compare Yahoo! Maps to Google Maps to figure this out. Similarly I think the APIs provided by Google don't really enable people to actually build useful apps just cool little toys. MSN Search and Yahoo! seem to be on a better track because they enable more useful scenarios with their breadth of services exposed as APIs* as well as the fact that they provide these results as RSS.
What I've actually found surprising is that neither service puts sponsored search results in the results returned. I assume this is because we are still in the early days of search syndication but once it catches on and regular people are subscribing to search results so they can do things like build their own newspaper/dashboard then I'm sure we'll see the ads creep in.
* RSS is an API. Deal with it.