You might not know the name Anthony Lieuallen, but I bet you have heard of Greasemonkey before. It is the Firefox extension that allows you to extend or customize your favorite web sites in a number of different ways.
Anthony is one of the driving forces behind that project, so I thought it would be fun to pick his brain to find out what his part in the project is, and what advice he might have for other hopeful Greasemonkey script writers or Firefox add-on developers.
What all have you done in development for the Firefox Greasemonkey extension?
I’ve definitely lost track of when and how exactly I first learned about Greasemonkey, and when I got involved. Luckily, I can look up enough old records to get a pretty good idea of what the right answer here is.
I first interacted with Greasemonkey as a user. Quickly though I graduated to User Script author. My earliest blog post about a script I authored was in March of 2005. I wrote a few scripts, some quite popular, for a while. By June, Mark Pilgrim contacted me about being included in the “Greasemonkey Hacks” book, essentially a cookbook-like collection of existing User Scripts, with discussion about what they were and how they worked. I was included as a contributor when that book was published.
I am first credited in a commit message from November, 2006. That’s when I first began development of Greasemonkey itself, nearly three years ago. At the time, the original creator, Aaron Boodman, was very much in charge and I was minimally involved. Over time, I became more and more involved in the development process.
The first change I made to the source code directly, rather than submitting to the maintainers and being recognized for, was in February of 2007. It was a very gradual process from there, but by some time in 2008 I was one of the more recognized authorities within the development community. Finally, in August of 2009, the project’s original creator stepped down from the role of primary developer, handing the reins to myself and Johan Sundström, leaving me in the “co-lead” role with Johan.
Development progress over time has been relatively slow. On one hand, Greasemonkey serves its purpose quite well, so doesn’t need to change very much. On the other, there was a more complicated and difficult process for agreeing to and including changes. Now that I’m more “in charge” than ever, I (along with Johan) am hoping to make it easier for Greasemonkey to progress, in the future.
As far as scripting and coding goes, how did you get started and what would you suggest somebody who wants to write their own Greasemoney script or Firefox add-on go to learn more on how to do so?
I’ve been programming since I was 10 or 11 years old. Even earlier than that, I did “programming” by typing source code from a magazine into the Atari BASIC interpreter. By my teens I was writing little programs, and by college I was beginning to learn PHP. I got involved heavily in web development, and have been doing that professionally for six years now.
I was interested in Firefox extension development from the word go. Back in the 1.x days, however, tutorials and documentation was sparse, varied, and confusing. Luckily today these problems have been solved. Mechanisms in Firefox 2 and 3 help make extension development easier, and both documentation and examples are much easier to find and understand.
I actually tried, and failed, to make my own extensions a few times. I finally got my first one running in June of 2005. Since then I’ve made a few of my own, and gotten involved with Greasemonkey. For new extension authors, the developer.mozilla.org site is definitely the place to go, today.
As an add-on developer, is there anything else you wish that the Mozilla team provided, or do you feel pretty happy with the information and support that they provide to developers?
It’s hard to say. At this point, I’m a seasoned developer, so most of what I need is in my head. There are two things that I would really like though:
Something like xulplanet.com’s XPCOM reference. The xulplanet.com site is now dead, giving just a link to the general developer wiki. This is a good and helpful wiki, *but* has two weaknesses: it covers many disjoint topics (i.e. both web development, and extension development), and lacks the coverage that xulplanet.com
had. There are many interfaces that, now, are harder to discover and understand. Since xulplanet went away, I’ve found myself resorting to reading the source directly, which is more difficult to navigate to, and more difficult to read.
How big of a role has working on Firefox add-ons played in your professional life?
Almost none. I interviewed for, but ultimately did not accept one position that would have been FF extension development. My previous job did include creation of one extension, a port of the IE specific add-on that the company made, but was a secondary/side role.
What Firefox add-ons or Greasemonkey scripts are you a fan of?
For extensions, I like FireBug and Firecookie, JSONView, Open In Browser, and Web Developer extensions.
Most of the user scripts I use, I wrote myself. Of those I find Linkify Plus and Submit in Select to be indispensible. But I also use Check Range, and Google Reader Quick Links.
For more information on Anthony, what he does and his work – be sure to check out his personal site Arantius.com. To check out all the Firefox add-ons he has been a part of, you can also check out his profile page on the Mozilla Add-ons web site. From all the Firefox fans, I would also like to thank Anthony for the work he has done to (in the long run) make Firefox a better browser for all.