Bright Hub
 
Matthew Casperson's Hubfolio

YQL - your internet data access point, or just another point of failure?

Article by Matthew Casperson (4,883 pts )
Published on Nov 2, 2009

YQL promises to give your programs access to the Web 2.0 through a single, convenient interface. But can you rely on it?

Introduction

I've been quite impressed with YQL; it seemed to solve a lot the issue developers have trying to mashup multiple web services. In fact, why would you learn yet another API when YQL puts the various web 2.0 interfaces at your fingertips with just one service?

So I had just written a nice little article detailing the process of using YQL to pull up a twitter status. Everything was great, until the Twitter YQL table fell over. What once returned a nice JSON object with a Twitter post now returned an error "Could not load table twitter.user.status".

How embarrassing. My first article for a promising new publisher, and it doesn't even work. After trying a number of different browsers, and confirming that the issue was not limited to my own PC, I could only conclude that the issue lies with YQL, or the community Twitter table.

Fortunately TweetDeck does not use YQL.YQL Fail

One API to rule them all

Yahoo would like YQL to be your portal to the structured data available on the web. Just like a search engine is now the first port of call when trying to find a web page, YQL aims to be the interface through which the plentiful and otherwise unconnected web services are accessed.

As a technology it has a lot of promise, and on the surface does exactly what it sets out to achieve. The only problem is that you just can't rely on it, which, unfortunately, makes it useless.

If a YQL table falls in the woods, does anyone hear?

My dramas started a day or so ago. After revising my article to copy out some code I realised that it no longer worked. I quickly established that it wasn't my code at all: copying the URL supplied by the YQL console into a browser produced the same error.

Now my situation isn't that bad. I had written one article, and that hadn't even been published. But what if I had just poured the last few month of my life into a next generation Twitter client, only to find that it no longer worked?

Time on the internet is measured in seconds. Twitter especially is all about publishing your thoughts to the world in less time than it takes to change the TV channel. If a Twitter client doesn't work for even a few minutes, people are going to be annoyed. After a few hours they start looking elsewhere. After a day, your hopes and dreams of creating the next big thing has died.

The biggest problem here is that YQL offers no guarantees and no support; at least not in the time frame that is needed when dealing with a service like Twitter. My cries for help on the YQL forum went unanswered, and as an independent developer with no particular ties to Yahoo there was no where else to turn.

So who is to blame?

The YQL table I was using is a community table: provided by users accessing resources outside of Yahoo. Arguably Yahoo has no control over Twitter or the community table that accesses it. But that is irrelevant to the end developer. What is more important than who is to blame is who is watching for errors, and who will fix them up.

A service like YQL would be trivial to monitor. A system could be set up to query each of the tables periodically and monitor the result. What this outage of the twitter tables proves is that this monitoring is not done, or if it is fixing any issues is not a priority. This puts developers who use the service at the mercy of the maintainers of the YQL system, be that Yahoo or the contributers of the community tables.

Just another burden on small developers

What this means is that YQL is just another link in the chain that has to be monitored by the end developer. This burden makes YQL a liability rather than the time saving tool that it promises. If Twitter itself was to go down, you would expect it to be fixed quickly. If the API changed, that change could be incorporated into your software relatively easily. But if a YQL table goes down you have little recourse but to hope for the best.

YQL promises so much, and I really wanted to like it, but after my experiences I couldn't recommend it to anyone for a widely deployed or mission critical application.

Related Articles

flexGeneral Flex Tutorials

From finding local gigs with Last.fm to translating languages with Google, these tutorials will step you through the process of integrating Flex with a huge range of online services.

Search More About:

 
Follow Matthew Casperson
Receive weekly updates from Matthew Casperson
 
Bright Hub - Science & Technology Articles, Buyer's Guides, How-To Tips and Software Reviews
About Bright Hub | Contact Us | Advertise with Us | Become a Writer | RSS | Site Map | Terms of Use | Privacy Policy | Copyright Policy
©2009 Bright Hub Inc. All rights reserved. Page copy protected against web site content infringement by Copyscape