Vscode: Too many update prompts for users - and suggested alternatives.

Created on 15 Apr 2017  Â·  20Comments  Â·  Source: microsoft/vscode

First, let me say I love VS Code. I love the velocity of the project. I love the monthly release plan and the cadence that it moves at.

What I don't like is the consumption of these updates at an ever-increasing frequency as a user. The promise of Visual Studio Code is a release approximately once a month. But that's (understandably) not reality, because software has bugs and release have unexpected issues in the wild. Let me start with a summary of release history from the past 12 months to serve as data for discussion:

| Month | Count | Releases | 1.*.0 to 1.*.1 release time span |
|-|-|-|-|
| Apr 2017 | 3 | 1.11.0, 1.11.1, 1.11.2 | 1 day |
| Mar 2017 | 2 | 1.10.1, 1.10.2 | 1 day |
| Feb 2017 | 3 | 1.9.0, 1.9.1, 1.10.0 | 6 days |
| Jan 2017 | 0 | (n/a) | (n/a) |
| Dec 2016 | 2 | 1.8.1, 1.8.2 | 1 day |
| Nov 2016 | 3 | 1.7.0, 1.7.1, 1.7.2 | 2 days |
| Oct 2016 | 2 | 1.6.0, 1.6.1 | 3 days |
| Sep 2016 | 4 | 1.5.0, 1.5.1, 1.5.2, 1.5.3 | 0 days |
| Aug 2016 | 1 | 1.4.0 | (n/a) |
| Jul 2016 | 2 | 1.3.0, 1.3.1 | 5 days |
| Jun 2016 | 2 | 1.2.0, 1.2.1 | 13 days |
| May 2016 | 2 | 1.1.0, 1.1.1 | 7 days |

Data available in GitHub tags

Can we change how releases are consumed here? I don't think the "stable" channel is living up to the name from a user standpoint. I think the code is mostly stable, but not the experience. Users shouldn't get this many update prompts in the normal "stable" install.

I propose the following requirements, as a user consuming updates:

  • Should not get a prompt to update two days in a row (this has happened many times)
  • Should not get a prompt to update more than once a week on a channel called "stable"

A few ideas:

  • A "slow" channel, where releases are only posted if they has been no new release in the past 7 days.

    • This would have eliminated the > 1 per month prompts for not-really-stable releases for 9 of the 10 months they happened in the table above.

  • Give users an option to configure a similar lag, not prompting for an update until it has been posted for at least 7 days and not obsoleted by a new point release.

    • e.g. update.delayDays, which if configured to 7 days would have the same effect as above.

  • Make updates a background post-close operation, simply informing the user in a much more subtle way (0-clicks, auto-dismiss) that an update will occur on next restart automatically.

The bottom line is VS code is a means to an end. I'm trying to do work, and so is everyone else. Update prompts, especially repetitive ones in a short duration get in the way of that and only add frustration. They rarely help me get any work done; it's usually the opposite.

Thoughts? Ideas? Can we improve this?

bug install-update

Most helpful comment

I'd like to keep getting the updates, but have them install in the background. This isn't just VS Code either, Firefox, Azure Storage Explorer, Visual Studio, SSMS, anything Adobe, all of these applications force you to stop what you're doing to install their updates.

Chrome, GitHub Desktop, Slack, Linq Pad, VS plugins (to an extent), these all install in the background and give me the new version on next run. It's a much better experience that I'd love to see in my other applications.

All 20 comments

I'd like to keep getting the updates, but have them install in the background. This isn't just VS Code either, Firefox, Azure Storage Explorer, Visual Studio, SSMS, anything Adobe, all of these applications force you to stop what you're doing to install their updates.

Chrome, GitHub Desktop, Slack, Linq Pad, VS plugins (to an extent), these all install in the background and give me the new version on next run. It's a much better experience that I'd love to see in my other applications.

I would opt-in to an automatic, update-on-close feature should one become available. Even better if that were to become the default behavior.

Vscode extension also is the same,Daily updated version more

Too many extension are updated every day, I need to click on multiple times each

I agree that the current notification is too intrusive, perhaps vscode should follow it's big brother and simply have a smaller less in-your-face indication that an update is available (I'm think of the flag in the upper right corner of Visual Studio).

This would make the update ignorable until the user is ready to install an update.

I'm not sure delaying the updates is the answer, just as likely to interrupt me when I'm trying to get work done.

I also think that updating on close is a user hostile approach, I'm closing down to shut down and go home, last thing I want to be dealing with is a software update.

Silent automatic updates are the real answer here, but that is clearly a much more difficult and heavy weight solution.

Here is quick suggestion to display options to users:

  1. Update now
  2. Update on close
  3. Prompt on next time

Now the third option should check for another VSCode window being already opened, if yes then do not prompt at this time, prompt when a new window opens later.

Moreover clicking on Release Notes should not hide this heads-up info/prompt (or whatever you call it). This will help user to take action depending on the update changelog.

I have no issue with the updates. They're usually minor and you get a prompt to say that latest release will be updated on a restart and it's quick. As you say there will be "oh shit!" releases but the way they are handled are discreet so I have no problem.

Let me enable 'auto update all' so that I get Vs code updates and all extension updates by default without having to click anything.

I would opt-in to an evergreen mode for VS Code and its extensions. I honestly don't want to see _any_ prompts and I can dig into release notes as needed.

Since we're on the topic, I find that sometimes if I don't update for a while, I get two updates in a row - one right on top of the other. Is there a way to combine this into one single update? Like, if the updater sees that there's another update to follow, just build it in? Or this not possible, and updates have pile on top of each other this way?

+1 for automatic background updates -- I don't really care that they're frequent, just don't bug me/make me do anything to get them!

For all those wanting auto-update for extensions, just set "extensions.autoUpdate": true and they will automatically update in the background. I honestly think that this should be the default behavior, and this setting could be for opting-out.

As for vscode itself, I would definitely opt-in to an auto-update that would happen in the background. Honestly the way it is handled on macOS is very close to that today, but on Windows the update experience is FAR worse (you don't have to do much more, but it takes way longer, you see an installer window, just feels far inferior).

A lot to do about nothing imho.

Some additional thoughts about impact here: VS Code is also attractive because it's on many operating systems. That makes it handy and consistent. Unfortunately, for any power users on multiple systems, these prompts multiply. I personally have to update my desktop, my laptop, and a VM on my laptop...at a minimum. Think about how many things prompt for an update, developers are spending far too much time on this overall, and it's mostly avoidable.

When I open VS Code, it's to get work done. I don't need an interruption in my flow, I was trying to do something. Updating was also never on my list of things to do. Firefox did this in the early days, prompting you to update before starting the browser UI. This was universally ill-received. Compare to the prompts in VS Code today: they also block work. They're not notifications you can ignore, they actively block my access to tabs. So yes, certainly part of the problem is the intrusiveness of all Code notifications themselves. Solving that lessens the impact they have.

When I look at the ideal experience, it's Chrome. They also release 1 to a few times a month (e.g. for critical security fixes), but none of the downsides and workflow interruptions. There's simply a small indicator that appears letting you know there's an upgrade available. It's not in front of anything. This, to me, the best experience out there. Of course there are options for the application phase:

  • Do it on close - VS Code installer has a UI, but this could be silent (my personal preference)
  • Do it in the background independently (usually requires a new process on the machine - please no!)
  • Do it on the next open - more intrusive, but actually less annoying than the prompt, to me, which is strange

It comes down to this: the Code team is making awesome updates. That's great. However, it's rare that an update waiting for me helps me in doing what I was trying to do when I opened up Code and found the update. It's actually blocking me from doing it, and that's a net loss.

IMO, even moving the upgrade notification specifically to a small flag (or whatever) like Visual Studio has would be a win. It's not upgrades that are the main problem, it's the interruptions they causes to the developer. I don't think I made that point well enough in the main issue.

I wonder if this experience differs slightly across operating system. All
my net core work is on OS X and I'm not bothered by the notifications and
the update is done in the background after a restart.

Might be worth clarifying which OS people are not happy with.

On Sun, 16 Apr 2017 at 13:16, Nick Craver notifications@github.com wrote:

Some additional thoughts about impact here: VS Code is also attractive
because it's on many operating systems. That makes it handy and consistent.
Unfortunately, for any power users on multiple systems, these prompts
multiply. I personally have to update my desktop, my laptop, and a VM on my
laptop...at a minimum. Think about how many things prompt for an update,
developers are spending far too much time on this overall, and it's mostly
avoidable.

When I open VS Code, it's to get work done. I don't need an interruption
in my flow, I was trying to do something. Updating was also never on my
list of things to do. Firefox did this in the early days, prompting you to
update before starting the browser UI. This was universally
ill-received. Compare to the prompts in VS Code today: they also block
work. They're not notifications you can ignore, they actively block my
access to tabs
. So yes, certainly part of the problem is the
intrusiveness of all Code notifications themselves. Solving that lessens
the impact they have.

When I look at the ideal experience, it's Chrome. They also release 1 to
a few times a month
https://chromereleases.googleblog.com/search/label/Stable%20updates
(e.g. for critical security fixes), but none of the downsides and workflow
interruptions. There's simply a small indicator that appears letting you
know there's an upgrade available. It's not in front of anything. This, to
me, the best experience out there. Of course there are options for the
application phase:

  • Do it on close - VS Code installer has a UI, but this could be
    silent (my personal preference)
  • Do it in the background independently (usually requires a new
    process on the machine - please no!)
  • Do it on the next open - more intrusive, but actually less annoying
    than the prompt, to me, which is strange

It comes down to this: the Code team is making awesome updates. That's
great. However, it's rare that an update waiting for me helps me in
doing what I was trying to do when I opened up Code and found the update.
It's actually blocking me from doing it, and that's a net loss.

IMO, even moving the upgrade notification specifically to a small flag (or
whatever) like Visual Studio has would be a win. It's not upgrades that are
the main problem, it's the interruptions they causes to the developer. I
don't think I made that point well enough in the main issue.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/vscode/issues/24823#issuecomment-294348639,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAGapl8Vce6eHFB9Foy4cx4R107BxOP7ks5rwgZ_gaJpZM4M-VyE
.

I imagine this is mainly just a problem on Windows. Here's how the updates work on each OS currently:

Windows

  1. A message box appears after an update is downloaded
  2. The installer runs which can take around 1-2 minutes

macOS

  1. The update is downloaded and install silently
  2. A message box appears that allows the user to restart VS Code (takes ~1-3 seconds)

Linux

  • A message box appears when an update is ready (this should be delayed until some time after the update, see https://github.com/Microsoft/vscode/issues/21651)
  • Users updates via normal mechanism, eg. sudo apt update && sudo apt install code or via the OS update manager

Adding to the May milestone for investigation.

What's new so far? Actually, I'm happy with the current way.

@jens1o @NickCraver we have lightened the update notification in the insiders build, no changes in stable for June. More details can be found in the test plan item #27454. Please give it a try.

insiders build today: http://code.visualstudio.com/Download#insiders

Would a Windows Store version help?

Update frequency won't change soon. We're working towards making a lighter-weight update experience across the Mac and Windows platforms: #13308

Was this page helpful?
0 / 5 - 0 ratings

Related issues

omidgolparvar picture omidgolparvar  Â·  3Comments

DovydasNavickas picture DovydasNavickas  Â·  3Comments

borekb picture borekb  Â·  3Comments

lukehoban picture lukehoban  Â·  3Comments

chrisdias picture chrisdias  Â·  3Comments