<Glazblog/>

The new Extension Manager

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...

Comments

1. On Monday 7 June 2010, 15:15 by AlfredKayser

I agree with these comments. Some things I have fixed in my themes (Nautipolis, Walnut/2, Littlefox). For example, I have hidden the 'show more' button, and made the hidden info (only the size of the extension) visible by default. So some of these concerns are fixable in the theme, but others not.

One of the biggest issues that I have is that the 'Restart' button is only displayed with the extension/theme itself. So, after installation of a theme, one has to open the addons manager 'page', switch to Themes, scroll to the new theme, click on 'Enable' and then 'Restart', which is much more awkward than before...

2. On Monday 7 June 2010, 16:14 by Tiago Sá

Stephen Horlander has a mockup for a different in-content Add-ons Manager, which I personally prefer to the one in the nightlies:

http://blog.stephenhorlander.com/20...

But I don't know how it's being developed. Is there a repository for it?

3. On Monday 7 June 2010, 17:00 by Tony Mechelynck

/the left hand side list uses both "add-ons" and "extensions".../

It uses "Get add-ons" because that's how to get any kinds of add-ons. Lower in the list, there is one tab for each kind: extensions, themes, languages, etc.

4. On Monday 7 June 2010, 17:07 by Tony Mechelynck

Pour te tirer de la merde: have you tried to drag an extension (link to the web or icon of downloaded file) to drop it onto the addons manager? That procedure used to work before the Install button even existed (e.g. in Thunderbird 1.0), and AFAIK it was never removed.

5. On Monday 7 June 2010, 17:15 by Daniel Glazman

@Tony: yep, tried it (on Mac OS X, snow leopard), does not work...

6. On Monday 7 June 2010, 17:36 by Insano

Actually, it may not look mac'ish, but it looks exactly the same on Windows. Completely out of place.

7. On Tuesday 8 June 2010, 03:58 by Alexander Limi

Did you miss the part where it said that this design was a placeholder, and not final?

See Stephen Horlander's design linked earlier for the direction we're taking.

The icons were even made incredibly ugly on purpose to underscore that this design is not the final one, but I guess that didn't come across either. ;)

8. On Tuesday 8 June 2010, 04:11 by Blair McBride

This feedback is very useful - thanks!

The wonders of nightly builds mean that, as usual, you're using a very unfinished UI. So most of the issues listed here are open bugs that will indeed get fixed (although don't expect to see everything done before beta 1). Relevant bugs and links below:

* The visual design is temporary only (this includes the icons). See Stephen Horlander's blog for a better idea of what it will look like: http://blog.stephenhorlander.com/20...
* The manual update process is being overhauled in bug 562622 (https://bugzilla.mozilla.org/show_b... - there's also mockups there). Note that this isn't a UI most people will use, as addon updates will happen transparently in the background by default (but that's configurable)
* Version number will be added by bug 562052 (https://bugzilla.mozilla.org/show_b...), preferences button by bug 562890 (https://bugzilla.mozilla.org/show_b...)
* "Get Add-ons" is a doorway for people to learn about and discover all types of addons (extensions are just one type of addon). It was initially called "Discovery", but we found that just confused people - so it reverted back to the wording the old UI used
* The sort buttons aren't column headers - there are no columns in this view. Stephen Horlander has a proposal to add a view that does have columns: http://blog.stephenhorlander.com/20...
* The "Show more" toggle may or may not go away. It may become more useful once metadata is pulled in from AMO (or whatever repository). See bug 569667 (https://bugzilla.mozilla.org/show_b...)
* The "Install From File" button is bug 567127 (https://bugzilla.mozilla.org/show_b...) - I'm looking for some feedback on placement in that bug.
* 3rd party repositories/catalogs are now decoupled from the UI - its all handled by the backend now. Which also means you can implement your own custom addon provider if necessary. This still needs to be documented.
* Search is purposefully not contextual to make it simpler to use (and avoid mode error) - available addons and installed addons will be displayed with the same search, albiet visually separated.
* Installation through dropping an XPI into the /extensions/ directory may be going away permanently (on purpose). See Dave Townsend's blog post (http://www.oxymoronical.com/blog/20...) and his newsgroup post (http://groups.google.com/group/mozi...) on this
* A more global restart notification is waiting on the doorhanger project.
* Drag&dropping into the Extension Manager in application other than Firefox will be fixed with bug 565682 (https://bugzilla.mozilla.org/show_b...)

As always, things are subject to change based on feedback. Some things, however, do not currently have open bugs (feel free to file them). For instance, more filtering options may come after 4.0 (I'd like this too).

9. On Tuesday 8 June 2010, 09:05 by Daniel Glazman

@Blair: I think you unintentionnaly gave an answer to the problem: 10 links to learn more about one single dialog. Bugzilla is not a documentation system and blogs are only blogs, ie information repositories where information is easy to find if you're online it's published, much harder to find if you missed it or try to find it again later...
I did see Stephen's blog post but it sounded more like a wishlist or thinking-at-loud post than a work-in-progress. Devmo's page https://wiki.mozilla.org/Firefox/Pr... shows dates than are already missed and contains far less explanations - or even links - than the blog entries or your comment just above.

Please be sure my comment about the extension manager in Minefield was meant to be constructive, not a rant. I really do care about the usability of that dialog: the day we ship BlueGriffon, we hope we'll have roughly 20 major add-ons to live with it, plus docs for add-on authors. A revamped extension manager that's intuitive and looks native is something we need :-)