Plugins:Roadmap
Plugin Interactions Roadmap | ||
Owner: Kev Needham | Updated: 2011-07-5 | |
Over the past year we've raised user awareness of content plugins, and improved their interactions with them through the plugin check page and out-of-process plugins. In 2011 we need to continue to educate users about plugins and how they work, and simplify the installation and update process with Firefox. We'll make it easier to install and update the most popular plugins (e.g. Adobe Flash and Reader, Microsoft Silverlight, etc.) and will act as a liason between plugin developers and users. We'll continue to expand and improve our relationships with plugin authors, and proactively work with them to ensure that the content consumption experience is the best it can be for users. |
Contents
Vision
Provide a simplified user experience for finding, installing, and managing content plugins that is consistent with other add-ons.
Overview
A plugin is a software application that works with the browser to render content inline - identified by a mime-type - which can't be rendered by the browser alone. They are developed independently from Mozilla by third-party organizations such as Adobe, Microsoft, and Oracle (and many others) to work with content generated by those organizations content and application development tools. Some web content which require plugins - such as Adobe's Flash player - are widely used today by content developers, and are required by the majority of users.
The negative interactions (e.g. performance degradation, crashes, memory usage, incorrect content rendering, etc.) between Firefox and content plugins account for a large percentage of the problems reported by users.
Goals
- We want to make it simple for users to find, install and manage the content plugins they require.
- We want content plugins to work, at a minimum, as well as any other browser, regardless of platform
- We want to mitigate the negative impacts plugins can have on the user's experience with Firefox
- We want to help protect our users from vulnerabilities introduced by plugins
- We want to ensure users are aware of and have control over the information plugins collect and store
- We want to work more closely with plugin developers to ensure our products work well together
Firefox
Where we are right now
Plugins are used by the overwhelming majority of Firefox users, with the most popular plugins being Adobe Flash, Adobe Reader, Microsoft Silverlight, and Oracle's Java (in nor particular order). The majority of plugins are run [[Firefox/Projects/OOPP|out of process], and on OSX some plugins that do not have a 64-bit version available are run in 32-bit mode by default, with other 32-bit plugins requiring a browser restart into 32-bit mode. Enhancements for OOPP are out of scope for this document, and are covered in the Electrolysis project page.
No content plugins are included by default with Firefox. The first time a content with a mime-type that cannot be rendered natively (or does not have a helper application defined) is detected, the user is offered to search for plugins using the Plugin Finder Service (PFS). The plugin finder services maintains a list of the most popular plugins, and provides links to installers of plugins that are defined for a particular mime-type that can be launched from within Firefox. The list of plugins supported by PFS is limited, and finding plugins for lesser-known content/application types can be difficult.
Installed plugins are listed in the plugins page of add-on manager. Users can enable or disable plugins from this location, but there is no other functionality currently available. A limited set of descriptive information is provided in the addons manager and further information is available from about:plugins, but for the majority of users this additional information is of limited value.
Problems with content rendering by plugins, in particular Adobe's Flash, continue to be some of the top reported issues by users.
Where we want to be
Over the course of the next two-three releases we need to add the functionality of the plugincheck page to the add-on manager, and expand on the information available to the user through it. Ideally, we'll be able to add the ability to (kick off) plugin installation, updates, and removals through the add-on manager, and do so without the need to restart Firefox.
What we'll do to get there
Q# | Initiative | Difficulty | Dependencies/Resources | Bug(s) |
1.1 | Change Plugins Finder Service to PFS2 | Esey | Dependencies | bug |
1.2 | Add link to Plugin Check from Addon Manager's Plugin page | Medium | Dependencies | bug |
1.3 | Provide NPAPI hook to query plugins for version and compatibility information | Medium | Dependencies | bug |
1.4 | Add ability to check for updates and launch installation of those updates from Add-on Manager | Medium | Dependencies | bug |
1.5 | Provide users with option to install selected plugins at time of Firefox install, first-run experience, or about:home | Hard | Dependencies | bug |
1.6 | Integrate plugin check functionality into Addons Manager | Hard | Dependencies | bug |
Web Services
plugins.mozilla.org
Where we are right now
The plugin directory is a metadirectory of plugin information, and is intended to be used as a data source for services such as the Plugin Finder Service 2 and the Plugin Check page. Directory information is managed through a web application, and supports the notions of roles, which would allow both Mozilla and authorized 3rd parties to update and/or add information on plugins as they change.
Where we want to be
How we'll get there
Q# | Initiative | Difficulty | Dependencies/Resources | Bug(s) |
3.1 | Establish plugins.mozilla.org as the authoritative data source for all plugin metadata for Mozilla products and services | Hard | Dependencies | bug |
3.2 | Ensure that plugins.mozilla.org can scale to meet demand from the Plugin Finder Service, plugincheck web page, and public plugin information requests. | Hard | Dependencies | bug |
4.1 | Add Adobe, Oracle, and Microsoft to plugins.mozilla.org as plugin authors, facilitating updates of their respective plugin's metadata | Medium | WebDev | bug |
Plugin Check
Where we are right now
- integration with input (morgamic) - qualitative trending (morgamic) - plugin crash feedback loop (morgamic)
Where we want to be
What we'll do to get there
Q# | Initiative | Difficulty | Dependencies/Resources | Bug(s) |
3.1 | Localize Plugincheck for tier 1 locales and as many tier 2 & 3 locales as possible | Medium | l10n, webdev | bug 661134 |
3.2 | Report plugins blocklisted on addons.mozilla.org as such in the results page | Medium | amo, webdev | bug 522897 |
3.3 | Determine top 15 plugins uses with Firefox, establish relationships with plugin developers, and maintain the plugins on plugincheck | Medium | metrics, amo, webdev, 3rd parties | bug |
4.1 | Update plugin detection libraries to more recent/current versions | Medium | webdev | bug |
4.2 | Report any version in a major release that has a later version marked as vulnerable version as "vulnerable" | Medium | webdev | bug |
4.3 | Allow version ranges for non-current plugin entries | Medium | webdev | bug |
4.4 | Improve Android detection, and make it easy to differentiate as an OS; improve OS definition/selection | Medium | webdev | bug |
4.5 | Allow multiple versions by OS per plugin release in a single entry | Medium | webdev | bug |
?.? | Post AOM-integration, spin out plugin check as a stand-alone website for multiple browsers (e.g. plugincheck.net/org). Investigate partnering opportunities with other browser developers. | Hard | bug |
Plugin Finder Service
Q# | Initiative | Difficulty | Dependencies/Resources |
1.1 | Description | Hard | Dependencies |
Plugin Developer Relations
Developer Relations & Partnering
During development of Firefox 4, we've made great strides in establishing and growing relationships with popular plugin developers including Adobe and Microsoft. We'll continue to develop those relationships to improve product interactions and quality assurance, and will work closer with those organizations that affect our user base. Additionally, we'll need to work closely with plugin vendors to improve the user experience for plugin installations, updates, and removals from Firefox.
- Plugin Summit (Josh) - get the plugin players involved, come in for a day and we'll make it worth your time.
Related Bugs
bug 613305 Integrate Plugin Check with installed plugins in the add-ons manager