July 2nd, 2009 – by Gang Wang

In the last few years, web APIs popped up like mushrooms. According to Programmable Web, there are 1200 widely used web APIs. I have heard the real number could be around 3,000 to 5,000. Though these APIs provided great flexibility and availability for us to access various data sources and services, they themselves start creating a long tail. For any applications, programmers have to spend tremendous amount of effort to sort through these APIs, decide on how to leverage, learn them and integrate them into their apps.There must be a better way!

That’s why I was truly excited by Sam Pullara’s talk at Etech on the newly introduced Yahoo! Query Language. If it indeed takes off, it could become the mother of all web APIs and greatly enhance the productivity of web programming.YQL first is a language. It brilliantly exposes a SQL-like syntax with the familiar statement like SELECT and USE. By doing so, it tranfers the traditionally difficulty caused by various syntax used in different APIs and provides an easy-to-learn programming interface. With this transformation, the services and data sources from various providers suddenly become unified and are treated as if they are just data saved in a “database” in the cloud.What you need to do is just to create a query with a standard SQL statement and submit it to Yahoo’s gateway. Moreover, better than classic SQL, the depth of the returned data is a full blow XML not limited to data with single step depth.

Moreover, YQL is a platform. Yahoo tries to perform various optimization to improve the query performance both in software but more importantly by leveraging its infrastructure. When you use YQL, a good deal of operations traditionally done locally now can be offloaded to Yahoo’s servers, such as sorting, uniquefying, and table joins (Note: they use inset lookup to by-pass the difficulty that various APIs don’t share the same index keys, but that’s something you don’t need to worry about and it has been taken care of by YQL backend).

YQL is also a learning and experimentation tool. With the YQL console, you can perform experiments interactively and observe returns from various services instantaneously in the very same browser window. You can then look up the returned XML or JSON data to quickly examine what’s available.

Besides already providing an extensive list of services that support YQL, Yahoo employees a user contribution model to try to quickly spread the coverage of YQL. Actually, any one can write up the a so-called YQL Open Data Table to make a specific web APIs become YQL accessible.

Please check out the YQL-QuickBase app that I created and let me know what you think.

tagged: , ,
June 17th, 2009 – by ChongLim Kim

Shortly after joining the QuickBase group, I was fortunate enough to be able to learn and play with Flex when Idea Jam first encouraged the use of Flex in what is now the IPP Platform. After my entry using simple Flex components to interact with a QuickBase customer support database miraculously won a prize, I was hooked.

Later, I had this itch to learn how to program for drag-and-drop. Another Idea Jam day was also coming up and what seemed a perfect storm of an idea came to me – use Flex and the IPP Platform to write a drag-and-drop version of a game I loved.

I had the most satisfaction of any Idea Jam projects figuring out and programming the game and a players’ score board in Flex on IPP. Even though Flex and fun didn’t combine to wow the Idea Jam judges, maybe sharing what I learned of doing drag-and-drop in Flex would be a winning idea ;)

The game:

I wanted to build a simple code-breaking board game that resembles a pencil and paper game called Bulls and Cows that may date back a century or more… One player becomes the codemaker, the other the codebreaker. The codemaker chooses a pattern of four code pegs. Duplicates are allowed … The codebreaker tries to guess the pattern, in both order and color … Each guess is made by placing a row of code pegs on the decoding board. Once placed, the codemaker provides feedback by placing from zero to four key pegs in the small holes of the row with the guess. A colored (often black) key peg is placed for each code peg from the guess which is correct in both color and position. A white peg indicates the existence of a correct color peg placed in the wrong position …”

The version of the game that I built powered by Intuit Workplace looks like this:

I have put all the details of the actual code here. I describe how to drag, drop, and So please feel free to check it out and let me know what you think.

tagged: , , , , ,