AJAX and automation

Sean McGrath's latest column puts an AJAX spin on the age-old struggle between the human-accessible and machine-accessible aspects of software:

Making an application easier to use almost always means making better use of the users ability to see; to hear; to click buttons; to access drop down menus and so on. Unfortunately, computers themselves cannot see or hear. This results in a most unfortunate inverse relationship. Namely, the more visual and interactive and compelling an application is from a user interface perspective, the harder it is to make said application do its thing without human intervention. [Sean McGrath: AJAX and the hidden cost of ease of use]
And yet, my latest Gmail hack was accomplished pretty easily because, without digging into any AJAX code at all, I was able to capture an HTTP transaction, parameterize it, and replay it.

Now in fairness, I cheated by using the AJAX interface to emit a sample HTTP transaction that contained a lot of stuff I could not easily have fabricated from scratch. That's why it'll take a much smarter bear than me to incorporate my hack into libgmail. Still, if I'd wanted to plow through Gmail's obfuscated JavaScript source code, I might have been able to intercept and repurpose the method driving the HTTP transaction.

For these two reasons -- the transparency of the HTTP pipeline, and the accessibility of the JavaScript object model -- I think that AJAX is inherently more automatable than conventional GUI apps ever have been.

Former URL: http://weblog.infoworld.com/udell/2006/12/12.html#a1577