Closed Bug 692827 Opened 13 years ago Closed 12 years ago

Reduce steps required to update Aurora/Nightly

Categories

(Firefox for Android Graveyard :: General, defect, P4)

All
Android
defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: micmon, Unassigned)

References

Details

(Keywords: dogfood, ux-efficiency, ux-interruption, Whiteboard: [Updater])

Right now the update story for non-market builds (Aurora/Nightly) is a very sad one:

1) slide to left OR press menu
2) Preferences
3) Go to Page
4) Check for Updates
---
5) slide down notification area
6) Download & Install
7) Ok
8) slide down notification area
9) Apply downloaded update
10) Ok
11) Install
12) Open

That's 12 clicks or gestures a user needs to do in order to have a new build. Steps 1-4 are only required if you want to trigger the process manually. However, I find myself doing this quite a lot and I guess other, too. In this case, the "Check for Updates" button should just change into "Install Update", saving the user the trouble to go to the notification area. For both cases, I think the confirmation steps (7 and 10) can just be dropped. For the manual update case, I also think it is safe to drop the second notification and just show the install page, cutting away 9 and 10. It would be nice if Firefox would just start after update, but I guess step 12 is forced by Android?
(1-4) are optional.  Firefox automatically checks for updates in the background and notifies you when one is available.

We could provide an option to auto-download updates with no notification/confirmation before download.  This would eliminate (5) and (6).  We probably don't want to do this by default because it could cause battery drain or data charges for some users, but we could make it a preference in Aurora/Nightly builds.

I agree that the confirmation before download (7) can be dropped.  We could change the notification text to something like "tap here to download."

We should probably not drop the "Apply update" notification (8-9) because applying it automatically would cause the browser to restart unexpectedly.  These steps are optional anyway; if you skip them then the download is installed automatically the next time the browser restarts.

If we used modal dialogs instead of notifications, then (5) and (8) could be eliminated; this would make updates take fewer taps but be more intrusive - they would interrupt your browsing more, and you would have to decide immediately instead of at your leisure.

Yes, the install/open steps (10, 11, 12) are forced by Android.

So we currently require a minimum of six steps (5-7, 10-12).  I think we can easily reduce this to five steps for all users by eliminating (7), and to three steps by eliminating for users who choose to download updates automatically.  The remaining three steps (10-12) are out of our control.

Lastly, we should probably consider (in separate bugs) reducing the frequency of updates for Aurora users, and/or putting Aurora in the Android Market.
OS: Linux → Android
Hardware: x86_64 → All
Version: Firefox 10 → Trunk
I do all 12 annoying steps pretty much everyday and it is a big pain, but I can't set to automatically download because my luck it would try to download everyday while I'm in a poor coverage area of work and kill my battery.  Plus I wouldn't want my bandwidth being sucked up when trying to perform a random search and not know why it is taking forever with firefox downloading an update in the background.
Would be nice if we could do an autoupdate on wireless; nonetheless we want to be careful about how and when we download on people's connections.
Priority: -- → P4
Product: Fennec → Fennec Native
What I would like:

- Default update frequency of 3 days or a week rather than daily
- Updates downloaded automatically and silently in the background as long as I'm on wireless rather than 3G
- Updates silently applied when browser restarts

Basically, I'm very happy to test nightly, and I'm very happy for Mozilla to auto-update it for me - I just don't want to be bothered with these notifications all the time!

On desktop, it's one click - "Firefox has downloaded an update; restart now or later?".

Gerv
(In reply to Gervase Markham [:gerv] from comment #4)
> - Default update frequency of 3 days or a week rather than daily

Not so sure this is good, as there is a reason why Nightly is Nightly. There's a lot of code landing every day.


> - Updates downloaded automatically and silently in the background as long as
> I'm on wireless rather than 3G
> - Updates silently applied when browser restarts

But yes, I'd be really happy if that would work (even though I personally like giving an OK for every update, but that's *one* click, not multiple ones). That said, a lot of this weird complicated routine is thrust upon us by how Android works. :(
(In reply to Robert Kaiser (:kairo@mozilla.com) from comment #5)
> (In reply to Gervase Markham [:gerv] from comment #4)
> > - Default update frequency of 3 days or a week rather than daily
> 
> Not so sure this is good, as there is a reason why Nightly is Nightly.
> There's a lot of code landing every day.

Nightly is Nightly because there's a new version every night. However, we don't require people on the Nightly channel to update every 24 hours in order to accept their bug reports!

Gerv
Have you considered publishing Nightly and Aurora on Google Play? With Jelley Bean, Play now supports delta updates which should greatly reduce the amount of data users have to fetch every day. Also, Firefox is not required to be run for the update and updates can even be done automatically in the background.
Interestingly, the steps that are forced on Firefox by Android seem to not be forced on the Chrome Beta. Perhaps there is a way to get on that whitelist...
(In reply to Michael Monreal [:monreal] from comment #7)
Yes we have considered publishing to the play store. This is an huge amount of work as it is a manual work flow. Jay has also vetoed having more versions of Firefox in the play store. He believes having 2 versions (release/beta) is 1 too many.
(In reply to Dan Mosedale (:dmose) from comment #8)
This is because they are in the Play store.
(In reply to Dan Mosedale (:dmose) from comment #8)
> Interestingly, the steps that are forced on Firefox by Android seem to not
> be forced on the Chrome Beta. Perhaps there is a way to get on that
> whitelist...

(In reply to Kevin Brosnan [:kbrosnan] from comment #10)
> (In reply to Dan Mosedale (:dmose) from comment #8)
> This is because they are in the Play store.

Right. Our Firefox Beta (and Release) can silently update too.
(In reply to Gervase Markham [:gerv] from comment #4)

> - Default update frequency of 3 days or a week rather than daily

This works against getting timely crash data based on new code changes. But we can discuss it

> - Updates downloaded automatically and silently in the background as long as
> I'm on wireless rather than 3G

We should be able to do this. I think the interfaces are in place to support it.

> - Updates silently applied when browser restarts

We can't do this for builds that are not in the Play Store. Android forces the install process. We really don't want to create more versions of Firefox in the Play Store.
(In reply to Mark Finkle (:mfinkle) from comment #12)
> We really don't want to create more versions of Firefox in the Play Store.

It was mentioned that the play store involves a manual submission process, something I don't know, personally. This is a valid problem I guess but still: play store is the /only/ user friendly solution (silent updates, updates while not running, delta updates). Firefox needs testers running Aurora, so this should not be less comfortable than Beta IMHO
The Play Store is only silent if the user checks allow this app to update automatically. By default the Play Store would just put a notice in the notification bar that updates are available. The user then would need to do the 3 or so clicks to approve the update. If we tweak any of the permissions of Firefox this breaks the Play Store auto updating.
> (silent updates, updates while not running, delta updates). Firefox needs testers running
> Aurora, so this should not be less comfortable than Beta IMHO

silent we can do ourselves. updates while not running we could as well I guess if we thought there was a strong reason for it. delta will change our app signature, so I guess that's (probably?) out.

I'm not sure that having 4 update channels is really ideal for us right now anyway though. IMO we could kill Aurora and just have Nightly, Beta, and Release. We're almost there anyway right now. For us, Nightly is basically a second staging ground between inbound and aurora.
kbrosnan/mfinkle: Aurora and Nightly are non-Firefox-branded for a reason. If nothing in the description said "Firefox", so they didn't show up in a search for Firefox, would that allay Jay's concerns?

"Nightly is a web browser for testing only from the M*zilla Foundation". :-)

Gerv
(In reply to Wesley Johnston (:wesj) from comment #15)
> I'm not sure that having 4 update channels is really ideal for us right now
> anyway though. IMO we could kill Aurora and just have Nightly, Beta, and
> Release.

I guess you cannot change single-sidedly change the Mozilla development process you ride on. There are definitely serious reasons for having those four channels.
Nightly is the primary bleeding-edge staging ground (inbound is just a vehicle for landing things into Nightly), Aurora is the primary localization and stabilization level - the vast majority of localizers work on that base, we can track stability there without too much code churn (as in Nightly). Beta is the release-candidate-style mass-market testing ground, here we actively invite the more adventurous of the real-world users to test and react to the real-world problems they find there (and stability issues appearing in the wider market). Release is golden. Anything found there is too late for this train, we only react to feedback from there in a future train, unless things are bad enough to warrant going for a chemspill.

I know that Firefox for Android is not yet fully on this model, having a minor stability update to release that we usually would only do on beta, and uplifting way too much from Nightly to Aurora or Beta for what this model is designed for, but I'd expect that this will change over the next couple months and you'll just ride the trains and use them as designed. This model has its reasons and work well for an established product with established stable releases, which Firefox for Android will hopefully also be very soon, thanks to all your great work!

(In reply to Wesley Johnston (:wesj) from comment #15)
> silent we can do ourselves.

Now that would already be tremendous progress compared to what we have now on both Nightly and Aurora (and as long as we have any of them alive, they would profit a lot from that).
Depends on: 774432
Depends on: 786380
Whiteboard: [Updater]
Fixed by bug 786380.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.