A while back, Adrian Holovaty wrote a Firefox extension to apply JavaScript to one specific site to make it better. SImon Willison compared the technique to per-site user stylesheets and we had an interesting discussion in the comments there about the idea of site-specific extensions and how to make it easier to do them. Now GreaseMonkey allows you to add custom site-specific JavaScript to any site (via Michael Moncur) and have it remember and apply that script always. Magnificent. (*Update:* and it’s written by Aaron Boodman. I wondered what he was up to.)
It still suffers with the problem that people experiencing a broken site won’t know that it’s fixable with JS: this isn’t really designed to be a tool that fixes the web so all broken sites work in Firefox. It’s more oriented at individual developers scratching their personal itches. I’d like to see some sort of central repository of SSEs that people could get at. Actually, I’d like to see a central repository that GreaseMonkey could get at and install new SSEs automatically, but I said that in the comments on Simon’s article above and was reminded of the security problems inherent with that approach. Nonetheless, this is a cool tool, and I’m now running it.
This is also the ideal way for people to get into writing DOM scripts; instead of applying things to your site, try applying things to other people’s. It’s the DOM equivalent of the Edit CSS thing in the Web Developer toolbar. Lots of people are pushing 2005 as being the Year Of DOM: SImon and Jeremy and Dave Shea have all expressed this opinion, and, unsurprisingly, I agree with them. (Jeremy even says, “Simon and Stuart, it looks like this is going to be your year“, and calls us pioneers. Blimey. Like, thanks, dude.) To that end, an update: The book is bloody nearly finished!
Actually, I thought it was finished, but then my tech editor (Simon Willison :-)) flagged something else we needed to update on keypress handling in chapter 3. But it’s really nearly done! Not that this will stop people mailing me to say “is the book done yet?“, and frankly I don’t want it to (I rather like the attention, a confession which will surely amaze you). But the book itself will explain how to get to grips with the DOM, and then we can all be pioneers. I can’t wait.