Services/Sync/Addon Sync

From MozillaWiki
< Services‎ | Sync
Revision as of 20:31, 22 December 2011 by Gszorc (talk | contribs) (replace content with feature overview)
Jump to navigation Jump to search

If you are looking for the feature page for add-on sync, please see Services/Sync/Features/Addon Sync.

Firefox 11 contains support for synchronizing add-ons between Sync-connected devices.

What is Synchronized

Currently, Sync will only synchronize add-ons that meet the following criteria:

  • Is an extension or theme (i.e. not a plugin)
  • Is installed in the profile directory
  • Is installed explicitly by the user inside of Firefox
  • Is installed from a trusted URI

In addition, Sync will only synchronize changes between applications of the same type. In other words, changes to desktop Firefox instances only apply to other desktop Firefox instances: changes made to a desktop Firefox won't apply to a mobile device.

Feature Behavior

Add-on sync will be enabled for new Sync accounts automatically. Existing Sync users will need to enable add-on sync explicitly (TODO link to SUMO article on how to do this).

If an add-on meets the criteria for add-on sync (see above), the following actions will be propagated to other Sync-connected devices:

  • Add-on install
  • Add-on uninstall
  • User disable
  • User enable

It should be explicitly called out that the enable and disable actions are the ones performed by the user (likely through about:addons), and not something that Firefox does automatically. Put another way, if an add-on is disabled due to incompatibility, that change will *not* be synchronized because a user didn't explicitly disable the add-on.

All actions performed by add-on sync are performed in the background and add-on sync has no explicit UI. However, these background changes could result in UI changes in the browser (e.g. a toolbar is added/removed, a new tab is opened, etc). So, the first time you perform a sync with add-on sync enabled, it is possible the browser could change without you explicitly triggering it. This is expected.

Many add-ons require application restarts to finish applying changes. Add-on sync effectively stages these changes at sync time. The next time you restart your browser (which our metrics show the overwhelming number of Firefox users do daily), these changes should be applied. If you have add-on changes pending due to add-on sync, the changes should be visible in about:addons and you should see a message saying you need to restart your browser for them to take effect.

Frequently Asked Questions

Why is add-on sync disabled for existing Sync users?

This is a complicated issue and the decision was driven mainly by privacy and security concerns.

We understand that most users (possibly even an overwhelming majority of them) will want add-on sync to *just work* when they upgrade to a Firefox that supports it. However, there are a number of issues with this.

Most of the issues center around unexpected behavior when syncing add-ons for the first time. It is possible for an existing Sync user to unknowingly launch a Firefox version that supports add-on sync (where the previous version didn't). This could be due to silent Firefox updates, a system upgrade performed by an IT administrator, another user on the machine upgrading Firefox, etc. The first time this device synchronizes, it could pull down add-ons from another device (again, it is possible the other device had add-on sync configured unbeknownst to the user). There are a few issues here:

  • Add-on changes could result in the UI of the browser changing. Since the user didn't realize add-on sync was enabled and that add-on sync is actually what is occurring, they might assume that their computer is infected with a virus, malware, is possessed, etc.
  • A user could have an incriminating add-on installed on a personal machine that he or she doesn't want to be propagated to a work machine. Furthermore, it is possible that installation of that add-on on a work machine is against company policy and could result in reprimand, termination, etc.

Furthermore, add-on sync is not enabled by default because we don't want to lose your trust that you have placed with Mozilla and Firefox to control your data. A principle of the Mozilla Manifesto is that you shape your online experience. Sync's take on that is that you control what data should be synchronized. Having Firefox Sync send your add-on data somewhere without your consent would be in violation of this principle. (New Sync users can select what data they want synchronized at setup time, so they can opt-out then.)

We explored adding UI in the browser to alert users to the existence of add-on sync. However, this didn't make the cut for Firefox 11. Perhaps you will see it in a future Firefox release.