Features/Jetpack/Addons In Toolbar
Status
Addons In Toolbar | |
Stage | Planning |
Status | In progress |
Release target | ` |
Health | OK |
Status note | Undergoing design and specification |
Team
Product manager | Dave Mason |
Directly Responsible Individual | Matteo Ferretti |
Lead engineer | Matteo Ferretti |
Security lead | ` |
Privacy lead | ` |
Localization lead | ` |
Accessibility lead | ` |
QA lead | ` |
UX lead | Stephen Horlander |
Product marketing lead | ` |
Operations lead | ` |
Additional members | ` |
Open issues/risks
Mobile is the biggest concern here, it is unclear how the proposal fits in on phones and tablets.
We will also be restricting the size of the widget that developers can use now, we should consider how to support existing add-ons with larger widgets.
Stage 1: Definition
1. Feature overview
The SDK currently allows add-on developers to create widgets in the add-on bar in Firefox. Widgets have the following appearance options:
- Display as a simple icon
- Display any sized complex UI using HTML
Widgets can have either of the following behaviours:
- Clicking runs some code provided by the developer
- Clicking opens a panel of a more complex UI using HTML
Developers have long wanted to see their widgets appear in the navigation bar and with Australis the add-on bar is going away so it is time to make that move with the support of the UX team as well as give developers more capabilities than they currently enjoy.
2. Users & use cases
Add-on developers will use this to create awesome experiences for their users.
3. Dependencies
`
4. Requirements
`
Non-goals
- Developing a full set of UI primitives and widgets for developers to use
- Allowing add-on developers to customise any aspect of Firefox's UI.
Stage 2: Design
5. Functional specification
We will need to define an area of the main Firefox toolbar for add-ons. Any widgets added by add-ons will appear there and there will be an overflow chevron for the case where there are too many to display.
We already have the widget API but it must be extended so that we have the following display options available:
- Display as a simple icon within the location bar
- 16x16 icon currently maybe higher DPI in the future
- Display as a simple icon
- 16x16 icon currently maybe higher DPI in the future
- Display as a small widget in the toolbar (this is a restriction over what we currently support)
- Sizing suggested as being a maximum of 4 times an icon, so 64x16
Each type of display can have one of these behaviours:
- Clicking runs some code provided by the developer
- Fire event when clicked
- Clicking opens a panel of a more complex UI using HTML
- Fire event when the panel opens and closes
- Clicking toggles the widget on and off (only supported for the two icon styles of widget)
- Fire events when toggled on/off
- Clicking toggles a toolbar on and off
- The add-on developer provides a url to use for the toolbar content
- Fire events when toggled on/off
- Clicking toggles a sidebar on and off
- The add-on developer provides a url to use for the sidebar content
- Fire events when toggled on/off
6. User experience design
Woo mockups: http://people.mozilla.com/~shorlander/files/addons-in-toolbar-i01/addons-in-toolbar.html
Stage 3: Planning
7. Implementation plan
- Phase 1 (all items in parallel)
- Firefox implementation of the space in the toolbar and overflow support
- Moving existing widgets to the new area
- Restrict the size of html widgets
- Phase 2 (all items mutually exclusive, can be implemented in any order)
- Add support for icons in the location bar
- Add support for toggles
- Add support for toolbars
- Add support for sidebars
8. Reviews
Security review
`
Privacy review
`
Localization review
`
Accessibility
`
Quality Assurance review
`
Operations review
`
Stage 4: Development
9. Implementation
`
Stage 5: Release
10. Landing criteria
`
Feature details
Priority | P1 |
Rank | 999 |
Theme / Goal | ` |
Roadmap | Jetpack |
Secondary roadmap | ` |
Feature list | Jetpack |
Project | ` |
Engineering team | Jetpack |
Team status notes
status | notes | |
Products | ` | ` |
Engineering | ` | ` |
Security | ` | ` |
Privacy | ` | ` |
Localization | ` | ` |
Accessibility | ` | ` |
Quality assurance | ` | ` |
User experience | ` | ` |
Product marketing | ` | ` |
Operations | ` | ` |