Web Apps integration
Status
Web Apps Integration to Desktop | |
Stage | Design |
Status | In progress |
Release target | Firefox 13 |
Health | OK |
Status note | Open Issues section needs decisions from UX/Apps/Product before being able move forward. -DA 02/15 |
{{#set:Feature name=Web Apps Integration to Desktop
|Feature stage=Design |Feature status=In progress |Feature version=Firefox 13 |Feature health=OK |Feature status note=Open Issues section needs decisions from UX/Apps/Product before being able move forward. -DA 02/15 }}
Team
Product manager | Asa Dotzler / Chris Lee / Ragavan Srinivasan |
Directly Responsible Individual | Lawrence Mandel |
Lead engineer | Dietrich Ayala / Tim Taubert |
Security lead | ` |
Privacy lead | ` |
Localization lead | ` |
Accessibility lead | ` |
QA lead | Virgil Dicu / Jason Smith |
UX lead | Bryan Clark |
Product marketing lead | ` |
Operations lead | ` |
Additional members | ` |
{{#set:Feature product manager=Asa Dotzler / Chris Lee / Ragavan Srinivasan
|Feature feature manager=Lawrence Mandel |Feature lead engineer=Dietrich Ayala / Tim Taubert |Feature security lead=` |Feature privacy lead=` |Feature localization lead=` |Feature accessibility lead=` |Feature qa lead=Virgil Dicu / Jason Smith |Feature ux lead=Bryan Clark |Feature product marketing lead=` |Feature operations lead=` |Feature additional members=` }}
Open issues/risks
- Current Blocking Issues
- Need contemporary mockups from Boriss
- Open questions below need answering and agreement from UX & Product & Apps groups.
- Needs decision or clarification from Apps/Product/UX
- UX (Boriss) has confirmed that there will not be a permanently visible Home Tab. Does this alter the user stories below? Do any assumptions by Product or Apps need to be re-evaluated in light of this?
- Should we open the dashboard after app install? Myk said "The doorhanger prompt seems reasonable and consistent with existing Firefox prompts for similar activities. But opening the dashboard isn't necessarily the right thing to do next. In the addon it feels clunky. It would be good to specify something else here."
- What is the default app opening behavior? Open as app tab? Open full-screen? Customizable? If the app is already open, open new one or activate the existing one?
- About "Manual Install button on page that triggers Firefox install flow". Myk asked "Does it mean Firefox would add a button to the content of a page that offers an addon? Or simply that a page can display UI for installing an addon? The former feels underspecified and raises thorny questions that someone from the UX team should work through. The latter is just the natural consequence of having the mozapps API."
- "App launchers must be able to update their appearance" - This is a web-side feature, so doesn't belong here, correct?
- "Apps should be able to run offline when possible" - Apps can use all the same offline features that the web platform offers. Is there any additional work to be done here?
- All of the uninstall features seem to be either web-side (launcher page) or WebRT side (OS uninstall support). Is there anything in Firefox UI that needs to be done to support these?
- Recent Changes
- All permissions features are punted for now. Needs more UX and specification work done. Using standard web permissions model (prompt-on-access) as a normal tab.
- Removed "use and re-engagement" bit about Home Tab updates when apps aren't loaded, and prompting user while browsing.
Stage 1: Definition
1. Feature overview
- App Discovery
- Through the app store.
- Personalized recommendations in the home tab.
- On the Web.
- App Management
- Users can install Apps to Firefox Home and optionally their OS default install locations.
- Users can uninstall Apps from Firefox Home and/or the OS uninstall mechanism.
- Users can set individual permissions upon installation, and from the App itself. (CLARIFICATION NEEDED: Is this still a goal for v1?)
- Users can specify how Apps are opened.
- Important Apps Dates
- Developer Preview: Dec 14
- Beta Release: Mar '12
- GA Release: end Q2
2. Users & use cases
Alice is a desktop Firefox user. She has three paths to discovering Apps in Firefox. She can click on the Firefox App Store launcher in her Home Tab which loads the Firefox App Store in a new tab or new window (is the store itself an "App"?) and browse and search through our amazing catalog of compelling apps. She can also browse the "recommended" apps section of Home Tab which will surface a half dozen recommended apps based on her browsing history. Finally, Alice can surf around the Web and be notified by sites about the availability of their Apps.
Alice is in complete control of how and when Apps launch. In addition to explicit launchers, Alice has a variety of ways to indirectly launch an App, for example, from a link on the Web or from within another App. Alice can also customize what kinds of windows her Apps live in.
When Alice doesn't have an internet connection, she can still use any Apps which don't require live connections. She can work offline with confidence that all of her work is being saved locally and will sync when her connection returns.
Alice can easily remove any app at any time.
3. Dependencies
Platform and Apps work:
- -webapp mode (bug 725408)
- navigator.mozApps (bug 697383, LANDED)
UX
- Once design is completed, list icons/buttons/graphics needed here.
4. Requirements
- Discovery
- Firefox App Store launcher in the Home Tab
- Firefox "Recommended Apps" section of Home Tab
- Mechanism for Web sites to offer an App
- Manual Install button on page that triggers Firefox install flow (CLARIFICATION NEEDED: what does this mean? -DA)
- Install Experience
- Install prompt is in Firefox chrome
- Install prompt lists all permissions the App wants, each one with a grant or deny
- Install prompt offers to place a launcher in appropriate OS locations
- Installation occurs when the "Install" button is clicked
- After install has been completed, the user is shown where the app can be found
- After install the app is launched (CLARIFICATION NEEDED: which is it, the above or this?)
- Permissions Requirements
- Permissions settings are per-App
- Permissions re-prompt at App launch as needed
- Global permissions manager
- Apps can register as protocol handlers
- Apps can add "open with" items to Firefox context menu
- Firefox decorates links openable by installed apps
- Apps open in chrome-less windows by default (customizable)
- Notification Requirements
- App launchers must be able to update their appearance
- Offline Requirements
- Apps should be able to run offline when possible
- Uninstall Requirements
- Uninstall from launcher page
- Uninstall from system uninstaller, appropriate to the OS
- Provide option for per-app data to be retained
Non-goals
- Permissions model specific to apps. Apps will use same permissions model as web content in tabs currently does.
- Notifications of app updates on Home Tab, or prompts while browsing.
Stage 2: Design
5. Functional specification
MOVED FROM REQUIREMENTS - NEEDS CLEANUP.
- Discovery
- Firefox App Store launcher in the Home Tab.
- Shopping bag icon that pops up a store interface in Home Tab?
- Launch a new tab or new page?
- Firefox "Recommended Apps" section of Home Tab.
- Local compare against history/bookmarks for relevant Apps
- Mozilla promoted Apps.
- A mechanism for Web sites to offer an App.
- Automatic Firefox discovery and prompt?
- door hanger?
- infobar?
- Home Tab notification?
- other?
- Manual Install button on page that triggers Firefox install flow (is it even possible to offer an API that requires a user click?
- Install Experience Requirements
- Install prompt is in Firefox chrome.
- Firefox prompt lists all permissions the App wants, each one with a grant or deny.
- Install prompt offers to place a launcher in appropriate OS locations
- Start Menu, Desktop, and Taskbar on Windows.
- Dock and Applications dir on Mac
- What ever Linux people expect
- Installation happens when the "Install" button is clicked.
- After install has been completed, the Home Tab loads and the new App launcher animates into view to show the user where she can find it.
- do we automatically launch the app?
- Requirements
- Permissions settings associated with each App
- Firefox context click on launcher?
- Firefox context menu when "in app"?
- Permissions prompt at App launch if requested permission had been denied at install time or if a new version of the App requires more permissions.
- never ask again for this permission on startup.
- can be reversed from Permissions manager for App
- never ask again for this permission on startup.
- Global Permissions Manager? Like about:permissions but for Apps?
- Apps need to be able to be able to register to handle certain link types
- Apps can add "open with" items to Firefox context menu?
- Firefox badges certain links (by domain?) with a mini launcher icon for opening the link in a particular app rather than the browser window.
- Apps open in chromeless windows by default but that's customizable
- Apps can be set to open in a new window, in a tab, in an App windows fullscreen mode or in Firefox fullscreen mode.
- Requirements
- App launchers need to be able to receive small bits of data and present that to the user in the launcher's space. Think launcher badging and MS Live Tiles.
- Home Tab needs to be able to signal to the user that one of the installed Apps has an update
- Firefox needs to be able to draw the user's attention to the launchers with updates.
- Requirements
- App cache?
- Local storage?
- online/offline events?
- do we already have these things?
- Requirements
- Uninstall from launcher
- Uninstall from system uninstaller
- Windows Add/Remove Programs
- Mac drag App launcher to trash?
- Option to keep App data around?
6. User experience design
Mockups:
Stage 3: Planning
7. Implementation plan
`
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
` {{#set:Feature open issues and risks=;Current Blocking Issues
- Need contemporary mockups from Boriss
- Open questions below need answering and agreement from UX & Product & Apps groups.
- Needs decision or clarification from Apps/Product/UX
- UX (Boriss) has confirmed that there will not be a permanently visible Home Tab. Does this alter the user stories below? Do any assumptions by Product or Apps need to be re-evaluated in light of this?
- Should we open the dashboard after app install? Myk said "The doorhanger prompt seems reasonable and consistent with existing Firefox prompts for similar activities. But opening the dashboard isn't necessarily the right thing to do next. In the addon it feels clunky. It would be good to specify something else here."
- What is the default app opening behavior? Open as app tab? Open full-screen? Customizable? If the app is already open, open new one or activate the existing one?
- About "Manual Install button on page that triggers Firefox install flow". Myk asked "Does it mean Firefox would add a button to the content of a page that offers an addon? Or simply that a page can display UI for installing an addon? The former feels underspecified and raises thorny questions that someone from the UX team should work through. The latter is just the natural consequence of having the mozapps API."
- "App launchers must be able to update their appearance" - This is a web-side feature, so doesn't belong here, correct?
- "Apps should be able to run offline when possible" - Apps can use all the same offline features that the web platform offers. Is there any additional work to be done here?
- All of the uninstall features seem to be either web-side (launcher page) or WebRT side (OS uninstall support). Is there anything in Firefox UI that needs to be done to support these?
- Recent Changes
- All permissions features are punted for now. Needs more UX and specification work done. Using standard web permissions model (prompt-on-access) as a normal tab.
- Removed "use and re-engagement" bit about Home Tab updates when apps aren't loaded, and prompting user while browsing.
|Feature overview=* App Discovery
- Through the app store.
- Personalized recommendations in the home tab.
- On the Web.
- App Management
- Users can install Apps to Firefox Home and optionally their OS default install locations.
- Users can uninstall Apps from Firefox Home and/or the OS uninstall mechanism.
- Users can set individual permissions upon installation, and from the App itself. (CLARIFICATION NEEDED: Is this still a goal for v1?)
- Users can specify how Apps are opened.
- Important Apps Dates
- Developer Preview: Dec 14
- Beta Release: Mar '12
- GA Release: end Q2
|Feature users and use cases=Alice is a desktop Firefox user. She has three paths to discovering Apps in Firefox. She can click on the Firefox App Store launcher in her Home Tab which loads the Firefox App Store in a new tab or new window (is the store itself an "App"?) and browse and search through our amazing catalog of compelling apps. She can also browse the "recommended" apps section of Home Tab which will surface a half dozen recommended apps based on her browsing history. Finally, Alice can surf around the Web and be notified by sites about the availability of their Apps.
Alice is in complete control of how and when Apps launch. In addition to explicit launchers, Alice has a variety of ways to indirectly launch an App, for example, from a link on the Web or from within another App. Alice can also customize what kinds of windows her Apps live in.
When Alice doesn't have an internet connection, she can still use any Apps which don't require live connections. She can work offline with confidence that all of her work is being saved locally and will sync when her connection returns.
Alice can easily remove any app at any time. |Feature dependencies=Platform and Apps work:
- -webapp mode (bug 725408)
- navigator.mozApps (bug 697383, LANDED)
UX
- Once design is completed, list icons/buttons/graphics needed here.
|Feature requirements=;Discovery
- Firefox App Store launcher in the Home Tab
- Firefox "Recommended Apps" section of Home Tab
- Mechanism for Web sites to offer an App
- Manual Install button on page that triggers Firefox install flow (CLARIFICATION NEEDED: what does this mean? -DA)
- Install Experience
- Install prompt is in Firefox chrome
- Install prompt lists all permissions the App wants, each one with a grant or deny
- Install prompt offers to place a launcher in appropriate OS locations
- Installation occurs when the "Install" button is clicked
- After install has been completed, the user is shown where the app can be found
- After install the app is launched (CLARIFICATION NEEDED: which is it, the above or this?)
- Permissions Requirements
- Permissions settings are per-App
- Permissions re-prompt at App launch as needed
- Global permissions manager
- Apps can register as protocol handlers
- Apps can add "open with" items to Firefox context menu
- Firefox decorates links openable by installed apps
- Apps open in chrome-less windows by default (customizable)
- Notification Requirements
- App launchers must be able to update their appearance
- Offline Requirements
- Apps should be able to run offline when possible
- Uninstall Requirements
- Uninstall from launcher page
- Uninstall from system uninstaller, appropriate to the OS
- Provide option for per-app data to be retained
|Feature non-goals=* Permissions model specific to apps. Apps will use same permissions model as web content in tabs currently does.
- Notifications of app updates on Home Tab, or prompts while browsing.
|Feature functional spec=MOVED FROM REQUIREMENTS - NEEDS CLEANUP.
- Discovery
- Firefox App Store launcher in the Home Tab.
- Shopping bag icon that pops up a store interface in Home Tab?
- Launch a new tab or new page?
- Firefox "Recommended Apps" section of Home Tab.
- Local compare against history/bookmarks for relevant Apps
- Mozilla promoted Apps.
- A mechanism for Web sites to offer an App.
- Automatic Firefox discovery and prompt?
- door hanger?
- infobar?
- Home Tab notification?
- other?
- Manual Install button on page that triggers Firefox install flow (is it even possible to offer an API that requires a user click?
- Install Experience Requirements
- Install prompt is in Firefox chrome.
- Firefox prompt lists all permissions the App wants, each one with a grant or deny.
- Install prompt offers to place a launcher in appropriate OS locations
- Start Menu, Desktop, and Taskbar on Windows.
- Dock and Applications dir on Mac
- What ever Linux people expect
- Installation happens when the "Install" button is clicked.
- After install has been completed, the Home Tab loads and the new App launcher animates into view to show the user where she can find it.
- do we automatically launch the app?
- Requirements
- Permissions settings associated with each App
- Firefox context click on launcher?
- Firefox context menu when "in app"?
- Permissions prompt at App launch if requested permission had been denied at install time or if a new version of the App requires more permissions.
- never ask again for this permission on startup.
- can be reversed from Permissions manager for App
- never ask again for this permission on startup.
- Global Permissions Manager? Like about:permissions but for Apps?
- Apps need to be able to be able to register to handle certain link types
- Apps can add "open with" items to Firefox context menu?
- Firefox badges certain links (by domain?) with a mini launcher icon for opening the link in a particular app rather than the browser window.
- Apps open in chromeless windows by default but that's customizable
- Apps can be set to open in a new window, in a tab, in an App windows fullscreen mode or in Firefox fullscreen mode.
- Requirements
- App launchers need to be able to receive small bits of data and present that to the user in the launcher's space. Think launcher badging and MS Live Tiles.
- Home Tab needs to be able to signal to the user that one of the installed Apps has an update
- Firefox needs to be able to draw the user's attention to the launchers with updates.
- Requirements
- App cache?
- Local storage?
- online/offline events?
- do we already have these things?
- Requirements
- Uninstall from launcher
- Uninstall from system uninstaller
- Windows Add/Remove Programs
- Mac drag App launcher to trash?
- Option to keep App data around?
|Feature ux design=Mockups:
|Feature implementation plan=` |Feature security review=` |Feature privacy review=` |Feature localization review=` |Feature accessibility review=` |Feature qa review=` |Feature operations review=` |Feature implementation notes=` |Feature landing criteria=` }}
Feature details
Priority | P1 |
Rank | 7 |
Theme / Goal | Discover |
Roadmap | Firefox Desktop |
Secondary roadmap | ` |
Feature list | Desktop |
Project | ` |
Engineering team | ` |
{{#set:Feature priority=P1
|Feature rank=7 |Feature theme=Discover |Feature roadmap=Firefox Desktop |Feature secondary roadmap=` |Feature list=Desktop |Feature project=` |Feature engineering team=` }}
Team status notes
status | notes | |
Products | ` | ` |
Engineering | ` | ` |
Security | sec-review-needed | bsterne |
Privacy | ` | ` |
Localization | ` | ` |
Accessibility | ` | ` |
Quality assurance | ` | ` |
User experience | ` | ` |
Product marketing | ` | ` |
Operations | ` | ` |
{{#set:Feature products status=`
|Feature products notes=` |Feature engineering status=` |Feature engineering notes=` |Feature security status=sec-review-needed |Feature security health=Assigned |Feature security notes=bsterne |Feature privacy status=` |Feature privacy notes=` |Feature localization status=` |Feature localization notes=` |Feature accessibility status=` |Feature accessibility notes=` |Feature qa status=` |Feature qa notes=` |Feature ux status=` |Feature ux notes=` |Feature product marketing status=` |Feature product marketing notes=` |Feature operations status=` |Feature operations notes=` }}