Software as a service: have it your way.
Last week I mentioned Greasemonkey, a Firefox extension that enables
scripts to run in the context of web pages. Since then I've written a
few of my own Greasemonkey scripts. The first, which I've shown in a screencast, is a next-generation LibraryLookup.
Originally you had to click a bookmarklet in order to jump from an
Amazon page to a book's record in your local library. Now, if the book
is available in the library, the Greasemonkey script automatically
inserts an alert into the Amazon page. As I discuss in the screencast,
page rewriting is a hot topic that's about to go nuclear.…
Two components make this possible. One is the scriptable DOM (document
object model), which enables in-situ alteration of web pages. The other
is the XmlHttpRequest object which is now available in all the major
browsers, and which supports asynchronous interaction with remote
services.Combine the two and you get a powerful system for delivering
realtime alerts in the context of web pages. AJAX (Asynchronous
JavaScript and XML) is the new name for this strategy. But it's an old
idea, and XML is optional. At its core this is about web pages that
communicate autonomously and update themselves dynamically. You'll soon
see a lot more of these, and you may well find yourself creating some
too. [Full story at InfoWorld.com]
A few weeks back, in a comment posted to Dare Obasanjo's blog,
Adam Bosworth noted that the “auction demo” — which I saw him present
in, I think, 1997 — was the model for AJAX. Jean Paoli, who I joined
this week on a panel
along with Tim Bray, told me with great amusement that an InfoPath team
member recently announced: “Hey, we're an AJAX application!” As I point
out in the column, there's nothing new about AJAX.
Greasemonkey, though, does seem to open up uncharted territory. As I've mentioned before, a user of Gmail was able to add persistent search folders
to the application. When search folders were added to Outlook, in
version 11, everyone made a big deal about it, and rightly so. It's a
major feature. Now I use search folders in Gmail every day, the feature
is indistinguishable from the core application, and it was created by a
user!
This kind of customization makes the already attractive notion of
software as a service even more compelling. Imagine that your company
subscribes to a hosted web app, and it's mostly great, but there are a
couple of features you wish you could offer your people, and the vendor
isn't coughing them up in a timely way. In an AJAX world you might have
a pretty good shot at doing it yourself. [Jon's Radio]