Extension Developers – Firefox 3 is Coming!

  • Do you or someone you know write extensions for Firefox? Yeah, its pretty easy to do, adds cool enhancements to Firefox and a great way to get stinking rich.
  • Did you hear Firefox 3 is in beta release? There are a ton of new features and lots of work on the internals. Definitely worth trying out.
  • Have you tried to install your extension in Firefox 3 yet? What! Why not? Don’t you realize that other Firefox 3 beta users are trying to use your extension and are cursing you cause you haven’t taken the time to update it yet?

Ok, so the sky isn’t falling yet, but now is a great time for extension developers to get those extensions updated to Firefox 3. The crew at addons.mozilla.org have a bit of information concerning the update for extensions hosted there. The Mozilla Developer Center has a page dedicated to the new features and changes in Firefox 3.

Who knows, your extension might just need a simple bump in the old <em:maxVersion>. On the other hand, it could require more involved overlay changes, JavaScript refactoring or binary component updating.

You might need to worry if your extension:

  • Uses nsIPasswordManager – this has been replaced by nsILoginManager.
  • Depends on History or Bookmarks – these systems were replaced by the Places framework. It’s much more convenient and easy to use, but it will break your old code.
  • Overlays or modifies the Bookmark Manager – this window was significantly updated to support the new bookmarks functionality.
  • Modifies the location bar or its autocomplete dropdown – the awesome bar changes will likely cause some code changes for you.
  • Hosted on a HTTP (non-secure) website – add-ons are now required to provide a secure method for obtaining updates before they can be installed. Add-ons hosted on AMO (addons.mozilla.org) don’t need to worry about this, AMO uses HTTPS.
  • Overlays or modifies the Download Manager – features new and improved APIs, including support for multiple progress listeners and a redesigned user interface.

Procrastination is the enemy! You can do this and #extdev and #addons on Mozilla IRC can help.

7 Comments

  1. Mike Goodspeed said,

    January 4, 2008 @ 12:16 am

    My extension requires that the new FX3 UI be put into place before I update. When is that happening?

  2. Marc Diethelm said,

    January 4, 2008 @ 11:01 am

    My extension, though unreleased to comply with the Extend Firefox Contest, was compatible from day 1.01. Which means I had to fork for nsIPasswordManager / nsILoginManager and other niceties like not using the new XUL elements because I had to invent workarounds for FX2 anyway.

    But I’m really interested about the “get stinking rich” part. I haven’t implemented that component yet. Where can I find it?

  3. Mark Finkle said,

    January 4, 2008 @ 12:01 pm

    Mike – The UI work should be landing soon in preparation for beta 3 which is set for end of January.

    Marc – You should document (blog or MDC) the challenges you had getting your extension to work on Fx2 and Fx3. That would be valuable and maybe we could get some new ideas for making it easier. Get me a link if you do!

    The “stinking rich” part was merely intended to grab the audience :)

  4. Marc Diethelm said,

    January 4, 2008 @ 12:27 pm

    @Mark: Oh well, you see that’s the problem. Once you solved one problem you move on to the next. As you get more comfortable hacking Mozilla you forget the initial, terrible, difficulties you had. In time you become relaxed enough to start documenting the stuff you had to figure out the_hard_way.

    IMO that’s way there’s a lot of good information about the more advanced topics (like updating to fx3) while you’re utterly lost trying to get started with creating, say, a sidebar in Thunderbird and putting a standard close button on top and then figuring out that Lightning somehow prevents the loading of your XUL if you apply your own CSS. Phew!
    Another example? Here goes: Custom Tree Views creation and manipulation is pure rocket science if you’re unfamiliar with the concept. (Me got some new gray hair now!).

    XPCOM in JS is very scary looking and I still fail to see how FUEL really makes it more-familiar-looking.

    As for documenting/blogging: I did some work on the mozStorage (Storage) docs on DevMo for instance. I don’t have a blog sorry. Too busy figuring stuff out…

  5. Mark Zinkel said,

    January 11, 2008 @ 2:53 am

    Hi Mark Finkle, this is Mark Zinkel. No seriously…that’s my real name. You can do a google search if you’d like.

    Anyways, I just wanted to comment about your name, extremely off topic, but that’s OK sometimes. A newspaper writer once interviewed me. People never know how to spell my last name, normally spelling it Zinkle insead of the way it’s supposed to be, Zinkel. I made a big deal about how to spell my last name correctly. The guy seamed to understand, so I shut up. When the article was published in the newspaper the stupid writer had my name spelt as Mark Finkle.

    Not only was the L and the E in the wrong place, but he somehow put an F where the Z was supposed to be. Was this guy high on drugs or lacking sleep or what?

    Anyways, I thought you might enjoy the story,
    Mark Zinkel – flightdream.blogspot.com

  6. Mark Finkle’s Weblog » Extension Developers - More On Updating said,

    January 17, 2008 @ 2:55 pm

    […] have been putting out the call for extension developers to start the process of updating their extension to workin […]

  7. Andrew Conkling said,

    February 15, 2008 @ 12:36 pm

    By the way, I’ve sent this article around to about a half dozen extension authors since you posted it. It’s a nice touchpoint. :) Thanks for posting it, and for loading it up chock-full of links.

    Also, I seem to be the first person to comment whose name doesn’t start with M. Sorry to break the chain. ;)

RSS feed for comments on this post