In the previous entry on AJAX and server-side crypto, I alluded to progressive enhancement. Naturally enough, people have been discussing progressive enhancement wrt AJAX , and at least some AJAX applications will doubtless apply this notion. For instance, a form might be validated in real-time on the server-side if possible, but if not, it will be validated upon submit.

There’s a timely crossover with browser plugins, though. Just as AJAX is heating up, so too is work on powerful plugins like GreaseMonkey. And that’s relevant because there’s an opportunity to ultra-enhance AJAX applications. Progressive enhancement is often more about graceful degradation from the standard case, e.g. users with older browsers or smaller devices. But the principle can work in the opposite direction too: you can use a browser plugin to enhance an existing application.

I’m talking here about application-specific plugins. The web application works without the plugin, but the plugin progressively enhances the experience. It’s already happening. This Firefox wikipedia extension adds a toolbar to make the browser feel more like a word-processor (each to their own). Likewise, the Bloglines toolkit enhances the Bloglines experience. With extensions like these, AJAX applications become the middle-ground of richness: boring old HTML on the left side, and virtually a desktop experience on the right.