One Add-on Developer's Perspective on Contributions

Recently there was a post on on the Mozilla Add-ons Blog about Contributions. While that information was interesting, what I’d much rather see is individual developers talking about their experiences with Contributions. Hopefully my post will start a trend. (For those who don’t know, Contributions is a way for people to donate to the developers of Firefox Add-ons.)

When Contributions was first made available, the mechanism was flawed. You were asking a user to contribute when first downloading an add-on (which is unlikely since they haven’t actually tried the add-on), or somehow expecting the user to make it back to the add-on page to do the contribution (which is again unlikely since most users never go back to the add-on page since updates are handled through Firefox.). The AMO team tried to remedy this problem by creating a first run page, but this has the same problem – a user isn’t likely to contribute money at first run because they haven’t actually tried the add-on yet. But the existence of this page allows us to take advantage of displaying a request at a much better point than download or first run – upgrade.

Presenting a contribution page after an upgrade is a much more logical scenario, since your users have probably had your add-on installed for a while. I chose to use this method with the Operator add-on.

We need some numbers to put this post in context. As of today, Operator has about 160,000 downloads with around 14 to 15 thousand active daily users. (I’ve made my dashboard public so people can see these numbers.) That means I’ve had about a 10% download to user conversion rate.

As a side note, this 10% number seems to be pretty common. If you look on the AMO page today, you’ll see 1,624,545,716 downloads, 170,724,304 users. This works out to about 10%. I’ve actually seen this number with other companies and add-ons as well. It would be interesting to see if other people see this trend as well.

I released an update to my add-on on October 12, 2009. This update contained a first run page that would be seen by all users including upgrades. This page is hosted on my website so I can easily track page views. From October 12, 2009 to October 19 ,2009 (1 week), that page has received 11,469 hits from which we can reasonably conclude that there were at least 11,000 upgrades, which is a considerable amount of my users.

I set my contribution amount at 5 dollars before I released the update. During that week I received 8 contributions of 5 dollars.

So to summarize, 1 week, 11,000 upgrades and views of the contributions page, 8 contributions. That works out to about a 0.07% conversion rate. I don’t know much about advertising or these types of things in general, but my understanding is that ad conversion rates typically run anywhere from 1% to 4%, so this is extremely low.

I certainly don’t have any complaints about this scenario – I’m not trying to earn a living from Operator, and any funds I receive are just extra. But I was surprised at how low it was. I pictured Operator as kind of a “”niche” add-on so I thought more people would be interested in supporting it.

Some other random observations:

  • I put a picture of my family on the developer page per a recommendation early on. No idea if this influenced folks.
  • More granular data from the AMO folks would be useful – in particular from which page (AMO vs. first run) contributions came from.
  • I believe these numbers would be even lower if I had my developer profile as “Kaply Consulting.” I believe people are far less likely to donate to a company vs. an individual.

Any other add-on authors interested in sharing their experience?

Do you want to leverage Firefox add-ons to grow your business? Kaply Consulting can help.

Operator 0.9.5 Finally Available

I’m finally making Operator 0.9.5 available. You can download it from AMO. (It might not be there yet).

This version has a very significant change – I’ve removed the ability to have Operator present itself based on actions versus the data. I don’t believe this will affect most people – data has been the default for a long time, and I would bet that is what most people use. If there is significant pushback, I’ll reconsider. The reason I made this change is because I now allow you to turn individual actions on and off and I thought it would be very confusing to have the ability to specify actions on a toolbar, as well as turn off individual actions.

You also might find that some of your user scripts are not working anymore (particularly ones that install new microformats). I’ll be working on solving this problem over the next few weeks. Basically the problem was that I had told people to explicitly import the Microformats API but if you do that, you don’t get the new Microformats API included with Operator. I haven’t found a good way to completely solve this problem so for now I had to disable anything that tries to include Microformats.js. I’m working on a way to sandbox my API from the Firefox API.

So to summarize the changes:

  • Actions view is no longer supported
  • You can turn individual actions on/off
  • Actions always open in a new tab
  • The new value class date patterns for microformats are fully supported (
  • RDFa support has been tweaked a little so you should see Resources where you didn’t before.
  • First run page
  • Various bug fixes
  • More translations

Operator First Run

One of the problems I’ve seen consistently with Operator is that people don’t realize there are other ways to interact with it besides the toolbar. To solve that problem, I’m creating a first run page for Operator that shows the various interaction methods. Here’s what it is going to look like:

Operator First Run
It will be dynamic – that is as you make changes in the dialog, they will happen live in the browser.

What do you think? Is this enough?

Back from the Dead

It’s been way too long since I have blogged.

Most of my summer was spent on a cross country road trip which you can read about here. I worked as we traveled which went reasonably well, but didn’t leave time for blogging.

The biggest news I have is that I have resumed work on Operator. In particular, I’m fixing bugs, adding a few usability enhancements and adding support for new microformat stuff like the value class/pattern for dates. I’m also considering completely removing the “Actions” toolbar and switching to interacting only with the data. I’m definitely looking for feedback on that one.

If you have anything you wish Operator did, please let me know and I’ll see if I can get it in.

Note that Operator is a part of the AMO Contributions program and I’d appreciate any support you can provide. Right now I’m mixing it in with my paid work, but I’d like to spend more time on it.

The bulk of my paid work has been for Brand Thunder. We’ve been updating our extensions to work properly with Firefox 3.5. There’s quite an eclectic mix there, so you’ll probably find something that you like.

Going forward I’m going to try to start doing extension related posts, primarily to see if I can drum up some more business. So if by chance you have a question about anything I’ve done in the past with extensions, or should do in the future, please let me know.

UPDATE: Forgot that I’ve also proposed a panel for SXSW. Please vote:
Vote for my PanelPicker idea!Love AND Money: Can Fansites Pay the Bills?

Canvas from Brand Thunder

In the description for the Personas Add-on is the following statement:

The Artist in You Should Be Able to Treat the Browser as Your Canvas

With the introduction of Canvas (formerly PhotoFox) from Brand Thunder, you really can treat your Firefox browser as a canvas.

Canvas allows you to use any image from the web or any image on your computer as the background of your browser. It allows you to move it, pin it and tile it to give it exactly the look you want. It even allows a web designer to specify exactly how they want an image to appear in Canvas with a few HTML attributes.

Adding an image from the web to Canvas is as easy as right clicking on an image and selecting “Add Image to Canvas.” The image is immediately available in your browser. Try it with the image below:

Seamless Photo Texture 01
Seamless texture provided by

By default, the image is in the upper left and is not tiled. This image would look much better tiled so click the Manage button to tile it, move it around, or change the menu and background colors. You can also give it a memorable name.

We said that by default Canvas does not tile the image and it puts it in the upper left. You might have an image that you want to make available for use as a background, but you want to designate how it appears in the users browser. You can do this by adding custom attributes to the image that allow Canvas to set the defaults for the image. Here’s an example:


If you right click on this image, you’ll see “Add ‘Cliffs’ to Canvas” instead of “Add Image to Canvas.” After the image is added, it is aligned to the right and has a background color. You’ll also notice that the image that was added is bigger than the preview image. This is because you can specify the actual image you want to be used in the browser separate from the image the user clicks on. (Note this feature can be used to trick you into using possibly inappropriate images, so just be aware of that). Here’s the HTML from the example above:


The attributes map directly to the CSS attributes for the image, so you just set them to those values. You can also specify “menuColor” if your image needs a custom color for the menus.

We know this is a very nonstandard way to accomplish this, but we wanted something simple that anyone could use on their website. We’ll be improving on this process in the future.

Canvas also supports Personas. If you go to and right click on any image, you can add the Persona to Canvas. Note we do things a little different: we do not use the status bar image and we use the background color as the color of the status bar. We automatically determine a color for the status bar that works on that color. We also don’t change the title bar color on Macs.

You may wonder why we added that feature. We worked very hard to support coexistence with Personas and I think we did a pretty good job. You can switch back and forth between Personas and Canvas. In the end we determined that it would be better for the user if they had one place where they could go to access all of their browser customizations.

Now that you have all these images added to your browser, how do you switch between them? The My Pix button. Clicking My Pix will display a list of all the images you’ve added to Canvas so you can quickly switch between them.

We think that Canvas opens up a whole new way to customize your browser and we have lots more ideas that we’re excited to bring to the table. Keep watching this space. And download it here.

Note: Canvas from Brand Thunder includes the Surf Canyon extension. It also changes the default search engine to Yahoo! and adds search to new tab windows. We do this so that we can keep our extensions free. Obviously we’d love for you to use Yahoo!, but if you don’t want to, feel free to change it back. We also can give you info on removing the tab search. Just let us know at

Mozilla No Longer Allows Firefox Community Editions?

It looks like Mozilla has disallowed Firefox Community Editions. There has been no official announcement of this change (that I could find) or any new policy.

is now a 404. If you look at the document history:

you find this bug:

where Catherine Brady says:

“Community Editions are no longer authorized.” She also states that a new policy would be available at the end of February. It’s now the beginning of April.

Any details Mozilla?

I hope they’ve talked to folks like FrontMotion

Life Update

Haven’t posted in a while, thought I would give some updates.

I just finished updating my Firefox Activities extension to work with Firefox 3.1/3.5. It has the much requested feature of opening new links in tabs. It also has custom code in it to modify the site to work with Firefox. You can hopefully get it here soon. You’ll know it is the new version when it says 0.7.4.

Brand Thunder has been releasing quite a few Booms lately. You can check them out at the gallery or on amo. Lots of cool stuff and more stuff coming.

Minggl just released a new version of their tool for managing social networks. It works better than ever. If you want to integrate multiple social networks into Firefox, you should definitely grab it.

On a personal note, We’re headed to Dallas this weekend for Dave Ramsey’s Total Money Makeover Event. We’re volunteering for the ninth time.

And if you want a different view of the economy, be sure to check out the Town Hall for Hope.

I Couldn't Stay Away From the CCK

So it just so happens that some of the work I’m doing before I leave IBM involves the CCK, so I ended up working on it and fixing some bugs. In addition, a company asked for a feature that was pretty easy to implement. So here for your testing pleasure is:

CCK Wizard version 1.2.5

Here’s a summary of what’s changed:

  • Dropped support for Firefox 2
  • Added support for specifying sites where cookies are always allowed
  • Added support for specifying sites to deny popups/installs/cookies
  • Rewrote CCKService XPCOM Component to be a little cleaner
  • Fixed problem where sometimes a created CCK wouldn’t install (ZIP path problem)
  • Fixed problem where sometimes bookmarks weren’t created on first load
  • Fixed problem where bookmarks weren’t created in the same order as specified in the CCK Wizard
  • Made the additional help menu look better on Mac