Web Apps integration: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(47 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{FeatureStatus
{{FeatureStatus
|Feature name=Web Apps Integration to Desktop
|Feature name=Web Apps Integration to Desktop
|Feature stage=Design
|Feature stage=Landed
|Feature status=In progress
|Feature status=In progress
|Feature version=Firefox 12
|Feature version=Firefox 15
|Feature health=OK
|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.
|Feature status note=Feature landed in Firefox 15 and is currently on in the Aurora channel. There are several outstanding bugs. (See implementation section.) Will reassess whether to enable/disable this feature before Firefox 15 beta based on feedback from Aurora cycle.
}}
}}
{{FeatureTeam
{{FeatureTeam
|Feature product manager=Asa Dotzler / Chris Lee
|Feature product manager=Asa Dotzler / Chris Lee / Ragavan Srinivasan
|Feature feature manager=Lawrence Mandel
|Feature feature manager=Lawrence Mandel
|Feature lead engineer=Tim Abraldes
|Feature lead engineer=Felipe Gomes
|Feature ux lead=Bryan Clark
|Feature qa lead=Jason Smith
|Feature additional members=Dietrich Ayala
|Feature ux lead=Bryan Clark / Brian Dils
|Feature additional members=Dietrich Ayala / Tim Taubert
}}
}}
{{FeaturePageBody
{{FeaturePageBody
|Feature overview=* Discovery -- through the store, personalized recommendations in the home tab, and out on the Web.
|Feature open issues and risks=;Current Blocking Issues
* 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.
* Need to figure out testing situation for the install procedure and the webapp runtime
* 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.
* Need icon/URL for about:home
* New about:home bounced in fx-team
* UX polish needed for install UI.
* UX decision needed: Post install message tells user where the app was installed OR the OS can show the user where the app was installed (or both?)
 
;Needs decision or clarification from Apps/Product/UX (ALL ANSWERED)
 
* Need specification for what Firefox needs to do to install an app on Mac from Apps team. Tim/Dan/Myk putting it here: https://github.com/michaelrhanson/mozilla-central/blob/master/webapprt/README.md.
 
* 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?
 
A: (JA) We will only keep the link to the market place on the home tab for FF13.
 
* 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."
 
A: (JA) No. There is not dashboard because we are cutting Sync.
 
* 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?
 
A: (JA) The app is only installed natively so native is the only way to open. If app already open it should reactivate the open app window.
 
* 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."
 
A: (JA) Do not understand this question. Feels out of scope.
 
* "App launchers must be able to update their appearance" - This is a web-side feature, so doesn't belong here, correct?
 
A: (JA) Not sure why appearances would need to be updated, but either way we're not building that now. So it does not belong here.
 
* "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?
 
A: (JA) - I do not see any additional work here. As long as an app that is designed to work offline can we're good. 
 
* 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?
 
A: (JA) - Nope
 
* Data will be stored locally and synced to app once connectivity is available. Is this the apps' job to do the Syncing?
 
A: (DA) - Apps must listen for online/offline events, and sync their data as necessary on their own. There's no Web platform feature for automatically syncing data at this time.
 
;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 link to app store on Home tab
 
* App Management
** Users can only install Apps to their OS default install locations.
** Users can uninstall Apps from the OS uninstall mechanism.


;Important Apps Dates:
;Important Apps Dates:
*Developer Preview: Dec 14
*Developer Preview: Dec 14
*Beta Release: during MWC (end of Feb '12)
*Beta Release: Mar '12
*GA Release: mid-Q2  
*GA Release: end Q2
|Feature users and use cases=;User Stories


|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.
User: Alice is a desktop Firefox user.  


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.
;Prioritized by (Win7, Mac OS X)
*Alice can install an app natively on Windows 7 from Firefox
*Alice can install an app natively on Mac OS X from Firefox
*Alice can launch an app through native means on a Windows7  desktop
*Alice can launch an app through native means on a Mac OS X desktop
*Alice can use an app that has an offline mode when there is no connectivity
*Alice can uninstall a natively installed app through native means on Windows 7
*Alice can uninstall a natively installed app through native means on Mac OS X
|Feature dependencies=Platform and Apps work:
* -webapp mode ({{bug|725408}})
* navigator.mozApps ({{bug|697383}}, LANDED)
* Add-on implementation: https://github.com/mozilla/openwebapps/tree/develop/addons/jetpack/lib


;Requirements:
UX
* Firefox App Store launcher in Home Tab
* Mac & Win: The user is prompted if they are sure they want to install and perhaps some messaging as to where the app will be installed
** Shopping bag icon that pops up a store interface in Home Tab?
* Mac & Win: Post-install message tells user where the app was installed or the OS can show the user where the app was installed
** Launch a new tab or new page?
|Feature requirements=;Discovery
* Firefox "Recommended Apps" section of Home Tab.
* Firefox App Store launcher in the 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.
;Install Experience
|Feature requirements=;Requirements:
* Install prompt is in Firefox chrome
* Install prompt is in Firefox chrome.
* After install has been completed, the user is shown where the app can be found
* 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
; Launch Requirements:
** Start Menu, Desktop, and Taskbar on Windows.
* Native launch works in Windows 7 and Mac OS X
** Dock and Applications dir on Mac
 
** What ever Linux people expect
;Offline Requirements:
* Installation happens when the "Install" button is clicked.
* Apps should be able to run offline in the same manner that Web apps are able to run offline
* 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?
;Uninstall Requirements:
* Uninstall from system uninstaller, appropriate to the OS
|Feature non-goals=; See cut section for more details
* Discovery aside from within the Marketplace
* Apps in the Cloud
* 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.
* Offline support other than what the Web platform provides.
|Feature functional spec=; Install Use Case - Windows 7
* From Home Tab click on Marketplace link
* Browse to and install an app
* The user is prompted if they are sure they want to install and perhaps some messaging as to where the app will be installed (UX to-do)
* User confirms app installation and app is installed into program files and start menu
* Post install message tells user where the app was installed or the OS can show the user where the app was installed (UX to-do)
 
; Install Use Case - Mac OS X
* From Home Tab click on Marketplace link
* Browse to and install an app
* The user is prompted if they are sure they want to install and perhaps some messaging as to where the app will be installed (UX to-do)
* User confirms app installation and app is installed natively into Apps folder
* Post install message tells user where the app was installed or the OS can show the user where the app was installed (UX to-do)
 
; Launch Use Case - Windows 7
* From Start Menu (or task bar or desktop shortcut) click app
* App launches into a full-screen, chromeless window
 
; Launch Use Case - Mac OS X
* From Apps folder (or desktop or dock shortcut) click app
* App launches into a full-screen, chromeless window
 
; Re-launch already opened app - Windows 7
* From Start Menu (or task bar or desktop shortcut) click app
* App window is refocused
 
; Re-launch already opened app - Mac OS X
* From Apps folder (or desktop or dock shortcut) click app
* App window is refocused
 
;Use an offline app - Windows 7/Mac OS X
* User is using an app with an offline mode and there is no connectivity
* It is up to the app to show UX about offline mode
 
; Uninstall - Windows 7
* Open Program and Features
* Select the app and click "Uninstall"
**Uninstall should clear any locally stored app data
 
; Uninstall - Mac OS X
* Drag the app to the Trash or select to put in the Trash
** Uninstall should clear any locally stored app data
|Feature ux design=Mockups:


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.
*
*
|Feature implementation notes=Meta-bug: {{bug|731054}}


;Requirements:
=== Open Tasks ===
* 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
* 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.
<bugzilla>
    {
        "status_whiteboard_type": "allwordssubstr",
        "status_whiteboard": "[blocking-webrtdesktop1+]",
        "resolution": "---"
    }
</bugzilla>


;Requirements:
=== Resolved Tasks ===
* 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:
<bugzilla>
* App cache?
    {
* Local storage?
        "status_whiteboard_type": "allwordssubstr",
* online/offline events?
        "status_whiteboard": "[blocking-webrtdesktop1+]",
* do we already have these things?
        "status": "RESOLVED",
        "resolution": "FIXED"
    }
</bugzilla>


Alice can get rid of any app easily at any time.
=== Verified Tasks ===


;Requirements:
<bugzilla>
* Uninstall from launcher
    {
* Uninstall from system uninstaller
        "status_whiteboard_type": "allwordssubstr",
** Windows Add/Remove Programs
        "status_whiteboard": "[blocking-webrtdesktop1+]",
** Mac drag App launcher to trash?
        "status": "VERIFIED",
* Option to keep App data around?
        "resolution": "FIXED"
    }
</bugzilla>
}}
}}
{{FeatureInfo
{{FeatureInfo
Line 108: Line 206:
|Feature security health=Assigned
|Feature security health=Assigned
|Feature security notes=bsterne
|Feature security notes=bsterne
|Feature qa status=In Progress
|Feature qa notes=[[Web_Apps_integration/TestPlan|Test Plan]]
}}
}}
==Cut List:==
===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 only install Apps to 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.
===Requirements===
;Discovery
* 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)
** A separate Marketplace App
;Install Experience
* 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
;Uninstall Requirements:
* Uninstall from launcher page
* Provide option for per-app data to be retained

Latest revision as of 15:54, 7 June 2012

Please use "Edit with form" above to edit this page.

Status

Web Apps Integration to Desktop
Stage Landed
Status In progress
Release target Firefox 15
Health OK
Status note Feature landed in Firefox 15 and is currently on in the Aurora channel. There are several outstanding bugs. (See implementation section.) Will reassess whether to enable/disable this feature before Firefox 15 beta based on feedback from Aurora cycle.

{{#set:Feature name=Web Apps Integration to Desktop

|Feature stage=Landed |Feature status=In progress |Feature version=Firefox 15 |Feature health=OK |Feature status note=Feature landed in Firefox 15 and is currently on in the Aurora channel. There are several outstanding bugs. (See implementation section.) Will reassess whether to enable/disable this feature before Firefox 15 beta based on feedback from Aurora cycle. }}

Team

Product manager Asa Dotzler / Chris Lee / Ragavan Srinivasan
Directly Responsible Individual Lawrence Mandel
Lead engineer Felipe Gomes
Security lead `
Privacy lead `
Localization lead `
Accessibility lead `
QA lead Jason Smith
UX lead Bryan Clark / Brian Dils
Product marketing lead `
Operations lead `
Additional members Dietrich Ayala / Tim Taubert

{{#set:Feature product manager=Asa Dotzler / Chris Lee / Ragavan Srinivasan

|Feature feature manager=Lawrence Mandel |Feature lead engineer=Felipe Gomes |Feature security lead=` |Feature privacy lead=` |Feature localization lead=` |Feature accessibility lead=` |Feature qa lead=Jason Smith |Feature ux lead=Bryan Clark / Brian Dils |Feature product marketing lead=` |Feature operations lead=` |Feature additional members=Dietrich Ayala / Tim Taubert }}

Open issues/risks

Current Blocking Issues
  • Need to figure out testing situation for the install procedure and the webapp runtime
  • Need icon/URL for about:home
  • New about:home bounced in fx-team
  • UX polish needed for install UI.
  • UX decision needed: Post install message tells user where the app was installed OR the OS can show the user where the app was installed (or both?)
Needs decision or clarification from Apps/Product/UX (ALL ANSWERED)
  • 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?

A: (JA) We will only keep the link to the market place on the home tab for FF13.

  • 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."

A: (JA) No. There is not dashboard because we are cutting Sync.

  • 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?

A: (JA) The app is only installed natively so native is the only way to open. If app already open it should reactivate the open app window.

  • 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."

A: (JA) Do not understand this question. Feels out of scope.

  • "App launchers must be able to update their appearance" - This is a web-side feature, so doesn't belong here, correct?

A: (JA) Not sure why appearances would need to be updated, but either way we're not building that now. So it does not belong here.

  • "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?

A: (JA) - I do not see any additional work here. As long as an app that is designed to work offline can we're good.

  • 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?

A: (JA) - Nope

  • Data will be stored locally and synced to app once connectivity is available. Is this the apps' job to do the Syncing?

A: (DA) - Apps must listen for online/offline events, and sync their data as necessary on their own. There's no Web platform feature for automatically syncing data at this time.

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 link to app store on Home tab
  • App Management
    • Users can only install Apps to their OS default install locations.
    • Users can uninstall Apps from the OS uninstall mechanism.
Important Apps Dates
  • Developer Preview: Dec 14
  • Beta Release: Mar '12
  • GA Release: end Q2

2. Users & use cases

User Stories

User: Alice is a desktop Firefox user.

Prioritized by (Win7, Mac OS X)
  • Alice can install an app natively on Windows 7 from Firefox
  • Alice can install an app natively on Mac OS X from Firefox
  • Alice can launch an app through native means on a Windows7 desktop
  • Alice can launch an app through native means on a Mac OS X desktop
  • Alice can use an app that has an offline mode when there is no connectivity
  • Alice can uninstall a natively installed app through native means on Windows 7
  • Alice can uninstall a natively installed app through native means on Mac OS X

3. Dependencies

Platform and Apps work:

UX

  • Mac & Win: The user is prompted if they are sure they want to install and perhaps some messaging as to where the app will be installed
  • Mac & Win: Post-install message tells user where the app was installed or the OS can show the user where the app was installed

4. Requirements

Discovery
  • Firefox App Store launcher in the Home Tab
Install Experience
  • Install prompt is in Firefox chrome
  • After install has been completed, the user is shown where the app can be found
Launch Requirements
  • Native launch works in Windows 7 and Mac OS X
Offline Requirements
  • Apps should be able to run offline in the same manner that Web apps are able to run offline
Uninstall Requirements
  • Uninstall from system uninstaller, appropriate to the OS

Non-goals

See cut section for more details
  • Discovery aside from within the Marketplace
  • Apps in the Cloud
  • 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.
  • Offline support other than what the Web platform provides.

Stage 2: Design

5. Functional specification

Install Use Case - Windows 7
  • From Home Tab click on Marketplace link
  • Browse to and install an app
  • The user is prompted if they are sure they want to install and perhaps some messaging as to where the app will be installed (UX to-do)
  • User confirms app installation and app is installed into program files and start menu
  • Post install message tells user where the app was installed or the OS can show the user where the app was installed (UX to-do)
Install Use Case - Mac OS X
  • From Home Tab click on Marketplace link
  • Browse to and install an app
  • The user is prompted if they are sure they want to install and perhaps some messaging as to where the app will be installed (UX to-do)
  • User confirms app installation and app is installed natively into Apps folder
  • Post install message tells user where the app was installed or the OS can show the user where the app was installed (UX to-do)
Launch Use Case - Windows 7
  • From Start Menu (or task bar or desktop shortcut) click app
  • App launches into a full-screen, chromeless window
Launch Use Case - Mac OS X
  • From Apps folder (or desktop or dock shortcut) click app
  • App launches into a full-screen, chromeless window
Re-launch already opened app - Windows 7
  • From Start Menu (or task bar or desktop shortcut) click app
  • App window is refocused
Re-launch already opened app - Mac OS X
  • From Apps folder (or desktop or dock shortcut) click app
  • App window is refocused
Use an offline app - Windows 7/Mac OS X
  • User is using an app with an offline mode and there is no connectivity
  • It is up to the app to show UX about offline mode
Uninstall - Windows 7
  • Open Program and Features
  • Select the app and click "Uninstall"
    • Uninstall should clear any locally stored app data
Uninstall - Mac OS X
  • Drag the app to the Trash or select to put in the Trash
    • Uninstall should clear any locally stored app data

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

Meta-bug: bug 731054

Open Tasks

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);


Resolved Tasks

Full Query
ID Summary Priority Status
733631 Unit test infrastructure for the webapp runtime P1 RESOLVED
747645 move webapp-uninstaller.properties to browser/locales/ to make it easier to localize P1 RESOLVED
756308 Implement MacWebAppUtils to allow callers to locate and manipulate native webapps on Mac P1 RESOLVED
770771 Implement WebappRT unit test framework on Windows P1 RESOLVED

4 Total; 0 Open (0%); 4 Resolved (100%); 0 Verified (0%);


Verified Tasks

Full Query
ID Summary Priority Status
745980 integrate breakpad and crash reporter into desktop webapp runtime P1 VERIFIED
747990 WebappRuntime should have same User Agent as Firefox P1 VERIFIED
748214 Cannot use the Geolocation API within the desktop web runtime P1 VERIFIED
748967 desktop runtime needs to disable globally installed add-ons P1 VERIFIED
749029 Apps cannot operate offline right now - Offline cache cannot be used P1 VERIFIED
749459 The desktop web runtime fails to create WebGL contexts because it can't load the ANGLE libEGL.dll P1 VERIFIED
751177 Cannot uninstall natively-installed webapps whose names contain unicode characters on Windows P1 VERIFIED
751310 ensure Yahoo identity provider works in runtime P1 VERIFIED
752666 provide explicit mechanism to specify URL load target P1 VERIFIED
755355 Clicking URLs from within Mac OS X native apps, brings Web App to front P1 VERIFIED
755551 Allow whitelist configuration for what plugins can and cannot be ran within a gecko-based application -- VERIFIED
755554 Only enable flash within the desktop runtime, all other plugins should not be allowed to run P1 VERIFIED
755557 support blocklisting flash versions P1 VERIFIED
760067 Release all OfflineCache custom profile files ASAP after custom profile cache update has finished -- VERIFIED
760323 Runtime fails to create WebGL contexts without Direct X End-User Runtime Installed -- VERIFIED
764172 [Win & Linux] Reinstalling an App that was previously launched deletes an old profile and re-creates a different app profile P1 VERIFIED
765063 navigator.mozApps.install can be fooled into using an incorrect installing origin -- VERIFIED
768276 Implement new behavior for getInstalled/getSelf/getAll/getNotInstalled P1 VERIFIED
771090 crash in RtlpCallQueryRegistryRoutine | BaseThreadInitThunk with Flash in webapprt (caused by incorrect plugin-container launch) P1 VERIFIED
771395 show origin of page in window title when it is different from webapp's origin P1 VERIFIED
774772 Launching of a web application with a l10n build results in a XUL error - app fails to launch P1 VERIFIED

21 Total; 0 Open (0%); 0 Resolved (0%); 21 Verified (100%);


Stage 5: Release

10. Landing criteria

` {{#set:Feature open issues and risks=;Current Blocking Issues

  • Need to figure out testing situation for the install procedure and the webapp runtime
  • Need icon/URL for about:home
  • New about:home bounced in fx-team
  • UX polish needed for install UI.
  • UX decision needed: Post install message tells user where the app was installed OR the OS can show the user where the app was installed (or both?)
Needs decision or clarification from Apps/Product/UX (ALL ANSWERED)
  • 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?

A: (JA) We will only keep the link to the market place on the home tab for FF13.

  • 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."

A: (JA) No. There is not dashboard because we are cutting Sync.

  • 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?

A: (JA) The app is only installed natively so native is the only way to open. If app already open it should reactivate the open app window.

  • 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."

A: (JA) Do not understand this question. Feels out of scope.

  • "App launchers must be able to update their appearance" - This is a web-side feature, so doesn't belong here, correct?

A: (JA) Not sure why appearances would need to be updated, but either way we're not building that now. So it does not belong here.

  • "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?

A: (JA) - I do not see any additional work here. As long as an app that is designed to work offline can we're good.

  • 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?

A: (JA) - Nope

  • Data will be stored locally and synced to app once connectivity is available. Is this the apps' job to do the Syncing?

A: (DA) - Apps must listen for online/offline events, and sync their data as necessary on their own. There's no Web platform feature for automatically syncing data at this time.

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 link to app store on Home tab
  • App Management
    • Users can only install Apps to their OS default install locations.
    • Users can uninstall Apps from the OS uninstall mechanism.
Important Apps Dates
  • Developer Preview: Dec 14
  • Beta Release: Mar '12
  • GA Release: end Q2

|Feature users and use cases=;User Stories

User: Alice is a desktop Firefox user.

Prioritized by (Win7, Mac OS X)
  • Alice can install an app natively on Windows 7 from Firefox
  • Alice can install an app natively on Mac OS X from Firefox
  • Alice can launch an app through native means on a Windows7 desktop
  • Alice can launch an app through native means on a Mac OS X desktop
  • Alice can use an app that has an offline mode when there is no connectivity
  • Alice can uninstall a natively installed app through native means on Windows 7
  • Alice can uninstall a natively installed app through native means on Mac OS X

|Feature dependencies=Platform and Apps work:

UX

  • Mac & Win: The user is prompted if they are sure they want to install and perhaps some messaging as to where the app will be installed
  • Mac & Win: Post-install message tells user where the app was installed or the OS can show the user where the app was installed

|Feature requirements=;Discovery

  • Firefox App Store launcher in the Home Tab
Install Experience
  • Install prompt is in Firefox chrome
  • After install has been completed, the user is shown where the app can be found
Launch Requirements
  • Native launch works in Windows 7 and Mac OS X
Offline Requirements
  • Apps should be able to run offline in the same manner that Web apps are able to run offline
Uninstall Requirements
  • Uninstall from system uninstaller, appropriate to the OS

|Feature non-goals=; See cut section for more details

  • Discovery aside from within the Marketplace
  • Apps in the Cloud
  • 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.
  • Offline support other than what the Web platform provides.

|Feature functional spec=; Install Use Case - Windows 7

  • From Home Tab click on Marketplace link
  • Browse to and install an app
  • The user is prompted if they are sure they want to install and perhaps some messaging as to where the app will be installed (UX to-do)
  • User confirms app installation and app is installed into program files and start menu
  • Post install message tells user where the app was installed or the OS can show the user where the app was installed (UX to-do)
Install Use Case - Mac OS X
  • From Home Tab click on Marketplace link
  • Browse to and install an app
  • The user is prompted if they are sure they want to install and perhaps some messaging as to where the app will be installed (UX to-do)
  • User confirms app installation and app is installed natively into Apps folder
  • Post install message tells user where the app was installed or the OS can show the user where the app was installed (UX to-do)
Launch Use Case - Windows 7
  • From Start Menu (or task bar or desktop shortcut) click app
  • App launches into a full-screen, chromeless window
Launch Use Case - Mac OS X
  • From Apps folder (or desktop or dock shortcut) click app
  • App launches into a full-screen, chromeless window
Re-launch already opened app - Windows 7
  • From Start Menu (or task bar or desktop shortcut) click app
  • App window is refocused
Re-launch already opened app - Mac OS X
  • From Apps folder (or desktop or dock shortcut) click app
  • App window is refocused
Use an offline app - Windows 7/Mac OS X
  • User is using an app with an offline mode and there is no connectivity
  • It is up to the app to show UX about offline mode
Uninstall - Windows 7
  • Open Program and Features
  • Select the app and click "Uninstall"
    • Uninstall should clear any locally stored app data
Uninstall - Mac OS X
  • Drag the app to the Trash or select to put in the Trash
    • Uninstall should clear any locally stored app data

|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=Meta-bug: bug 731054

Open Tasks

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);


Resolved Tasks

Full Query
ID Summary Priority Status
733631 Unit test infrastructure for the webapp runtime P1 RESOLVED
747645 move webapp-uninstaller.properties to browser/locales/ to make it easier to localize P1 RESOLVED
756308 Implement MacWebAppUtils to allow callers to locate and manipulate native webapps on Mac P1 RESOLVED
770771 Implement WebappRT unit test framework on Windows P1 RESOLVED

4 Total; 0 Open (0%); 4 Resolved (100%); 0 Verified (0%);


Verified Tasks

Full Query
ID Summary Priority Status
745980 integrate breakpad and crash reporter into desktop webapp runtime P1 VERIFIED
747990 WebappRuntime should have same User Agent as Firefox P1 VERIFIED
748214 Cannot use the Geolocation API within the desktop web runtime P1 VERIFIED
748967 desktop runtime needs to disable globally installed add-ons P1 VERIFIED
749029 Apps cannot operate offline right now - Offline cache cannot be used P1 VERIFIED
749459 The desktop web runtime fails to create WebGL contexts because it can't load the ANGLE libEGL.dll P1 VERIFIED
751177 Cannot uninstall natively-installed webapps whose names contain unicode characters on Windows P1 VERIFIED
751310 ensure Yahoo identity provider works in runtime P1 VERIFIED
752666 provide explicit mechanism to specify URL load target P1 VERIFIED
755355 Clicking URLs from within Mac OS X native apps, brings Web App to front P1 VERIFIED
755551 Allow whitelist configuration for what plugins can and cannot be ran within a gecko-based application -- VERIFIED
755554 Only enable flash within the desktop runtime, all other plugins should not be allowed to run P1 VERIFIED
755557 support blocklisting flash versions P1 VERIFIED
760067 Release all OfflineCache custom profile files ASAP after custom profile cache update has finished -- VERIFIED
760323 Runtime fails to create WebGL contexts without Direct X End-User Runtime Installed -- VERIFIED
764172 [Win & Linux] Reinstalling an App that was previously launched deletes an old profile and re-creates a different app profile P1 VERIFIED
765063 navigator.mozApps.install can be fooled into using an incorrect installing origin -- VERIFIED
768276 Implement new behavior for getInstalled/getSelf/getAll/getNotInstalled P1 VERIFIED
771090 crash in RtlpCallQueryRegistryRoutine | BaseThreadInitThunk with Flash in webapprt (caused by incorrect plugin-container launch) P1 VERIFIED
771395 show origin of page in window title when it is different from webapp's origin P1 VERIFIED
774772 Launching of a web application with a l10n build results in a XUL error - app fails to launch P1 VERIFIED

21 Total; 0 Open (0%); 0 Resolved (0%); 21 Verified (100%);

|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 In Progress Test Plan
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=In Progress |Feature qa notes=Test Plan |Feature ux status=` |Feature ux notes=` |Feature product marketing status=` |Feature product marketing notes=` |Feature operations status=` |Feature operations notes=` }}


Cut List:

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 only install Apps to 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.

Requirements

Discovery
  • 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)
    • A separate Marketplace App
Install Experience
  • 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
Uninstall Requirements
  • Uninstall from launcher page
  • Provide option for per-app data to be retained