I, User

December 17th, 2005  |  Published in old and busted  |  3 Comments

Chickenfoot for Firefox is a nifty scripting environment.

Here are three things to love about it if you are me:

> Chickenfoot is geared towards end-user programmers as well as hackers.

By offering commands such as click(), enter() and pick(), Chickenfoot provides users with a higher level of abstraction over their actions on a web page, which is more appropriate for an end-user programmer. However, Chickenfoot users are not restricted to this level of abstraction because Chickenfoot can run all valid JavaScript, so all the functions and commands that Greasemonkey users are accustomed to using will still be available in Chickenfoot.

Awesome. It’s a little closer to Applescript than Javascript from my perspective. I can deal with application scripting … I’m not so good at the part of scripting that involves things that exist only in my head popping out of the ether as working “programs.”

> To be fair, Greasemonkey also extends JavaScript by providing users with its own API. We are considering adding unofficial support for the Greasemonkey API so that scripts may be ported to Chickenfoot without any rewriting.

That would be awesome. I love Greasemonkey, but I feel like I mostly depend on the kindness of strangers to get anything out of it. Looking at most userscripts, they’re greek to me and I don’t want to spend the time to get a whole new scripting language. So it’d be neat to have a single environment that can cope with the kindness of strangers while allowing me to put together my own modest scripts.

> Chickenfoot encourages users to experiment with web pages to develop their scripts. One of the major contributions of Chickenfoot is the addition of a development environment inside Firefox for web scripting. Since Chickenfoot users are encouraged to work with the rendered model of a web page, being able to look at the page while writing the script is essential. Also, the Output pane makes it convenient to view intermediary results, and the Pattern pane helps users users see what their keyword patterns will match before adding them to their script.

Awesomer yet. Sort of like the extra-nifty editcss only for the actual page content. I can deal with that.

And here’s one, gigantic, ugly, stupid bummer:

> Why doesn’t Chickenfoot work on Mac or Linux?

The majority of Chickenfoot is written in JavaScript, which is single-threaded. This is a problem because sometimes Chickenfoot needs to suspend its activity (such as when find() is called on a page before it is done loading). On Microsoft Windows, other threads in the browser continue to run while Chickenfoot is suspended; however, on Mac and Linux, suspending Chickenfoot apparently suspends all threads in the browser. We are exploring workarounds to make Chickenfoot cross-platform.

By Monday at noon I’m hoping Ed will explain to me what some language he played with several years ago that now exists only as an uncompiled tarball on a backup server buried in the Arctic but mysteriously still responding to ping has to do with the evolution of the this woeful situation.

Until then, I stew.

Leave a Response

© Michael Hall, licensed under a Creative Commons Attribution-ShareAlike 3.0 United States license.