Less Talk, More Do Christopher Finke is a software engineer. He is available for birthday parties and bar mitzvahs.

Posts tagged with 'Mozilla Firefox'

Ambilight for Your Browser or: Monetizing an Add-on with Fat Plug

Friday, March 26th, 2010

I've written a new Firefox extension; it's called True Colors, and it bleeds the colors from the web page you're viewing into the tab bar and status bar. Think of it as Ambilight for your browser.

The technical details behind the extension are interesting, but I won't go into detail on that here, since Splashnology's blog post describing how Ambilight for video works explains 99% of the technique.

There's another important aspect to this extension. I've used it as a testbed for Fat Plug's add-on monetization system. A Fat Plug-enabled extension will add/change ads on various websites, and, in turn, funnel a portion of the revenue from those ads to the extension developer.

There's some controversy around this technique. Mozilla has opted to deny any Fat Plug extensions that are submitted to the Mozilla Add-ons Gallery. Website owners, I imagine, wouldn't appreciate their ads being replaced with ads that don't earn them any money. (Although it would harm them no more than ad-blocking extensions, which Mozilla does allow.)

However, to an add-on developer, the idea is intriguing: "What if I collected half of all the website ad revenue from all of the users that use my extensions?" A developer of a popular add-on could retire after a couple of years to the sands of Grand Cayman and spend his days writing free software that needs no monetization.

So True Colors is my testbed for Fat Plug's technology. I won't be uploading it to Mozilla Add-ons, and I won't be publishing it anywhere that doesn't make the Fat Plug integration obvious. I'm not looking to stealthily trick users into becoming my little monetization machines, which is why I purposefully wrote a simple extension that doesn't add functionality to the browser as my first foray into Fat Plug.

If you're interested in seeing how Fat Plug modifies ads on websites, you can install True Colors, agree to the license agreement, and then set the preferences extensions.fatplug.enableoutlinediv and extensions.fatplug.enableoutlinelink to true in about:config. Any ads that Fat Plug adds or modifies will be outlined in red for your convenience.

If you're interested in the coloring functionality but are wary of the Fat Plug integration, you can install the extension and just not agree to the license agreement. That will keep the tab and status bar coloring functionality but disable Fat Plug's code.

Making Add-on/User Communication Less Annoying

Saturday, February 27th, 2010

When a new user downloads TwitterBar, there are a number of things I want them to know or questions I want to ask them. So what is the best method to communicate with an add-on user?

The solution I've been using for a while is to pop up a dialog like this:

There are several problems with this approach, all of which I decided to ignore when I implemented it:

  • It steals the user's focus.
  • It's annoying.
  • The user might click cancel without reading it just to get rid of it.
  • It's annoying.
  • The user might immediately (but accidentally) click elsewhere, hiding the dialog behind another window, never to be seen again.
  • It's annoying.
  • It's extra code and work to pop up a special dialog like this.
  • It's annoying.

Back when there was only one dialog, I decided that these were acceptable faults. However, since then, I've come up with a few more questions I want to ask users, so now instead of one annoying dialog, there are three or four annoying dialogs - a new one appearing each time you restart Firefox.

Predictably (or so it should have been), users don't like to be assaulted with new dialogs each time they start their browser. Most likely, they're starting their browser for some purpose other than using my add-on, so my add-on shouldn't steal their attention. As one user so elegantly put it,

"I really love the TwitterBar, but after the most recent TwitterBar update, I noticed I kept getting these annoying as hell pop-ups from TwitterBar about TwitterBar. After the third one (while I was in the middle of doing something and became distracted with this pop-up dialog box TwitterBar tip of the day), I uninstalled it. If you want to keep your clients, don't constantly tap them on the shoulder."

I had already been working on redesigning these add-on/user interactions when I got that email, so the user's message reinforced what I had suspected: I was alienating my userbase.

Here's the new scheme I've settled on for now:

It's a notification bar, much like the one that appears when Firefox blocks a popup. It has these positive qualities:

  • It doesn't steal focus or interrupt the user.
  • It's not in-your-face, so it's less likely (I assume) to be dismissed without thought.
  • It can't be lost behind another window.
  • The amount of code to implement it is less, and it's more in tune with the browser interface.
  • It's not as annoying.

I'd love your feedback on this change. Is it enough? Should I stop bothering users altogether and just let them discover their way around the add-on? I'm open to all ideas.

(If you'd like to try a version of TwitterBar with this new notification method, you can download it here. Although, if you've already seen the old dialog-style version of these notifications, you won't see the new-style ones anyway.)

TwitterBar 2.9 Available: Post to Multiple Twitter Accounts

Wednesday, February 24th, 2010

Version 2.9 of TwitterBar for Firefox was made available on Mozilla Add-ons today, and it has a very cool new feature: you can now use TwitterBar with more than one Twitter account.

To post to a specific account, just type your message like this:

I am posting to my other account. --@other_account --post

If you haven't yet authorized TwitterBar for @other_account, you'll be walked through the authorization process.

If you've authorized more than one account, and you don't specify which account you want to post to, you'll be given a list of choices:

You can manage your accounts from the TwitterBar options (just type "--options").

Finally, to authorize a new account without posting to it, just type "--account" in the URL bar.

To install this new version of TwitterBar, download it from Mozilla Add-ons.

The next obvious step is the ability to post to multiple accounts simultaneously, and the next version of TwitterBar will offer than feature. If you'd like to beta-test that update, e-mail me and let me know.

Extending the Web, not just the browser, with Twitter Filter

Thursday, December 17th, 2009

Note: If you don't use or care about Twitter or browser extensions or the Web in general, you can safely skip the rest of this post.

One of the things that annoys me about Twitter is the constant "check-ins" from location apps like foursquare and Gowalla. Since I don't use these apps, I don't especially care that you're at the Starbucks in Dallas or that you're the mayor of your bus stop.

Foursquare checkins on Twitter

To solve this problem, I wrote a browser add-on called Twitter Filter. It adds a little "X" next to the source of each Twitter status update; if you click that X, you will never see updates from that source again (at least not on the Twitter website):

8 minutes ago from foursquare (X)

The sources you've blocked are listed in Twitter's right sidebar so that you can easily unblock them:

Blocked Sources: foursquare, Gowalla

That's all there is to Twitter Filter, and it's a new type of browser add-on for me. It has options, but no options dialogs. There's no toolbar button, no browser sidebar - everything related to the add-on is controlled via the Twitter Web interface, so it's not so much an extension of the browser but rather an extension of Twitter itself. Go ahead and install it on a friend's computer and convince them that Twitter added the feature - it'll be fun! Be sure to come back and recount your grand prank in the comments below.

TwitterBar is a winner!

Monday, December 14th, 2009

(And so are you, for using it!)

It was announced today that TwitterBar is one of the ten winners of the Mozilla Mobile Add-on Challenge:

"After reviewing a multitude of submissions and much debate around many worthy contenders, the judges from the AMO and Mobile teams have chosen ten (10) of the “best” (innovative, useful, compatible) Firefox mobile add-ons. We’re very pleased to announce our winners (and thrilled to start using their add-ons soon) and award them each with a brand new Nokia N900."

I was really pleased with how the mobile version of TwitterBar turned out; I slimmed down the interface (which was already pretty slim), and I found a great Twitter bird icon that I modified to allow TwitterBar to have its own branding separate from Twitter:

I'm planning on eventually using this same icon in the Firefox version of TwitterBar too so that there's consistent branding across the Mobile, Firefox, and Chrome versions of TwitterBar. What do you think?

Lost and FireFound

Tuesday, December 8th, 2009

I've written a new extension for Firefox, and it's called FireFound:

FireFound is an add-on for Firefox and Fennec (mobile Firefox) that helps your find your computer (or mobile phone, in the case of Fennec) if it is lost or stolen. Every time your computer's location changes, FireFound sends a secure message to a central server with its current location. You can then log into the server and see your computer's current location.

All of the location data is encrypted, so no one can find out where your computer is without your password.

If you lose your computer, you can tell FireFound to clear your personal data (saved passwords, browsing history, etc.) if anyone starts your browser before you can retrieve it.

You can even run your own FireFound server; all of the code is open-source.

FireFound was chosen as a grand prize winner of the Extend Firefox 3.5 contest; since then, more than 6,000 people have installed FireFound, resulting in over 330,000 location updates.

Add-On-Con 2009

Monday, December 7th, 2009

Just a note that I'll be at the 2nd annual Add-On-Con this week in Mountain View, CA. Add-on Con is a gathering of browser add-on developers and representatives from the browser vendors (Mozilla, Google, and Microsoft).

I'll be participating in the opening keynote discussion, which will address the question, "Do Add-ons Need a Marketplace?" The other keynote participants will be representatives from Mozilla, Microsoft, XMarks, and FoxyProxy, so I'm obviously there to even out the low end of the curve. Anyone know any good knock-knock jokes I can use?

I'll also be sitting on a Mozilla panel as a token add-on developer, talking and answering questions about how to develop a successful add-on. (On an unrelated note, if you know how to develop a successful add-on, please contact me ASAP.)

Will you be at the conference? Let me know!

Abandoning Yammer Time

Thursday, May 14th, 2009

I am going to be abandoning development of the Yammer Time extension for Firefox. I no longer have the time or motivation to maintain it.

Is there anyone out there is interested in taking ownership of it? If so, e-mail me at cfinke@gmail.com, or leave your contact info in the comments. It's fairly simple as extensions go, so even if you're just getting started with addon development, you shouldn't have any problems understanding the code.

TwitterBar updated with OAuth, shorter URLs

Monday, March 23rd, 2009

Everyone's favorite tool for posting to Twitter from your Firefox address bar (TwitterBar) has been updated to version 2.0. Changes in this version include:

  • URL shortening
    • Long URLs are now shortened by http://is.gd/ before being sent to Twitter. is.gd offers the shortest URLs around, so you have more room in your tweet for your words. (TwitterBar's character counter takes into account the fact that all of your URLs will only be 18 characters long when they're posted, so you always know exactly how much room you have left to tweet.)
  • Support for OAuth.
    • OAuth is basically a way to allow applications (like TwitterBar) to act on your behalf (update your status) without having to disclose your Twitter password to the application. So it’s safer for you, since you don’t have to worry about malicious programmers stealing your usernames and passwords, since you never gave them out. After you upgrade to this version of TwitterBar, you’ll have to authorize it once, but then you’ll never have to do it again.
  • Bug fixes and code cleanup
    • These are good!

You can download TwitterBar from Mozilla Add-ons (for free!), or you can wait for Firefox to automatically notify you of the update. (By the way, if you want to connect with me on Twitter, I'm @cfinke.)

Sort your feeds in Feed Sidebar

Friday, February 6th, 2009

A lot of people have asked for the ability to sort the feeds that appear in the Feed Sidebar extension for Firefox, so I've taken some time to integrate some basic sorting options. I would like to get some feedback on this feature before releasing it to the general Feed Sidebar audience, so I've uploaded a version for testing here. (You may have to save it to your computer and open it with Firefox in order to install it.)

Sort button in Feed Sidebar

The sorts I've implemented are:

  • Default: Sorts the feeds in the order that you added them to your bookmarks. This is how your feeds have been sorted up to this point.
  • Name: Sorts the feeds alphabetically by feed title. (This doesn't yet ignore things like "a", "an", "the", but it will before the final release.)
  • Last Updated: Sorts the feeds with the last updated feed at the top.

Please leave any feedback you have either as a comment on this post or by emailing me at cfinke@gmail.com.