I saw the new extension manager land in BlueGriffon a while ago after an hg pull. Since BlueGriffon is a xulrunner-based app and not a browser, the extension manager still appears there inside a dialog and I certainly don't want it to show as a tab. So let's take a look at that new manager inside Firefox, my browser window being maximized on a 15"4 MBP (and that is the normal behaviour for the vast majority of MBP users):

Extension Manager as of 2010-06-07

I have many comments to make here:

  • lots and lots of unused space, the eye has to move far too much from left to right to capture all the information relative to a given add-on,
  • the "Update add-ons" link feels like a poor man's solution compared to the number of rounded buttons, gradient backgrounds and so on. It really feels nobody knew where to put it and the header was the only reasonable option but then a button was not reasonable there... Eh.
  • please notice that the entry for add-on "Freerecord" shows all information about it and the version number is not even shown. On another hand, the rating seems to be super-mega-important since it's on first line! Hum, to say the least.
  • "Get add-ons" has really nothing to do with the other entries on the left hand side. The icon is a shopping bag and that's probably a bad choice for what is really a catalog with a search engine and a download button.
  • the left hand side list uses both "add-ons" and "extensions"...
  • the Name/Size/Last Updated column headers are still visible if you resize the window enough to make appear a horizontal scrollbar; in that case, the headers are not standing above the corresponding information
  • the filtering options are limited; it's not possible to filter based on compatibility/incompatibility, update available/up-to-date, enabled/disabled
  • the "show more" click-foo-schmurtz-thingy does not really show a lot more... you have to double-click on the entry to really learn more on a given entry... it took me a while to discover that option :-(
  • placing a "install add-on" button for xulrunner-based non-browsing apps in this page is a real pain. It really does not fit.
  • sorry to say, but on my Mac, it's ugly. It's does not look mac'ish at all, and I am no mac UI fanatic at all.
  • it does not easily allow third-party catalogs for extensions/themes/search engines

I then spent a few cycles drawing a mockup of what would be a nice extension manager for me under Mac OS X. First, it would not be tab and would remain a dialog because my screen is too wide for such a manager as a tab... Then, please excuse my extremely poor graphical skills and do not focus on the pixel-precise thing, here's the thing:

my dream extension manager

You can see my remarkable drawing skills at the top of that image... I just could not draw something satisfactory for the hierarchy.

It's basically a hierarchical list with a search field and the classical add/remove/config mac buttons for a list, plus a throbber on the right bottom hand side. The hierarchy of data is:

  • all
    • installed
      • add-ons  / languages / search engines / themes / plugins
        • all / enabled / disabled / incompatible / update available
    • available in AMO's catalog
      • add-ons  / languages / search engines / themes / plugins
        • featured / recommended / category 1 / category 2 / ...
    • available in another repository
    • available in another repository
    • ...
  • result of a search

Search is contextual: if you're browsing data in the user's profile, it searches in the user's profile; AMO if AMO is browsed; both if the display is currently "All".

Advantages:

  • extensible to third-party repositories
  • less unused space
  • hierarchical navigation metaphore
  • more filtering capacity
  • the "Install" button has a natural position, it can be very easily hidden; that + button could not only install from file but also from URL...
  • the toolbar at the bottom of the list has room for more buttons/features if needed
  • the config button can be a menubutton and hold Detailed Information / Update selected add-on(s) / Select all
  • the throbber shows clearly network activity in a central location instead of dispatching a throbber per entry in the add-ons list, making them hidden if the entry is not in the viewport... clicking on an active throbber could stop the update process.

It's not perfect but I find it more adapted to my needs than the current extension manager. I am not saying this is how the extension manager should be, I'm just saying the current one has a few flaws and here are my personal wishes.

Update: apparently, add-ons installation through copy of an XPI package into the extensions/ dir in my profile is still horked. And since the "Install add-on" button is not here yet, xulrunner-based app authors are in the merde, as we commonly say on this side of the Atlantic...