Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
NickCraver opened this issue Apr 15, 2017 · 20 comments
Closed

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

NickCraver opened this issue Apr 15, 2017 · 20 comments
Assignees
Labels
bug Issue identified by VS Code Team member as probable bug install-update VS Code installation and upgrade system issues
Milestone

Comments

@NickCraver
Copy link
Member

NickCraver commented Apr 15, 2017

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?

@xt0rted
Copy link

xt0rted commented Apr 15, 2017

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.

@NickCraver NickCraver changed the title Too many releases - please add a slow channel Too many update prompts for users - and suggested alternatives. Apr 15, 2017
@jdanyow
Copy link

jdanyow commented Apr 15, 2017

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
Copy link

tomoat commented Apr 15, 2017

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
Copy link

lxalln commented Apr 15, 2017

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
Copy link
Contributor

ajitid commented Apr 15, 2017

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
Copy link

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
Copy link

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
Copy link

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
Copy link

rhires commented Apr 15, 2017

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
Copy link
Contributor

+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
Copy link
Contributor

eamodio commented Apr 15, 2017

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
Copy link

A lot to do about nothing imho.

@NickCraver
Copy link
Member Author

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.

@jchannon
Copy link

jchannon commented Apr 16, 2017 via email

@Tyriar
Copy link
Member

Tyriar commented Apr 18, 2017

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 egamma added this to the May 2017 milestone Apr 19, 2017
@egamma
Copy link
Member

egamma commented Apr 19, 2017

Adding to the May milestone for investigation.

@egamma egamma added the bug Issue identified by VS Code Team member as probable bug label Apr 20, 2017
@jens1o
Copy link
Contributor

jens1o commented May 27, 2017

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

@egamma
Copy link
Member

egamma commented May 31, 2017

@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

@bpasero bpasero modified the milestones: May 2017, June 2017 Jun 1, 2017
@bpasero bpasero modified the milestones: June 2017, May 2017 Jun 1, 2017
@Kroc
Copy link

Kroc commented Jun 3, 2017

Would a Windows Store version help?

@joaomoreno joaomoreno added the install-update VS Code installation and upgrade system issues label Jun 14, 2017
@joaomoreno joaomoreno modified the milestones: Backlog, June 2017 Jun 27, 2017
@joaomoreno
Copy link
Member

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

@vscodebot vscodebot bot locked and limited conversation to collaborators Nov 17, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Issue identified by VS Code Team member as probable bug install-update VS Code installation and upgrade system issues
Projects
None yet
Development

No branches or pull requests