December 25th, 2005

  • evan

user scripts and software development

Someone sent me an update for one of my greasemonkey userscripts, and mentioned the comments on, so I poked around there. One of the more prominent tags (making it to the front page, at least) is for LiveJournal and LJ, ranging from fixing bugs (wrong form character limits on update pages) to adding features (expanding the comment threading inline, forcing your style on all viewed pages, allowing commenting on friends pages without loading a new page).

Iit's always a bit strange to see how many people hack features in GM scripts. We've observed this at work, too: Mihai hacks gmail features rather than implementing them directly for two major reasons:
  1. It's much easier to write a bit of Javascript than it is to check out, learn the code base, and especially get a whole {gmail,lj,etc.} install going. Even back when I was comfortable with the first two of those steps for LiveJournal development, the last one was enough of a hurdle to discourage me from writing features.
  2. Even after you've implemented a feature, many of them are policy decisions -- like the userscript to make all profile links on LJ be "full" links -- and they're unlikely to be incorporated upstream anyway.
I think #2 mostly applies to server-side apps, especially if it's not hard to repeatedly merge your changes into your local branch of an upstream client app. But #1 is a real barrier to attracting developers and contributors, and I'm sure using funky version control systems doesn't help.