Silent Update updater: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(35 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{FeatureStatus
{{FeatureStatus
|Feature name=Silent Update: Removal of Firefox updater to the background
|Feature name=Silent Update: Background updates
|Feature stage=Definition
|Feature stage=Shipped
|Feature status=In progress
|Feature status=Complete
|Feature version=Firefox 15
|Feature health=OK
|Feature health=OK
|Feature status note=Landed for Firefox 15. Enabled on all desktop platforms.
}}
}}
{{FeatureTeam
{{FeatureTeam
|Feature product manager=Chris Lee
|Feature product manager=Chris Lee
|Feature feature manager=Chris Lee
|Feature feature manager=Lawrence Mandel
|Feature lead engineer=Ehsan Akhgari
|Feature qa lead=Vlad Ghetiu
}}
}}
{{FeaturePageBody
{{FeaturePageBody
|Feature overview=Currently, Firefox has an updater that shows up when a new version is available to be downloaded and installed.  The purpose of this feature is to hide the updater dialogue and continue to download the update in the background and install all the non-active session components in the background.
|Feature open issues and risks=We don't want to degrade browsing performance while doing the background update.  


When the user exits Firefox and opens it up for the first time after the download/install, we complete the installation and they are "updated" the the latest version.
We don't want to have a long delay while finishing off the update on the restart.


A lag of a few seconds (2-4 sec.) should be acceptable given this should only happen every ~6 weeks.
We don't want to delay shutdown (I want to be able to tell my laptop to shut down and as soon as possible be carrying it out the door to my meeting / train / other time-sensitive event).
|Feature users and use cases=Johnny is using Firefox like he does everyday reading stories from his favorite news sites.  In the past, while surfing he would receive a pop-up dialog telling him there's a new update to Firefox which asked him to install the update.
|Feature overview=We want to move the bulk of the update process to the current session so that when the user restarts, there's not much left to do to complete the update and we can make it appear as if not interruption actually happened.


Clicking "install" would run through what looks like a download/install dialog.  In the new Silent Update world, Johnny no longer sees any dialog while the download and install process takes place in the background and he can continue surfing the web without any distractions.
This will only apply to Mac and Linux.  For Windows, the service will take care of this.
|Feature requirements=*Remove the prompt that communicates to users there is a new update available
|Feature users and use cases=Yesterday, Johnny was about to leave home to go to work but he wanted to check his Facebook one last time before heading out the door. He launched Firefox but rather than being taken right to Facebook, he was presented with a 15 second delay, staring at an updater progress dialog. It wasn't terribly long, but after seeing this same thing happen every six weeks, Johnny decided he hated Firefox and moved to IE.
*Remove the download/install progress bar and have all processes happen in the background
 
*Install all non-active components into the browser during the active session
With the new and improved Firefox, with this feature implemented, Johnny is never frustrated with updates ever again.
|Feature requirements=*Install all non-active components into the browser during the active session
*On the next Firefox reload, install the remaining update bits
*On the next Firefox reload, install the remaining update bits
*The delay on startup for the next session should be less than 3 seconds
*The delay on start-up for the next session should be minimized as far as is humanly possible, approaching normal cold start times.
*{{bug|685614}} - Turn off the installation progress bar window
|Feature functional spec=[https://wiki.mozilla.org/Background_Updates]
|Feature implementation notes=<bugzilla>
    {
        "id": "307181"
    }
</bugzilla>
}}
}}
{{FeatureInfo
{{FeatureInfo
|Feature priority=P1
|Feature priority=P1
|Feature rank=1.1
|Feature rank=1.1
|Feature theme=Experience
|Feature roadmap=Firefox Desktop
|Feature roadmap=Firefox Desktop
|Feature theme=Experience
|Feature list=Desktop
|Feature list=Desktop
|Feature project=Silent Update
|Feature engineering team=Desktop front-end
|Feature engineering team=Desktop front-end
}}
}}
{{FeatureTeamStatus}}
{{FeatureTeamStatus
|Feature security status=sec-review-complete
|Feature security health=OK
|Feature security notes=[[Security/Reviews/Firefox10/SilentUpdateEliminateWait|Notes]]
|Feature qa status=In progress
|Feature qa notes=[http://mzl.la/vcIShE Test Plan]
}}

Latest revision as of 18:25, 15 November 2012

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

Status

Silent Update: Background updates
Stage Shipped
Status Complete
Release target Firefox 15
Health OK
Status note Landed for Firefox 15. Enabled on all desktop platforms.

{{#set:Feature name=Silent Update: Background updates

|Feature stage=Shipped |Feature status=Complete |Feature version=Firefox 15 |Feature health=OK |Feature status note=Landed for Firefox 15. Enabled on all desktop platforms. }}

Team

Product manager Chris Lee
Directly Responsible Individual Lawrence Mandel
Lead engineer Ehsan Akhgari
Security lead `
Privacy lead `
Localization lead `
Accessibility lead `
QA lead Vlad Ghetiu
UX lead `
Product marketing lead `
Operations lead `
Additional members `

{{#set:Feature product manager=Chris Lee

|Feature feature manager=Lawrence Mandel |Feature lead engineer=Ehsan Akhgari |Feature security lead=` |Feature privacy lead=` |Feature localization lead=` |Feature accessibility lead=` |Feature qa lead=Vlad Ghetiu |Feature ux lead=` |Feature product marketing lead=` |Feature operations lead=` |Feature additional members=` }}

Open issues/risks

We don't want to degrade browsing performance while doing the background update.

We don't want to have a long delay while finishing off the update on the restart.

We don't want to delay shutdown (I want to be able to tell my laptop to shut down and as soon as possible be carrying it out the door to my meeting / train / other time-sensitive event).

Stage 1: Definition

1. Feature overview

We want to move the bulk of the update process to the current session so that when the user restarts, there's not much left to do to complete the update and we can make it appear as if not interruption actually happened.

This will only apply to Mac and Linux. For Windows, the service will take care of this.

2. Users & use cases

Yesterday, Johnny was about to leave home to go to work but he wanted to check his Facebook one last time before heading out the door. He launched Firefox but rather than being taken right to Facebook, he was presented with a 15 second delay, staring at an updater progress dialog. It wasn't terribly long, but after seeing this same thing happen every six weeks, Johnny decided he hated Firefox and moved to IE.

With the new and improved Firefox, with this feature implemented, Johnny is never frustrated with updates ever again.

3. Dependencies

`

4. Requirements

  • Install all non-active components into the browser during the active session
  • On the next Firefox reload, install the remaining update bits
  • The delay on start-up for the next session should be minimized as far as is humanly possible, approaching normal cold start times.
  • bug 685614 - Turn off the installation progress bar window

Non-goals

`

Stage 2: Design

5. Functional specification

[1]

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

Bugzilla query error

Array ( [type] => error [message] => http-bad-status [params] => Array ( [0] => 406 [1] => Not Acceptable ) ) 1


Stage 5: Release

10. Landing criteria

` {{#set:Feature open issues and risks=We don't want to degrade browsing performance while doing the background update.

We don't want to have a long delay while finishing off the update on the restart.

We don't want to delay shutdown (I want to be able to tell my laptop to shut down and as soon as possible be carrying it out the door to my meeting / train / other time-sensitive event). |Feature overview=We want to move the bulk of the update process to the current session so that when the user restarts, there's not much left to do to complete the update and we can make it appear as if not interruption actually happened.

This will only apply to Mac and Linux. For Windows, the service will take care of this. |Feature users and use cases=Yesterday, Johnny was about to leave home to go to work but he wanted to check his Facebook one last time before heading out the door. He launched Firefox but rather than being taken right to Facebook, he was presented with a 15 second delay, staring at an updater progress dialog. It wasn't terribly long, but after seeing this same thing happen every six weeks, Johnny decided he hated Firefox and moved to IE.

With the new and improved Firefox, with this feature implemented, Johnny is never frustrated with updates ever again. |Feature dependencies=` |Feature requirements=*Install all non-active components into the browser during the active session

  • On the next Firefox reload, install the remaining update bits
  • The delay on start-up for the next session should be minimized as far as is humanly possible, approaching normal cold start times.
  • bug 685614 - Turn off the installation progress bar window

|Feature non-goals=` |Feature functional spec=[2] |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=

Bugzilla query error

Array ( [type] => error [message] => http-bad-status [params] => Array ( [0] => 406 [1] => Not Acceptable ) ) 1

|Feature landing criteria=` }}

Feature details

Priority P1
Rank 1.1
Theme / Goal Experience
Roadmap Firefox Desktop
Secondary roadmap `
Feature list Desktop
Project Silent Update
Engineering team Desktop front-end

{{#set:Feature priority=P1

|Feature rank=1.1 |Feature theme=Experience |Feature roadmap=Firefox Desktop |Feature secondary roadmap=` |Feature list=Desktop |Feature project=Silent Update |Feature engineering team=Desktop front-end }}

Team status notes

  status notes
Products ` `
Engineering ` `
Security sec-review-complete Notes
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-complete |Feature security health=OK |Feature security notes=Notes |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=` }}