COWS not much an Ajax

Saw it on Slashdot yesterday, where COWS Ajax was introduced. What is COWS first of all:

Ajax has been revolutionizing the web. However it is greatly limited by the browser same-origin policy, meaning that your site can only be as good as the web applications and tools that you create. But there's a lot of great tools out there, wouldn't it be nice to tap into them? Changeable Origin Web Services -- COWS -- Ajax breaks down this barrier.

It argues that "traditionally" Ajax, which utilises XmlHttpRequest object to perform asynchronised HTTP requests, has one problem -- which was actually a security policy. The way to solve this "problem" is by using its COWS Ajax mechanism which allows web services from hosts other than the origin of the page to be performed.

Behind the scene is actually quite simple. In order to invoke a web service on a different domain, the COWS API does:

  1. Create a <SCRIPT/> DOM element.
  2. Point the src attribute to a remote Javascript.
  3. Append the <SCRIPT/> DOM element to <HEAD/>.
  4. Javascript code returned from a remote domain will then call a predefined handler, and then remove the <SCRIPT/> from <HEAD/>.

Sounds exactly like how many complicated bookmarklets work. My old Google video download script works the same way. Besides security issues due to trust, there is really nothing new. In fact, I won't even consider it as "Ajax". What is Ajax then?

In Ajax applications, you hand in your handler to be called back when the HTTP request completes. In COWS, there is no guarantee that your callback will be called. A Javascript file is returned by remote service and is evaluated by the browser, and at its mercy your response callback might be called. Your error callback is only called by constantly polling the system.
Well, it is in Javascript and I won't argue that.
The result of the web service is not XML. Nor JSON. In fact it is full on Javascript code that will be evaluated by your browser before the evaluated code calls your handler.

I personally don't think COWS has resolved any issue that has already been addressed. Nor is it a savour to Ajax -- it is far more limiting than the "traditional" XmlHttpRequest style Ajax. There is however much market-speak on COWS' website:

And in exchange for making the cool apps, the application host can create branding, drive traffic, or employ serveral revenue streams. Everyone wins! In this case, the cow coming home is the cash cow ;-)

You need much much more than COWS to create a cool app, and you need much much more than a cool app to bring in the cash. Meanwhile, COWS just sounds like bull to me.