Wednesday, November 29, 2006

New hacking opportunities with Facebook, Firefox, and Chickenfoot

Facebook just announced its own toolbar for Firefox, but interestingly, no toolbar for Internet Explorer. As they mention in their Developers News page, "[the toolbar is] open source, so if you’re interested in adding functionality (or porting it to another browser), join the discussion thread!" Sounds like we'll have to wait for a solution from "the community," whoever that turns out to be...

Now, although Firefox is gaining marketshare, it still has a long way to go before it can dethrone Internet Explorer, so why wouldn't Facebook focus on building a toolbar for the majority? My first thought is that building a toolbar for Firefox was just easier for the development team. For starters, there is already a plethora of toolbar extensions for Firefox that Facebook developers could have used to model their toolbar after as a starting point. Also, there are no Microsoft Visual Studio licenses to buy when developing for Firefox, and the structure of the browser is easy to learn and explore with free, built-in tools because it's one giant DOM. Or maybe there was just one crazy developer (Ari Steinberg?) who just happened to like hacking on Firefox that started prototyping a toolbar and ran with it. Lots of software projects start that way.

The one thing that I can't imagine is that a Product Manager at Facebook said, "Hey, I think we need to have our own toolbar. And instead of going after 80% of the market, I think we should focus on only 10% because having all those users would be too crazy." Unless, of course, the PM has a shiny new MacBook Pro and didn't want to see his or her developers working on something that he wouldn't be able to use. Either way, I'm excited to see new tools that promote Firefox.

Although I haven't looked at the source code for the toolbar yet, I'm curious how similar it is to the wrapper for the Facebook API that I wrote for the new version of Chickenfoot. My wrapper isn't mentioned in the release notes (though I assure you it is bundled in the extension), but the source code for the Facebook wrapper can be viewed online, and can be used by adding include("facebook.js"); just like any other library in Chickenfoot.

In my initial experimentation with the Facebook API, I was very frustrated that their client libraries did not come with good sample code to demonstrate how to use the library, so I promised myself that I would not make the same mistake with Chickenfoot's Facebook wrapper. As you can see, I have some sample usage at the top of facebook.js, but I plan to put something better together like I did for Chickenfoot's Prototype wrapper. Admittedly, I have yet to build anything with facebook.js, so until I have a sample application, I suppose I shouldn't promote it too heavily.

Nevertheless, you should still check out the new version of Chickenfoot because it now supports keyword commands! Both the keyword commands UIST conference paper and video of the tech talk at Google that showed them publicly for the first time are available on the Chickenfoot publications page. With keyword commands, you can write a script without learning JavaScript. For example, the following is a valid keyword command script in Chickenfoot for doing a Google web search:

go to google.com
type "chickenfoot MIT"
search


At first glance, you might think this is some sort of pseudo-natural-language programming like you see in AppleScript, but composing keyword commands is even easier than traditional scripting because keyword commands are not validated against a grammar. This is an important distinction, and I recommend reading the paper or watching the tech talk for more details.

3 comments:

  1. [...] A voir sur:http://groups.csail.mit.edu/uid/chickenfoot/index.php http://www.bolinfest.com/changeblog/category/firefox/chickenfoot/ [...]

    ReplyDelete
  2. There is Firefox add-on called iMacros, that does what chickenfoot does, but creates the commands visually: https://addons.mozilla.org/firefox/3863/

    I think keyword commands are clever, but visual recording is still MUCH easier. After all, that is why VISUAL Basic was such a success!

    ReplyDelete
  3. It would be interesting to hear your opinion on this tool!
    Frank

    ReplyDelete