Using Web APIs as Automation Interfaces

A standard web application is necessarily automatable. By “standard web application” I mean a server-based program that collects input from, and displays results in, an HTML/JavaScript browser. It’s fashionable nowadays to sneer at this basic model of web computing and to regard it as a poor first approximation of what newer browsers can do more gracefully using Java or dynamic HTML.

Java and/or DHTML may in fact usher in an era of more GUI-like web applications with capabilities—like drag-and-drop—that are beyond the scope of the standard HTML widget set and JavaScript object model. But the last web applications to exploit these capabilities will be the ones that most people rely on most of the time for most of the useful services that the Web offers: search, online shopping, airline reservations. Very few of these kinds of applications require drag-and-drop. Arguably none of them do. What they do require is what first-generation CGI technology has been delivering effectively for about four years: zero-install electronic forms connected to middle-tier logic and backend databases.

Public web-based services stick with this model because it’s simple and universal. Unless there are compelling reasons not to, your web-based groupware applications should stick with it too, and not only for reasons of simplicity and universality. Every application written to this model is at once interactive and scriptable. The implications of that fact ...

Get Practical Internet Groupware now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.