[Greasemonkey] a difference in vision

Matthew Gertner matthew at allpeers.com
Fri May 27 13:08:17 EDT 2005


Evan,

Awesome that you are raising this. You make a lot of great points. At the
same time, I think you are conflating two different issues:

1) The increasing overlap between Greasemonkey and extensions. I mentioned
this as a problem a while ago and the silence was deafening
(http://www.mozdev.org/pipermail/greasemonkey/2005-April/001438.html). I
still believe what I said in that mail, however: in an ideal world, the
capabilities that GM provides would be inherent in the Mozilla extension
mechanism, which would have the advantages of Greasemonkey (rapid
development and deployment, *especially* the fact that you don't have to
keep restarting Firefox). GM'd get versioning, update and so forth, and
extensions would get a whole bunch of cool junk too. You can call this
"creature feep" but to me it's just plain obvi-farking-ous.

2) The whole principle of GM is way too fragile for what people want to do
with it, but this has *nothing* to do with GM. It has *everything* to do
with HTML. GM is an amazing tool for development empowerment but it isn't
and cannot ever be a tool for end user empowerment. Right now I'm running 4
user scripts and I wrote all 4 of them. The only other script I was running
is Mark's naughty Salon Auto-Pass backdoor and that stopped working the
other day (I guess they closed that security hole, dammit). Anyway, I've
already written an essay and about 100 blog posts about this issue (hmmm,
let's see how many times Matt can say "I told you so" in one mail. :-).

What do I think as of right now? We should do 1). It would require
coordination with the Mozilla team. Does anyone at all agree with this? Even
a little?

Regarding 2), there is going to be an evolution over to XML that will make
the world a happier, sunnier place. It's gonna take a while. I like some of
the ideas of that new Piggy Bank thingy (even though Java+RDF data
store=bwahahahahaha). Structured screenscraping of HTML strikes me as a
great way to bootstrap the XML web. This is why I want an XML-enabled
version of GM. I think that a structured approach to screenscraping HTML ->
XML combined with XML GM will be a big step in the right direction.

(Just as one example, I could've written my Slashdot Live Comment Tree with
a more modular architecture -- the whole "Live Tree" part would consume XML
generated by the screenscraper -- so that it would be possible to port to
other sites without rewriting the whole damn thing.)

Matt

> -----Original Message-----
> From: greasemonkey-bounces at mozdev.org [mailto:greasemonkey-
> bounces at mozdev.org] On Behalf Of Evan Martin
> Sent: Friday, May 27, 2005 3:00 AM
> To: greasemonkey at mozdev.org
> Subject: [Greasemonkey] a difference in vision
> 
> [Disclaimer: my opinions are derived from hanging out and talking with
> Aaron but he hasn't vetted this mail.  But he's also too nice to write
> this email, so I get to do it!]
> 
> I think the original vision for Greasemonkey was that user scripts
> would be tiny, ephemeral things; quick hacks that are passed around
> and that break as site owners change their sites.  The analogy was
> shell scripts -- you write them once to solve your task and then you
> forget about them, or if you share them, you share them as a snippet
> of code in an email and not as complicated .tar.gz download.
> 
> Somehow along the way people began using Greasemonkey for something
> else: complicated and tricky modifications that reached deep into a
> site.  Those are cool, with "far-reaching implications" and all of
> those nice phrases people like to post to their blogs about.  But
> they're complicated, and there are already provisions in Mozilla for
> distribution, versioning, and autoupdate.  They're called extensions.
> 
> This is why Aaron wanted to integrate a script editor -- not because
> of feature creep, but because a script is something you do immediately
> when a page annoys you.  Or you take someone else's script that makes
> a textbox 600px wide and you tweak it to make it 800px wide.  This is
> why a author tag doesn't fit in -- because by their very nature the
> scripts are derivative of someone else's work anyway and somebody
> farther down the road will continue to change them.  It's 20 lines of
> obvious code, why are we worrying about copyright and licensing of
> derivative works?
> 
> With all of that said, I there's obviously place in the world for the
> Lickrs and the Book Burros, and maybe the solution isn't converting
> all of them to extensions.  But as everyone sits here and tries to
> figure out ways to embed HTML and images and more metadata into their
> single file of javascript I can't help but point out that there's an
> easy way to package disparate data together: it's called tar.
> 
> How do you reconcile these views?  I see two options:
>  - creature feep Greasemonkey into extensionmanager++; or
>  - fork Greasemonkey into a bigger brother (I proposed to Aaron
> "Greaseape", but that's lame) that does extension management with
> signing and author metadata and tarballs and autoupdates and XUL
> hacking and menu commands and preference panes.
> 
> I don't much like either of them, but I don't see any other options.
> _______________________________________________
> Greasemonkey mailing list
> Greasemonkey at mozdev.org
> http://mozdev.org/mailman/listinfo/greasemonkey



More information about the Greasemonkey mailing list