Firefox:Extension Manager UI

From MozillaWiki
Jump to: navigation, search

Currently the UI for Extension Manager is trim, but rather random/limited. A reinvestigation of it is warranted.

Problems

  • action of "Update" button is not clearly defined
  • people are not finding individual "Options" panels for Extensions
  • no easy way to enable/disable an item
  • no easy way to find documentation on an item
  • no easy way to restart the app after an indication that this is necessary
  • enabling/disabling/upgrading/installing etc all require app restarts (2.0)
  • often used items are sometimes at the end of a scrolling extension list
  • user must scroll to find individual update buttons or read status text. (The important UI is hidden from view with no priority)

Some solutions

Many extensions have complex configuration options. We prefer authors include an optionsURL arc in their install.rdf specifying a chrome:// URI to display as their Options dialog, but many people don't seem to find Extension options due to their access from the Extensions window, rather than the Options window. One idea might be to fold the Extensions (and Themes) window back into the Options window:

+-----------------------------------------########---------+
|   @@@ +------------+@     @@@     @@@   ##@@@###  @@@    |
|   @@@ | Languages  |@     @@@     @@@   ##@@@###  @@@    |
| Genera| Plugins    |ent  Tabs Downloads #Addons#Advanced |
+-------| Themes     |--------------------########---------+
| Show: [ Extensions :^] [x] include disabled items        |
|                                                          |
| +--------------------------------+ For BugMeNot:         |
| |#@@#BugMeNot#5.4################| (( @ Options... ))    |
| |#@@#Bypass#compulsory#web#re...#|  ( @ Help & Docs... ) |
| | ------------------------------ |  ( @ Disable )        |
| | @@ GreaseMonkey 0.3.3          |  ( @ Uninstall )      |
| | @@ A User Script Manager fo... |  ( @ Find Update )    |
| | ------------------------------ |                       |
| | @@ Google Send to Phone 0.3    |  ( @ Home Page... )   |
| | @@ Send text messages to yo... |  ( @ About )          |
| | ------------------------------ |                       |
| | @@ Session Saver 0.2.1.028     | For all Extensions:   |
| | @@ Magically restores your ... |  ( @ Find Updates )   |
| |                                |                       |
| |                                |                       |
| | Get More Extensions ...        |                       |
| +--------------------------------+                       |
|                                                          |
+----------------------------------------------------------+

Comment by Nicole Tedesco

I really like the idea of providing a standard way of allowing extensions to register UI blocks into the appropriate Options category/categories. I also like the idea of also keeping the all-in-one-spot Options UI link from the extension itself. (In fact, if there is a standard way to add options in terms of blocks and categories, the all-in-one would get built automatically. See the Eclipse project for interesting examples.)

Comment by Nicole Tedesco

Please, please, please, let the Extensions Manager run without starting the browser! When dealing with a bad extension--perhaps one that crashes Firefox on every start--I would love to run just the Extension Manager to disable or uninstall unwanted features and then allow Firefox to start and run the new configuration.

Comment by Nicole Tedesco

Extensions are categorized on the web site, so why can't that categorization follow into the UI? Especially if a lot of extensions are loaded, and especially if I forgot which did what, a categorized list would be oh-so-helpful!

Reply by Daniel Schierbeck

The problem with your suggestion is that many, if not most extensions have multiple categories. Should the extensions then also appear under more than one category, like they do on the Mozilla Update site? That would only serve to make the extension list longer and more complex.

It's basically a good idea, but we need to give it a lot more thought before it's ready to be implemented.

Comment by Robert Strong

Building on the select ui for selecting categories I think it would be appropriate to have additional categories for 'has updates', 'disabled', 'installing' etc. and allow opening the ui to a specific selection. If notification of updates is added back it would then be possible to open the ui and show all extensions and themes - or any other add-on that can in the future be updated - that have updates available. When the ui is opened for an install the only items shown would be the items being installed. This would solve the problem of where an item should be in the list as well as there being the original item and the new item being shown simultaneously during an install / upgrade.

There could also be an option of 'For All Addons: Update All' similar to the commands listed after 'For All Extensions: Find Updates'. With this type of an approach it should be possible to either provide user defined categories or for an extension to do so (I prefer having an extension provide this) where items can be added to a view no matter what their type is. Since only specific actions are available for each type of item it should be possible to display different types of items in the same view as well. This would allow 'For All Addons: Find Updates', etc.

Comment by Sam Maister

Following on from what Robert said about updates, I think that the default action of the 'Check for Updates' option on the Help menu should be to check for updates for everything - Core, Extensions and Themes. There should also be some notification for extension and theme updates in the same way that there is for new versions of the browser. I know more than a few people who have extensions installed and who don't ever open the EM or TM to check for updates, so they are stuck with the old version of the extension until the old version breaks when the browser updates itself!

Comment by User:Amal

Perhaps this would take some development time and excessive server load, but I think it would be cool to create an initial browser configuration on the web site. Before you initially download firefox, you would take a brief survey regarding your preferences for configuration. The site will then compile an installer package for you with the appropriate settings and extensions included. If you don't like it, you can change things around the old ways or perhaps retake the survey and have your firefox "updated".

Comment by Josh Gordon

It would be great to see a way to easily export all installed extensions (with their preferences) so that a user can easily have the same setup on different computers without having to locate and reinstall the extensions.

Comment by Goulven Champenois

Browser behaviour is set in one convenient place, the options menu. Extensions change the browser behaviour, and/or add functionalities to it. From a user's point of view, extensions extend options available for the browser, and any distinction between these two interaction points are irrelevant. My recommendation would be to

  1. add a tab to the options window, listing installed options.
  2. provide "hooks" for extensions in the regular options panel noticing the user when an installed extension combines with regular behaviour in the tab settings currently being viewed. (e.g. tab modifier, download manager, etc...)

(in response to problem #5: no easy way to restart the app after an indication that this is necessary).
Addressing another issue: if restarting the browser is necessary to register changes in extension list, providing a way of doing so while preserving the browser window/s in their pre-reload state would be convenient and user-friendly. What would you think of, upon closing the extension/option menu window with unregistered changes, an alert box reading like so:
You need to restart the browser to take changes into account. Restore opened tabs and windows after reloading? (will not affect your starting page etc.)


Comment by Daniel Schierbeck

I think the easiest thing we could do to enhance the extension manager user interface is simply to move the buttons into the list.

.------------------------------------------------------------.
|                         Extensions                         |
|============================================================|
| .--------------------------------------------------------. |
| | @@@ Mozilla XForms 0.4                                 | |
| | @@@ XForms support for Mozilla                         | | 
| |     [ Options ]  [ Update ]             [ Uninstall ]  | |
| |--------------------------------------------------------| |
| | @@@ Google Safe Browsing 1.1                           | |
| | @@@ Warns you about fraudulent web pages               | |
| |--------------------------------------------------------| |
| | @@@ Talkback 1.5.0.1                                   | |
| | @@@ Submit a crash report to Mozilla.org               | |
| |--------------------------------------------------------| |
| | @@@ DOM Inspector 1.8.0.1                              | |
| | @@@ Inspect the DOM of HTML, XUL, and XML pages...     | |
| '--------------------------------------------------------' |
| [ Update all extensions ]                        [ Close ] |
'------------------------------------------------------------'

Comment by Foxxen2

  • I do think that the general update function should watch extension and theme updates too, because the less a user has to do of maintenance, the better in general. Especially:
    • If a core update would break an extension or theme, by default shouldn't allow incompatible modules to run without a user override, and it should draw attention to the potential risks of override: "Only do this if you are sure, the author has not guaranteeed compatibility."
    • Provide for advanced users, a list of updates found, with check boxes next to each. ("Autopatcher" screenshot does this very neatly)
  • I'd be happy to see options for individual extensions open up a general options box that controlled all options for all modules in FF. Only thing is, not to make it too confusing. One common option box would be a sensible idea -- extensions manager takes the user directly to the option box for that extension. Maybe under the "tools" menu there's "General Options..." and "Extension and theme options..."?
  • Some other aspects of extension manager I commented on one of the forums, not sure whether to repost here or just link, but they are significant ones. Some relate to user security. link


Comment by Muescha

it would be nice, if the extension manager let me install XPI-Files not only for FireFox but also Thunderbird (and other applications). so i can click and install a thunderbird extension with one-click (and not with rightclick, downloading, search the local file, run FB extensionmanager etc).


maybe after opening a XPI-File:

|----------------------------------------------------|
| Extension Manager Install                          |
|----------------------------------------------------|
|                                                    |
|   Extension Name: ForecastFox                      |
|                                                    |
|----------------------------------------------------|
|                                                    |
|      install for: [X] FireFox      1.5.0.3         |
|                   [ ] Thunderbird  1.5             |
|                   --- Seamonkey   (not installed)  |
|                   --- Songbird    (not supported)  |
|                                                    |
|----------------------------------------------------|