Closed Bug 530635 Opened 15 years ago Closed 7 years ago

Ability to recall/discontinue an add-on

Categories

(Toolkit :: Add-ons Manager, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: fligtar, Unassigned)

References

Details

(Whiteboard: [amo:want P1])

The current add-ons model assumes that once a user installs an add-on, he/she will want to keep it forever and it will continue to work and be updated for new Firefox versions.

This is not always the case, and there are several recent examples of add-ons that have needed to be recalled for various reasons.

1. an add-on interfaces with a web service, but that web service is discontinued. The add-on is therefore completely useless. Example: Filterset.G updater.

2. an add-on provides functionality that is no longer needed with a certain version of Firefox. Example: the Java Console add-on is no longer needed with Firefox 3.6.

3. an add-on is installed for a one-time use case and is then not uninstalled. Example: Adobe's Flash installer extension

As we know, incompatible add-ons can cause a user to not upgrade to new versions of Firefox when they come out. This currently means we still have to try to get authors of these abandoned add-ons to update compatibility every version even though the add-ons are no longer of use, for fear of users not upgrading.

I would like for update.rdf to be able to recall an add-on, basically saying "this add-on is no longer functional; please uninstall it". I imagine it would be something like:

<em:targetApplication>
    <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
    <em:minVersion>1.5</em:minVersion>
    <em:maxVersion>3.5.*</em:maxVersion>
    <em:recallAfterMax>true</em>
    <em:recallInfoURL>http://www.something.com/why</em:recallInfoURL>
</em:targetApplication>

In the example above, the behavior would be:

* If currently using Firefox 3.5 and upgrading to Firefox 3.6, in the dialog where it says what add-ons are incompatible (or in a new dialog), it would list add-ons that are "no longer needed" with checkboxes defaulting to uninstall them, and links to view more about each add-on's case.

* If the user is already on Firefox 3.6 and an add-on that was previously compatible was sent the above in an update, a similar dialog would come up saying the listed add-ons are no longer needed and checked for uninstall.
Recalling is not necessarily version-dependent - neither App version nor extension version - as in the web service case, for example. Perhaps the update process in the app should check for a possible recall, and if the extension has been recalled, suggest to the user to uninstall it. (I'm interested in a case of voluntary migration to another extension, but let's leave that aside for now.)
Doh, didn't find this bug in my search so wrote 685623. Here's what I want, similar to the description but going a bit further:

1. The fact that it is no longer supported
2. A different add-on id (or multiple?) that supersedes/replaces it if one exists
3. A flag to indicate it is no longer needed as the functionality is in the product, perhaps with "feature" id strings we can map to directions on mozilla.org

Reasoning:

1. I want users to be able to tell the difference between a new release making an add-on unsupported and it being an explicit developer choice (this is going to become more important in the new release process as add-ons fall off)
2. I want to bake in some migration messaging to help guide users

Behavior:

* Different messaging when updating vs incompat case
* Ability to quickly install the suggested replacement
* After a set amount of time (a week?) on the new Firefox version the old add-on is uninstalled
* When using a version of Fx marked compatible but the add-on is marked as discontinued, messaging in the add-ons manager that the add-on isn't supported and may break in the future, they should start looking for alternatives (and suggest any the add-on author did).
A developer can do this themselves in WebExtensions by calling management.uninstallSelf(). I've done this to a few of my add-ons as they become outdated. Other than that this seems quite a lot of complicated work for minimal gain.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WONTFIX
(In reply to Andy McKay [:andym] from comment #4)
> A developer can do this themselves in WebExtensions by calling
> management.uninstallSelf(). I've done this to a few of my add-ons as they
> become outdated. Other than that this seems quite a lot of complicated work
> for minimal gain.

What if an add-on has been removed from addons.mozilla.org because it is a malware?
Then it will be blocked by the admins: https://wiki.mozilla.org/Blocklisting, that's a seperate process.
(In reply to Andy McKay [:andym] from comment #6)
> Then it will be blocked by the admins:
> https://wiki.mozilla.org/Blocklisting, that's a seperate process.

My point is that it will still keep to run in the browser if it was previously installed. This is not desired.
Blocklisting remote-disables installed add-ons. They won't continue to run.
You need to log in before you can comment on or make changes to this bug.