Greasemonkey Arms Race

A few random thoughts came together in a vaguely coherent form on the way home from Opentech yesterday. Allow them to share them with you.

  1. For years we’re been trying to persuade web designers to move away from nasty “tag soup” HTML and to use clean semantic markup with stylesheets to control the presentation. This persuasion is starting to be effective.
  2. Greasmonkey allows end-users to remix web pages and change the presentation in ways that suit the users, not necessarily the owner of the web page. For example, there is a Greasemonkey that rewrites Amazon pages, adding a list of the prices of the current item on other web sites together with links to buy the item from these other sites.
  3. Some web sites may not be altogether happy with end-users being able to do this.
  4. There will therefore be some kind of arms race where content providers try to make it harder for technologies like Greasemonkey to change their pages and the authors of Greasemonkey scripts work to overcome these obstacles.
  5. A well marked-up web page is far easier to alter with Greasemonkey than one constructed of “tag soup”.
  6. Therefore one weapon in the war to prevent your web site being reconstructed by Greasemonkey will be the use of increasingly baroque HTML.
  7. Therefore Greasemonkey is likely to be a major setback in the attempt to encourage sites to use cleaner markup.

What do you think?

Update: Er… thanks everyone for pointing out the obvious errors in my thinking. The major problem was in point 5. It’s Firefox that parses the page, not Greasemonkey. Greasemonkey just traverses the DOM tree built by Firefox. If you break your page enough that the DOM tree is broken, then Firefox (and probably any other browser) isn’t going to be able to display your page.

I did say my thoughts were only “vaguely coherent”.

And I should clarify that I think that Greasemonkey and semantic markup are both damn fine ideas.

Move along please. Nothing to see here. Just some idiot waffling.

5 thoughts on “Greasemonkey Arms Race”