Firefox/Features/Installers
Summary
This page captures all workflow and other issues with the installer and channel switcher. We understand that there are tradeoffs and no solution will be perfect. The goal here is understand how it works today, the issues, where we want to end up long term and figure out what changes we can make for Firefox 5 to make sure we can ultimately provide the right experience for all our users.
Specifically we will detail..
- The goals from a marketing perspective.
- How things work as of today (5/13/11).
- Overview of all the various usage scenarios.
- Analysis of the problems we run into.
- Breakdown of the technical issues.
- Options for improvements in the 5.0 timeframe and beyond.
Marketing Goals
Ideally from a marketing perspective, we would like to be building a brand around all the channels and keep this consistent across products (Firefox & Mobile). This also applies to all platforms (Mac, Windows). The Nightly channel is less important here but will be included just for completion. Here's what we are aiming for.
Channel | Icon | App.name | About box |
Nightly | Nightly icon | Firefox Nightly | Nightly branded about box |
Aurora | Aurora icon | Firefox Aurora | Aurora branded about box |
Beta | Beta icon | Firefox Beta | Beta branded about box |
Release | Firefox icon | Firefox | Firefox branded about box |
Basically this is saying that we would like to use the app name, icon, about box, startup pages etc to convey a distinct brand to our users.
Current State
Today, this is the behavior we see.
Branding
Mac:
Channel | Icon | App.name | About box |
Nightly | Nightly icon | Nightly | Minefield branded about box Bug 649526 and Bug 648368 |
Aurora | Aurora icon | Aurora | Minefield branded about box Bug 649526 and Bug 648368 |
Beta | Firefox icon | Firefox | Firefox branded about box |
Release | Firefox icon | Firefox | Firefox branded about box |
Windows:
Channel | Icon | App.name | About box |
Nightly | Nightly icon | Nightly | Minefield branded about box Bug 649526 and Bug 648368 |
Aurora | Aurora icon | Aurora | Minefield branded about box Bug 649526 and Bug 648368 |
Beta | Firefox icon | Mozilla Firefox | Firefox branded about box |
Release | Firefox icon | Mozilla Firefox | Firefox branded about box |
Installer/Updater Use Cases
Here is a list of all the use cases I could come up with.
- 1. User installs and runs the Nightly build.
- Nightly can install in the same directory as other releases. Users are prompted for regular updates.
- There is no access to the channel switcher from the nightly build.
- It doesn't matter what other versions the user has installed, this can live in the same directory as an Aurora build, Beta build or Release build.
- 2. A user downloads the Aurora build from the download page
- The user may or may not be on the Aurora channel.
- Aurora can be installed into the same directory as Nightly and (Beta or Release).
- If there is a previous version of Aurora in that directory, it will be replaced.
- 3. A user downloads the Beta build from the download page.
- The user may or may not already be on the Beta channel.
- If the user is running a release version of Firefox.app in the same directory, it will be replaced.
- 4. A user downloads the Release build from the download page.
- If the Release build is put in the same directory as the 5.0b1 Beta build, it replaces it since the app name is the same.
- If I put the Release build in a different directory, I can have multiple versions of firefox.app.
- 5. A user downloads and runs the Release build and uses the channel switcher to change to the Aurora channel. They select "Apply and Update" and the update is downloaded. They select Apply and we shutdown the app and launch a version of Aurora.
- We install on top of the Release build so it is replaced by Aurora in the same directory.
- The Aurora logo will appear but the name appearing in the text will show Firefox.
- 6. A user downloads and runs the Beta build and uses the channel switcher to change to the Aurora channel. They select "Apply and Update" and the update is downloaded. They select Apply and we shutdown the app and launch a version of Aurora.
- We install on top of the Beta build so it is replaced by Aurora in the same directory.
- The Aurora logo will appear but the name appearing in the text will show Firefox.
- 7. A user downloads and runs the Aurora build and uses the channel switcher to change to the Beta channel. They select "Apply and Update" and the update is downloaded. They select Apply and we shutdown the app and launch a version of Beta.
- We install on top of the Aurora build so it is replaced by Beta in the same directory.
- The Beta logo (Firefox) will appear but the name appearing in the text will show Aurora.
- 8. A user downloads and runs the Aurora build and uses the channel switcher to change to the Release channel. They select "Apply and Update" and the update is downloaded. They select Apply and we shutdown the app and launch a version of Release.
- We install on top of the Aurora build so it is replaced by Release in the same directory.
- The Release logo (Firefox) will appear but the name appearing in the text will show Aurora.
- 9. A user on Mac downloads the Nightly, Aurora and Beta builds into the Applications folder. They install the 5.0 Release build and add it to the desktop.
- 9a. The user launches all applications to run simultaneously with different profiles.
- 9b. The user launches the Release build and channel switches to Aurora. "Apply and Update" and the update is downloaded. They select Apply and we shutdown the app and launch a version of Aurora which replaces the Release build on the desktop. The other Aurora in the Applications folder is still running.
Problems
There are a number of issues that we are currently running into.
1. If a user were to come along install Aurora from the download page, then use the channel switcher to switch to Beta, the logo changes to the Firefox icon of the app changes but the text will forever show Aurora.
- I actually found a bug here. I had Aurora on my desktop AND in the mac dock. I switched to Beta to get 5.0b1, the logo on the desktop updated but NOT the doc one. I restarted and still it was the same. If I clicked the Aurora icon on the doc (which I knew was really 5.0b1), then it changed to the Firefox icon.
- Based on today's implementation, if the user started out with a Beta or Release build and channel switched to Aurora, the icon would change but the text would say Firefox in both scenarios. Not as confusing as going from Aurora->Release but not great.
2. Technically it is possible to update the text to match with the logo. Apparently the issue here is if we have a multi-user system and we change the text on the doc, the secondary user may experience problems. (not sure what the Windows behavior is). They could have no icon appear, likely nothing happens when they click on it (app doesn't launch). Their configuration gets messed up in some form.
- We aren't exactly sure what is going to happen but we are likely to have issues.
- Not really sure how to test out this scenario.
3. Currently we use the same app name and logo between Beta and Release. This decision was made for several reasons. Firstly, it minimizes release risks. We have an option NOT to rebuild the app. AV or other 3rd parties may look for "Firefox" versus "Firefox Beta" or the reversed. Having different app names can invalidate a lot of testing depending on the way 3rd party vendors interact with Firefox. Any changes between beta and release have the opportunity to cause regressions or interact differently with 3rd parties. Because going to release is an atomic operation, there is no time to really test these and changes have the potential to invalidate all the testing we have already done (as that testing was under different variables). the consequences here are that we can brand the start-up page AND the about box but using the app name and logo, we would not be able to do.