« Hitting reload is the framework job | Main | Holepunch »


Stephen O'Grady has had a script or two broken by a Gmail alteration:

"To be a bit less harsh, while Google probably had good reasons for making the change, it would have been great to see them be proactive and notify people of the change via their blog or some other mechanism."

I'm surprised there isn't more discussion about this. Greasemonkey is a cool idea, but these scripts are so fragile it's not funny; they make side-effected GETs look robust. The page DOM is not part of the API contract, which is the basis of Alex Bosworth's argument. In programmer terms it's like depending on the field names rather than the field values. You build on this stuff, you more or less commit to lockstepping with the server. It feels house of card-like. Someone might respond by saying that, well I'm sure 404s seem house of card-like 12 years ago when the Web dropped backlinking, or 8 years when XML dropped shorttags *. Fine except I've not heard the Greasemonkey approach articulated in terms of a tradeoff to get adoption - anyone out there think DOM scraping is an architectural insight?

* and while we're at it , here's a strawman. Retrofitting backlinks dominates Web innovation - pagerank, wikis, tags, folksonomies, trackback, pingback, bloglines, del.icio.us, pubsub, technorati - enabling backlinking is what releases value. When people talk about building out social computing infrastructure, backlinking is also the basis for that.

June 22, 2005 01:09 AM


Julien Couvreur
(June 22, 2005 01:33 AM #)

Nobody thinks DOM scraping is an architectural insight. Greasemonkey isn't that pretentious. It only tries to be useful.

If you read the mailing list, you'll see that this fragility is well understood. Scripts will be broken and fixed. The question is, would you rather Greasemonkey didn't exist at all?

Adam Vandenberg
(June 22, 2005 02:34 AM #)

I've written a couple of scripts that I find personally useful, but yeah, the're fragile as hell.

I don't consider Greasemonkey much more than a cool hack, and it took me a while before thinking of anything useful to do with it.

I certainly wouldn't want any of my non-hacker friends to install it and try out user scripts.

Robert Hahn
(June 22, 2005 04:04 AM #)

Pardon me for seeming the fool, but what, precisely do you mean when you say "backlinking"?

Phil Ringnalda
(June 22, 2005 06:34 AM #)

The most useful architectural things I've heard about Greasemonkey have been Aaron and a few others saying "it's a geek tool for quick hacks, nothing more or less."

If you are looking for architectural insights, or stability, or APIs, or contracts, you're looking in the wrong place with Greasemonkey. The most significant change in Greasemonkey over the last six months isn't the interminable discussion of adding non-scripter end-user stuff like undo for uninstall, none of which ever seems to get done, it's the addition of an Edit button for scripts, because you should expect to need to do some tweaking. The people who are saying it changes everything or alters business models or that someday everyone will be using it are just echoing hype, not actually looking at what it is.

Jimmy Cerra
(June 22, 2005 06:55 AM #)

Why is it a strawman?

(June 22, 2005 08:28 AM #)

first off I agree Greasemonkey is fragile, it is however only fragile in that companies do not take the existence of Greasemonkey into consideration, unless it is to try to break Greasemonkey.
If a company took it into consideration then they might publish a Greasemonkey 'contract', specifying what things might change, what not, this is actually one of the things I am hoping to do.
Finally if microformats come into play then the breakability goes down.

Bill de hra
(June 22, 2005 09:01 AM #)


"Nobody thinks DOM scraping is an architectural insight."

I phrased that badly, didn't I? I guess where I'm going is I haven't seen the conversation that says this stuff is cool but fragile, or the conversation that says if you let go of some certainty there's a big benefit to be had (a la 404s allowing scale and -shorrtags allowing cheaper parsing).

"If you read the mailing list"

There's a mailing list!? Duh.

"Scripts will be broken and fixed. The question is, would you rather Greasemonkey didn't exist at all?"

Not sure, honestly. I think this goes into the life's too short to not be working to a contract bucket. Some of the scripts are very cool tho'.

Bill de hra
(June 22, 2005 09:04 AM #)


"Why is it a strawman?"

The backlinking thing? I think I'm overgeneralizing; there's grain of truth there, but not much more. If I was a VC investor type, it might be something 'd use to evaluate an innovation, the problem is I'd miss something cool because it doesn't involve backlinking and I'm working to a checkbox instead of thinking.

Bill de hra
(June 22, 2005 09:06 AM #)


"If a company took it into consideration then they might publish a Greasemonkey 'contract', specifying what things might change, what not, this is actually one of the things I am hoping to do."

That's exactly it - some parts of the tree that will be non-transient.

"Finally if microformats come into play then the breakability goes down."

Yep, never even thought of that; thanks.

Bill de hra
(June 22, 2005 09:13 AM #)


"what, precisely do you mean when you say "backlinking"?"

The ability to see the incoming links to an item. It's one of the key features that was left out of the original web architecture to allow it scale globally - without it people can create pages without having to manage lists of referring pages and incoming links, all you have to do is link out. But having backlinks means you can do interesting things, like search pageranking in Google, or cheap category classification in a Wiki, or the Technorati Top 100.

Sam Ruby
(June 22, 2005 11:27 AM #)
"Not sure, honestly. I think this goes into the life's too short to not be working to a contract bucket. Some of the scripts are very cool tho'."

Sometimes I can whip out a GreaseMonkey script in hours where it would take literally months to "do it right" -- if I were even able to do it at all.

In economic terms, one refers to the Net Present Value of a stream of investments. And when you factor in the larer pool of talent that can be applied by decentralizing the innovation, sometimes you get a clear win.

Jeremy Dunck
(June 28, 2005 05:58 AM #)

Sorry I missed this post before...
Mailing list. Although, it's been unreasonably quiet the last couple days... strange.

I'm writing something up based on Mark Pilgrim's "million $ markup vs million $ code" entry. Greasemonkey is finding a new niche. You can have penny code and penny markup, and still be useful if the cost to create a solution is low enough.

This is in line w/ what Sam said. The fact that you only need to know JS (and not even that w/ Platypus) to hack up a solution is widening the circle quite a bit.

And I have hopes that it's a temporary thing towards a larger goal. I took no small joy in pointing out, in a Flash vs. DHTML panel at SXSW, that you can't do anything like Greasemonkey w/ a Flash implementation.

So, ditto the microformat comment. And note the success of user scripts for gmaps, which provides a feature-specific abstraction layer (even if not stable). While HTML is no platform to build anything sturdy one, (and tapping the long tail meme) if companies recognize that providing a stable client-side API to their site's features is an advantage, then the reach of GM scripts will become even greater.

That was sort of convoluted. Hopefully it'll be clearer in my post later. :)

Post a comment

(you may use HTML tags for style)

Remember Me?

Trackback Pings

TrackBack URL for this entry:

Listed below are links to weblogs that reference Scrapemonkey:

» Retrofitting Backlinks from Sam Ruby
Bill de hÓra: First reaction: very interesting. Second reaction: so what? [Read More]

Tracked on June 22, 2005 02:46 AM

» Service Rollback from Richard Veryard's SOAPbox
See how easy it is? (A change to the default settings has an immediate impact on some of the consumers of the service.) See how careful you have to be? (Impact analysis, testing, notification, negotiation?) See how quickly you have to correct any errors? [Read More]

Tracked on June 22, 2005 03:31 AM

» Greasemonkey, and rewriting the contract for web from Dan Sholler's Musings
Greasemonkey is an attempt to change the agreement between users and providers of web applications. [Read More]

Tracked on June 22, 2005 02:54 PM

» Greasemonkey and Gmail, Revisited from tecosystems
My entry from Tuesday on the changes to Gmail that disabled a variety of Greasemonkey scripts and a Firefox extension has spawned a couple of interesting criticisms both here in the comments and abroad that I wanted to comment on.... [Read More]

Tracked on June 24, 2005 12:18 AM