microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
164.21k stars 29.29k forks source link

Too many update prompts for users - and suggested alternatives. #24823

Closed NickCraver closed 7 years ago

NickCraver commented 7 years ago

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:

A few ideas:

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?

xt0rted commented 7 years ago

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.

jdanyow commented 7 years ago

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.

tomoat commented 7 years ago

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

lxalln commented 7 years ago

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.

ajitid commented 7 years ago

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.

jchannon commented 7 years ago

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.

vladkosarev commented 7 years ago

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

motowilliams commented 7 years ago

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.

rhires commented 7 years ago

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?

SteveDesmond-ca commented 7 years ago

+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!

eamodio commented 7 years ago

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).

jeffschwartz commented 7 years ago

A lot to do about nothing imho.

NickCraver commented 7 years ago

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:

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.

jchannon commented 7 years ago

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 .

Tyriar commented 7 years ago

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

egamma commented 7 years ago

Adding to the May milestone for investigation.

jens1o commented 7 years ago

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

egamma commented 7 years ago

@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

Kroc commented 7 years ago

Would a Windows Store version help?

joaomoreno commented 7 years ago

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