ChannelSwitching/ChannelSwitchingFeature

From MozillaWiki
Jump to: navigation, search
Feature Status ETA Owner
Channel Switching We removed the Channel Switching UI for Firefox 5. We tracked this with Bug 659972. 5.0 Sheila Mooney

Summary

Means by which users on our new Experimental, Beta and Final channels can switch the channel they are on.

In order to support our new shorter release cycle, we need a mechanism by which users can switch the release channel they are on and get on a different update path. This applies to users who are on the experimental(new), beta and final channels.

The nightly channel is a separate path and they will continue to receive the nightly updates from mozilla-central. In order for those users to get on a different channel ie: beta, they must first download a beta build.

Implementation includes some back end work as well as minimal front-end UI for doing the switching. This feature is being coordinated with another effort on how to message the channels to users and migrate them to the right place.

Release Requirements

  • Both the front-end and backend pieces need to be implemented and linked together.
  • We need to have the experimental channel setup so we can test this.
  • We can potentially test this without having the experimental channel in place - we can add a config value so we can switch to the nightly channel just to test the mechanism.

Next Steps

  • The backend and front-end pieces are completed. The About dialog with the switcher appears in the Aurora build. We are still missing the AUS piece to serve up the actually update.
  • The team is currently working out a plan for how to evangelize the new channels, migrate users, messaging and other coordination.
  • We are working on building a beta (shadow of Aurora) that will enable us to test switching between these 2 channels.

Related Bugs & Dependencies

These are the bugs we are using the track this work...

Bugs that have been logged for the channel switcher (confirmed and unconfirmed).

Use Cases

  • 1. User of nightly builds
    • a. Go to the download page for the Aurora builds and get the latest build. Go to about dialog to see you are on the Aurora channel.
    • b. Go to the download page for the Beta builds and get the latest build. Go to about dialog to see you are on the Beta channel.
    • c. Go to the download page for the Release and get the release build. Go to about dialog to see you are on the Release channel.
  • 2. On Beta channel (will not work Apr 12)
    • a. Go to about dialog, select the Aurora channel and click Apply Update.
    • b. Go to the about dialog, select the Release channel and click Apply Update.
    • c. Go to the about dialog, select the Beta channel and click Apply Update.
  • 3. On Aurora channel
    • a. Go to about dialog, select the Aurora channel and click Apply Update.
    • b. Go to the about dialog, select the Release channel and click Apply Update.
    • c. Go to the about dialog, select the Beta channel and click Apply Update.
  • 4. On Release channel (will not work Apr 12)
    • a. Go to about dialog, select the Aurora channel and click Apply Update.
    • b. Go to the about dialog, select the Release channel and click Apply Update.
    • c. Go to the about dialog, select the Beta channel and click Apply Update.
  • Notes:
    • If you use the nightlies, you will not get the channel switcher UI unless you first proactively go and download a build for release, beta or aurora.
    • The branding on the product (right logos) will not appear when you simply switch channels, you need to actually get a build and restart to see the new logos ie: logo on about dialog will not change.
    • There is a hack in place to test the mechanism. Go to about:config and there's a pref app.update.desiredChannel. If you set this to different channel than you are on, you can verify you made the switch. Once you get a real update, the pref disappears.

Team

  • Rob Strong - updater change and will work with releng
  • Nick Thomas is probably the right person from releng
  • Margaret - person to implement front end UI
  • Geo, Anthony - QA
  • Limi - UI design
  • Laura and Mayumi on the marketing side
  • Rob Sayre - engineering - owner of new release process
  • Christian - release management
  • Curtis Koenig - Security
  • Sheila - PM

The team meets weekly on Wed @10:00am in Zombocom.

Designs

Design details and mockups can be found in bug 644517.

Testing

A detailed feature test plan can be found here

Security Review

Date Discussion occurred: 2011.04.14 Security Concerns:

  • Possible broken update process
  • User could be deceived into switching channels and be stranded without a way to a usable version
  • An add-on could be created to modify channel preferences

Responses to concerns:

  • Initial implementation is that Aurora users can go to beta, others can not
  • Furthest back a user could go is the release channel
  • Users can still opt-out of all updates (user choice even if not advisable)
  • UI is a XUL window that is not mapped to an "about:"
  • Channel info is stored in a preference that once applied is removed
  • All existing channels are hard coded, thus a be build required to add or remove channels
  • Add-on verification process will need to be modified to check for possible preference changing

Outstanding but not security issues at this time:

  • Channel names are not localizable at this time

Issues

  • Once implemented, we ran into a number of bugs with the Channel Switcher. In our evaluation we started to rethink the value of this feature to the user. Without an easy path to address the known issues, it didn't seem to provide as much value to the end user.
  • We have made a decision to remove the channel switcher and evaluate other alternatives for directing users onto the different channels.
  • This work is being tracked in Bug 659972.