Open Bug 1724700 Opened 4 months ago Updated 2 months ago

Replace update doorhangers with a pulsing hamburger menu badge

Categories

(Toolkit :: Application Update, enhancement, P3)

Firefox 90
enhancement

Tracking

()

UNCONFIRMED

People

(Reporter: lisamiller9891, Unassigned)

References

Details

(Whiteboard: [proton-door-hangers][proton-hamburger-menu])

Attachments

(1 file)

User Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 OPR/77.0.4054.203

Steps to reproduce:

New update for Firefox is available

Actual results:

Prompt appears on top right for users to download or delay the update.

Expected results:

No prompt should appear. Instead, a Discord-like behavior should occur:

If automatic download is enabled:
The download occurs in the background and the user is unaware of it.
Once it is downloaded, a prominent, green arrow pointing up appears next to the three bars that open the menu. The arrow should be outright visible, and clicking it closes the browser and installs the update.

Current behavior is that a little dot appears on top of the three bars. Then the user has to manually click on the install button.

If automatic update is disabled, the arrow could be of a different color? And instead it transforms into a spinning/working indicator while the update downloads (no prompt for confirmation, encouraging updates). Once the update is done, clicking it again updates the browser.

If automatic update is enabled, the updates could also happen when opening the browser.

The Bugbug bot thinks this bug should belong to the 'Toolkit::Application Update' component, and is moving the bug to that component. Please revert this change in case you think the bot is wrong.

Component: Untriaged → Application Update
Product: Firefox → Toolkit
Duplicate of this bug: 1724702

I'm a little confused about what you are asking for because your "Expected Results" description contains some things that we already do. Just so that we are all on the same page, let me give a brief description of how Firefox update works now:

  1. Firefox periodically checks if an update is available.
  2. If an update is found and automatic update downloads are not enabled, we display a doorhanger (a sort of popup) asking the user if they would like to download the update.
  3. If automatic update downloads are enabled or the user says yes to the update prompt, we download the update silently in the background.
  4. Once the update has been downloaded, we prepare it for installation.
  5. If the user does not restart the browser for a long period (default on the Release channel is 4 days from download completion), we show a badge over the hamburger menu button and "Update available - restart now" text within the hamburger menu.
  6. After even more time has passed (default on the Release channel is 8 days from download completion), we show a doorhanger requesting that the user restart.
  7. The user eventually shuts down Firefox (it doesn't matter how).
  8. On startup, we apply the update.

As far as I can tell, the only way that your "Expected Results" differ from this process are to replace the "green dot" badge with a "green arrow" badge and add a "spinning arrow" badge during download if automatic update downloads are disabled. Am I understanding correctly?

Flags: needinfo?(lisamiller9891)

(In reply to Kirk Steuber (he/him) [:bytesized] from comment #3)

I'm a little confused about what you are asking for because your "Expected Results" description contains some things that we already do. Just so that we are all on the same page, let me give a brief description of how Firefox update works now:

  1. Firefox periodically checks if an update is available.
  2. If an update is found and automatic update downloads are not enabled, we display a doorhanger (a sort of popup) asking the user if they would like to download the update.
  3. If automatic update downloads are enabled or the user says yes to the update prompt, we download the update silently in the background.
  4. Once the update has been downloaded, we prepare it for installation.
  5. If the user does not restart the browser for a long period (default on the Release channel is 4 days from download completion), we show a badge over the hamburger menu button and "Update available - restart now" text within the hamburger menu.
  6. After even more time has passed (default on the Release channel is 8 days from download completion), we show a doorhanger requesting that the user restart.
  7. The user eventually shuts down Firefox (it doesn't matter how).
  8. On startup, we apply the update.

As far as I can tell, the only way that your "Expected Results" differ from this process are to replace the "green dot" badge with a "green arrow" badge and add a "spinning arrow" badge during download if automatic update downloads are disabled. Am I understanding correctly?

I was going to address your points one by one, but I think it's clearer if I go to the issue I believe exists:

1 - Doorhangers are annoying and intrusive. If I'm watching a youtube video I don't want to be nagged by my browser about an update. If I'm working on google docs or programming I don't want to lose focus and have to think about the download.
2 - The badge on the hamburger menu is practically hidden AND is ambiguous about its purpose. If you have an update ready and it needs to be applied, then show some firm and clear indication of it. Discord method: Show a clear, green arrow pointing up next to the hamburger. When clicked, the browser closes immediately and installs. Telegram method: Show a banner at the bottom or top of the browser saying "Restart to update" and when clicked it does just that. Both methods cannot be clicked away. Telegram method is ay more intrusive (but effective) and I mention it for completeness, I don't think it's a good method for a browser.

What I propose:
Get rid of both of these things. One is a pain in the ass (Try having 30 popups a month on nightly! And yes, I know that's why it's called nightly, it's still a pain), the other is not noticeable enough for the average user, who doesn't even know why the badge exists. AND if he clicks the hamburger to see what the badge is about, he WON'T be ready to update, I assure you, unless he already knows that the button is there (even if most people think it is to update, not everyone does). Most often he will be annoyed that it was just to update, won't be prepared to do so so out of the blue, will leave it for later - and forget.

Replace with:

When an update is available, show an arrow pointing up next to the hamburger menu. If downloads are automatic or if the user already downloaded the update, simply make the arrow green and when the user clicks it the browser restarts and applies the update.
In order to avoid outrages for the sudden restart, simply add a little popup when you hover that says "Update Ready!". This is exactly what Discord does, and it works like a charm. In a weird way, it cognitively makes you want to click it, so would be great for Firefox.

If automatic downloads are not enabled: Then I'm not sure. Discord downloads updates automatically always in the background, which I'm eh about, and Firefox would probably get a lot of backlash for... Though... you know, since updating would be ultimately the user's choice you could do it and just skip the step. Though it would mean the browser is updated no matter what when the browser is restarted / closed and opened. Maybe something to consider.
I thought that maybe the arrow could be yellow if its asking for authorization to download an update. Or it's still green but when clicked it transforms into a progress circle showing download progress, and when finished turns back into a green arrow, now pulsing (see next paragraph)

To remind the user about the update process, simply make the arrow glow intermittently with a neon green, as in, make it pulse. Maybe once an hour? Maybe every minute? This is more reliable than the popup (its constant, always visible), and less annoying (doesn't take away focus or screen space).

tl;dr other apps do updates better in my opinion, and current practices are either annoying or not visible/explicit enough.

Flags: needinfo?(lisamiller9891)

What you are describing would be changes to the Proton UI design, so I'll try to get the Proton team involved.

(In reply to L from comment #4)

One is a pain in the ass

To be completely frank, I want Firefox to be kind of aggressive about getting users' attention about updates. The internet is a pretty hostile place where running untrusted and malicious code is pretty common. I can appreciate that nobody likes being told to update, but I can nearly guarantee that making it easy to ignore updates will ultimately result in more harm to more people.

Try having 30 popups a month on nightly!

This is not the first bug that I've seen involving people that have automatic update downloads disabled on Nightly. I would like to understand this situation better, because it is a bit confusing to me. In the interest of understanding how people use our product, would you mind explaining to me the motivation behind doing this? If you want a version of Firefox that updates to use the very newest code every day, why do you want to be notified every time? I hope this question doesn't come off as rude; I am genuinely curious and I feel that better understanding our users will help me make the product better for them in the future.

Whiteboard: [proton-door-hangers][proton-hamburger-menu]

Given what you have told me so far, it occurs to me that you might be interested in this Enterprise Policy intended for power users: ManualAppUpdateOnly.

There is a bit more information about this in Bug 1653430, if you are interested.

(In reply to Kirk Steuber (he/him) [:bytesized] from comment #7)

Given what you have told me so far, it occurs to me that you might be interested in this Enterprise Policy intended for power users: ManualAppUpdateOnly.

There is a bit more information about this in Bug 1653430, if you are interested.
Ah, no worries, it's a pain but it's not something that drives me crazy. Like you said, it's intended to be aggressive!
But a pulsing green arrow or the like would also be aggressive in its own way, and be there always, not just once a day (for nightly at least).

Even if my particular suggestions suck, I have no doubt the process can be done better.

(In reply to Kirk Steuber (he/him) [:bytesized] from comment #6)

What you are describing would be changes to the Proton UI design, so I'll try to get the Proton team involved.

(In reply to L from comment #4)

One is a pain in the ass

Try having 30 popups a month on nightly!

This is not the first bug that I've seen involving people that have automatic update downloads disabled on Nightly. I would like to understand this situation better, because it is a bit confusing to me. In the interest of understanding how people use our product, would you mind explaining to me the motivation behind doing this? If you want a version of Firefox that updates to use the very newest code every day, why do you want to be notified every time? I hope this question doesn't come off as rude; I am genuinely curious and I feel that better understanding our users will help me make the product better for them in the future.
Hah, well, you might be surprised a bit by the answer.

First, the logo is cooler. I like it. Stuff like this may sound silly, but aesthetics do matter, and Firefox will always 1-up Chrome there. Nightly looks really cool. Massive point here: You ABSOLUTELY should give a distinct logo to Firefox Beta and Thunderbird Beta. I have never used FF Beta or TB Beta because the logo just looks like crap with the little "Beta" there. Who wants to use a browser with that sign?! Nightly however is its own beast. Guess I'll open a bug report for that, but seeing we were on the topic...

Second, Nightly is definitely "stable" for everyday use - in my opinion, and in my case. Yes, sometimes a bug here and there may appear, rarely pretty bad, but honestly I'll take being two months in the future relative to the average user of Firefox for a few minor inconvenience here and there.

Third, the change that updating from one day to the next can bring will be minimal for most days. Yes, changes accumulate, but I'd rather just update every 3 or 5 days than everyday, when an update won't have actual visible impact for the user. Not everyone who uses Nightly hunts for bugs! (Sorry to pile on different topics, but Beta and nightly should be visible for download from the main webpage, not hidden at the bottom or on another page... my two cents.)

Remember also that you must restart your browser to update, and how many people like doing that? And everyday?! So I just defer until I feel like it.

As for why "automatic downloads" disabled, well, because I don't want an update to download, only to have to re-download again when I open firefox because a newer update is out (e.g., you download update today, and in two days restart browser, now you're one day behind in updates. This is something I think could be "fixed" too, so if a newer update is available the current is purged and newer downloaded. Currently I do not think this is done). In fact, it sometimes happens that I restart and an update is applied, and if I go to "About Firefox" a new update starts to download. Yuck experience.

If you really want to psychoanalyse me, you could say I also just like the feeling of power. What if some horrible change happens, or some virus is somehow embedded in the latest update? (think Transmission: https://gizmodo.com/mac-bittorrent-client-transmission-gets-infected-with-m-1785957214) Not saying it's going to happen, or even that it could, but I like to be able to say no, do not download anything yet, let's wait a couple days.

I'll make bug reports for the two tangential issues I mentioned above and link them here.

(In reply to Kirk Steuber (he/him) [:bytesized] from comment #7)

Given what you have told me so far, it occurs to me that you might be interested in this Enterprise Policy intended for power users: ManualAppUpdateOnly.

There is a bit more information about this in Bug 1653430, if you are interested.

Whoops, I meant to thank you for this above, but I cut the line I guess.
It's not a big deal, the updates are annoying for three seconds, that's all, I don't really care about it. It can just be a better experience.

Created bug for creating new logo for Beta:
https://bugzilla.mozilla.org/show_bug.cgi?id=1725163

Created bug for showing Beta & Nightly more prominently on FF webpage:
https://bugzilla.mozilla.org/show_bug.cgi?id=1725168

Thanks for the feedback!

It turns out that the Proton team is no longer triaging these bugs, so I'll be making a determination for this bug.

(In reply to L from comment #8)

But a pulsing green arrow or the like would also be aggressive in its own way

I think that this is worth considering. I know that there are enough users that dislike doorhangers that I'm interested in entertaining the possibility. There might be reasons that we want to keep update doorhangers around, so it is possible that we would implement both interfaces and have a setting to choose between them.

First, the logo is cooler. I like it. Stuff like this may sound silly, but aesthetics do matter

I have to admit, I wasn't expecting this answer, but I thank you for your honesty. On this basis, I wonder if you might be interested in Firefox Developer Edition? Just a thought.

This is something I think could be "fixed" too, so if a newer update is available the current is purged and newer downloaded

I actually sort of fixed this in Bug 353804. Unfortunately, the impact is more limited than I would like. We only generate partial updates (where you only have to download the difference between the new version and the old version) for a couple of versions back. And I didn't think it was a good idea for sufficiently out-of-date copies of Firefox to be frequently downloading an entire new copy of Firefox. I've been meaning to talk to that team, actually, and ask how hard it would be to generate partial updates for more versions.


As I said, I am interested in this change but, unfortunately, no one on our team has time to work on this at the moment. So I'll be putting this in the backlog for now.

A note to anyone that wants to work on this bug: This is a big enough UI change that I cannot unilaterally make the decision to add this. If you want to work on this, let me know and we can talk to the relevant decision makers about signing off on this and deciding whether to:

  • switch entirely to this new interface,
  • add an option for this interface to the update settings, or
  • run an experiment to try the new interface out and see how it performs
Priority: -- → P3
Summary: Streamline Firefox updates, with less interaction from user → Replace update doorhangers with a pulsing hamburger menu badge
You need to log in before you can comment on or make changes to this bug.