Web Apps integration
Status
Web Apps Integration to Desktop | |
Stage | Design |
Status | In progress |
Release target | Firefox 12 |
Health | OK |
Status note | Initial requirements listed below. UX team is working integration mocks and should have these ready in the next couple weeks. Targeting Fx12 at the moment. |
{{#set:Feature name=Web Apps Integration to Desktop
|Feature stage=Design |Feature status=In progress |Feature version=Firefox 12 |Feature health=OK |Feature status note=Initial requirements listed below. UX team is working integration mocks and should have these ready in the next couple weeks. Targeting Fx12 at the moment. }}
Team
Product manager | Asa Dotzler / Chris Lee |
Directly Responsible Individual | Lawrence Mandel |
Lead engineer | Tim Abraldes |
Security lead | ` |
Privacy lead | ` |
Localization lead | ` |
Accessibility lead | ` |
QA lead | ` |
UX lead | Bryan Clark |
Product marketing lead | ` |
Operations lead | ` |
Additional members | Dietrich Ayala |
{{#set:Feature product manager=Asa Dotzler / Chris Lee
|Feature feature manager=Lawrence Mandel |Feature lead engineer=Tim Abraldes |Feature security lead=` |Feature privacy lead=` |Feature localization lead=` |Feature accessibility lead=` |Feature qa lead=` |Feature ux lead=Bryan Clark |Feature product marketing lead=` |Feature operations lead=` |Feature additional members=Dietrich Ayala }}
Open issues/risks
`
Stage 1: Definition
1. Feature overview
- Discovery -- through the store, personalized recommendations in the home tab, and out on the Web.
- Installation, permissions, management, and uninstall -- that users could install Apps to Firefox Home and optionally their OS default install locations, that users could set individual permissions on installation and from the App (launcher?) itself, that users could specific how Apps opened, and could uninstall from Firefox Home or the OS uninstall mechanism.
- Use and re-engagement -- that App launchers in Firefox Home could receive updates even when the App wasn't launched and that Firefox users could be gently prompted to use an App in various ways while surfing the Web.
2. Users & use cases
While Apps are cross-browser and will be able to run everywhere, Firefox users are going to have an amazing experience with Apps. Because Firefox contains a native implementation of the complete Web Runtime (WebRT) and because Firefox is already very familiar with how it is used, Firefox users will have the best experience of discovering, installing and interacting with Apps.
Alice is a Firefox 12 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.
- Requirements
- Firefox App Store launcher in 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?
- Automatic site-triggered Firefox prompt
- Give sites an API to trigger browser UI they can call on pageload?
- Manual Install button on page that triggers Firefox install flow (is it even possible to offer an API that requires a user click?
Alice is in complete control of the App installation and permissions process. An App cannot be installed without her explicit request and she gets to decide what permissions to grant that app, including where that App will surface on her computer. The installation process ensures that Alice can always find and stay in control of her Apps.
3. Dependencies
`
4. Requirements
- 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?
Alice is in complete control of how and when Apps launch. She can manage an App's permissions at any time. 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.
- 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.
Alice gets the benefit of notifications, even for Apps which aren't "running" because the App launchers in her Firefox Home Tab can notify her of important changes like unread mail count or a new article has appeared. She loves these bits of live information that flow into her App launchers and remind her when to open the App and engage with new content.
- 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.
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.
- Requirements
- App cache?
- Local storage?
- online/offline events?
- do we already have these things?
Alice can get rid of any app easily at any time.
- Requirements
- Uninstall from launcher
- Uninstall from system uninstaller
- Windows Add/Remove Programs
- Mac drag App launcher to trash?
- Option to keep App data around?
Non-goals
`
Stage 2: Design
5. Functional specification
`
6. User experience design
`
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=` |Feature overview=* Discovery -- through the store, personalized recommendations in the home tab, and out on the Web.
- Installation, permissions, management, and uninstall -- that users could install Apps to Firefox Home and optionally their OS default install locations, that users could set individual permissions on installation and from the App (launcher?) itself, that users could specific how Apps opened, and could uninstall from Firefox Home or the OS uninstall mechanism.
- Use and re-engagement -- that App launchers in Firefox Home could receive updates even when the App wasn't launched and that Firefox users could be gently prompted to use an App in various ways while surfing the Web.
|Feature users and use cases=While Apps are cross-browser and will be able to run everywhere, Firefox users are going to have an amazing experience with Apps. Because Firefox contains a native implementation of the complete Web Runtime (WebRT) and because Firefox is already very familiar with how it is used, Firefox users will have the best experience of discovering, installing and interacting with Apps.
Alice is a Firefox 12 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.
- Requirements
- Firefox App Store launcher in 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?
- Automatic site-triggered Firefox prompt
- Give sites an API to trigger browser UI they can call on pageload?
- Manual Install button on page that triggers Firefox install flow (is it even possible to offer an API that requires a user click?
Alice is in complete control of the App installation and permissions process. An App cannot be installed without her explicit request and she gets to decide what permissions to grant that app, including where that App will surface on her computer. The installation process ensures that Alice can always find and stay in control of her Apps. |Feature dependencies=` |Feature requirements=;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?
Alice is in complete control of how and when Apps launch. She can manage an App's permissions at any time. 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.
- 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.
Alice gets the benefit of notifications, even for Apps which aren't "running" because the App launchers in her Firefox Home Tab can notify her of important changes like unread mail count or a new article has appeared. She loves these bits of live information that flow into her App launchers and remind her when to open the App and engage with new content.
- 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.
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.
- Requirements
- App cache?
- Local storage?
- online/offline events?
- do we already have these things?
Alice can get rid of any app easily at any time.
- 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 non-goals=` |Feature functional spec=` |Feature ux design=` |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=` }}