It has been a while since my last post. Usual excuses....
I just came back from AusWeb05 conference, tons of work needed my attention. However, I still want to write this post now. One of keynotes at AusWeb is Brad Kasell (Asia Pacific Engagement Manager, IBM's jStart Program) on "Emerging Technologies and the Web: Finding a Balance Between Possibility and Reality". Among all the great ideas, he talked about Web 1.0 (the publishing web), Web 2.0 (the interactive web) and Web 3.0 (the programmable web).
Here is my view on programmable web. Using an OO paradigm, any website can be viewed as an software object. For, the static websites (publishing web), the interface is the URL. A call to this interface will return the information (as a web page).
The technical community has been developing the web service interfaces for quite some time (many major web sites also publish their API too). The "glue" for making a number of web services to work together is, of course, XML-based HTTP communication. The result of any web service call is usually returned as XML-coded information for further processing by the calling object. These have proved to be too heavy for some application, hence the AJAX and other similar technique. (In Fablusi, I used a variation of AJAX, but instead of using XML, I used JSON).
What about those interactive web sites which do not support web services?
The answer is YubNub. This is a blending of "social networking" and "command line" for the programmable web.
To explain what is a command line for web, let use the following command as an example.
xe -amount 100 -from USD -to EUR
xe is the command for finding the currency equivalent between two currencies. Those in orange are parameters. So the last command will find you the amount of EUR for 100 USD.
How can I find the command I want? YubNub.org has list of commands.
Where do I type the command? Go to YubNub.org website. Or more importantly, you can install it on your browser, desktop, as bookmarklet, an application for window, .... the list go on.
So, you may ask, this is just another application, why I said it is the glue for programmable web?
Any command, as you may know, is the short hand for a number of lines of codes conveniently grouped together as a subroutine, a function or a batch file of commands. Someone somewhere must have provided the programming in order to make the command does what it supposes to do. It just happens that web command line passes the command to some website which will "execute" your command and return the result to you. Cool!
And even more cool, you can create your own command.
And even more more cool, a spontaneous community has found around this and the community is growing fast. Go to the group if you like and feel for yourself.