Bugzilla – Bug 7982
Add auto-update functionality to SC
Last modified: 2009-10-05 14:33:31 UTC
Add the ability for SqueezeCenter to update itself. Rather than requiring a download and re-install.
Dean would you care to help target this request? Dan, do you really feel this would do more good than harm?
I can only imagine it doing harm if we implement it badly, which we wouldn't do I'm guessing. Offering our user base the option to upgrade their server with some auto-wizard sounds like it would do good. Unless there's some situation I'm overlooking. What harm do you think it might cause?
This kind of platform install specific stuff is a fair amount of work. We already have update notification working. What problem are you trying to solve, Dan?
Dean, do you want to give some guidance about a target for this?
This would solve several problems, small and large. Specifically it would prevent our users from ever being stuck in a firmware upgrade/downgrade loop again. That's a big selling point to me. More broadly it would decrease the pain of upgrading in general for all our users. We want them to upgrade. Let's make that as easy as possible for our user and we'll ensure more customers enjoy our added features and improved server.
ping dean
Almost forgot to update this bug report. So here's my plan for the "auto update": - first of all: we can't do a 100% automatic update due to permissions issue (at least not with reasonable development effort) - SC will automatically download the latest release in the background - once the download has finished, the user is informed that there is a new version ready to be installed. On Windows this is done using the tray icon. - the user then simply clicks "update now". Done. OSX is still TBD. - feature can be disabled (Settings/Advanced/Software or something) This means the user still has to trigger the installation process, but the download is automated, and the user is actively asked to install the update, which he can do with two clicks. While the code is almost there (has been for a while) there has been no testing, as without a new release it's hard to test the update mechanism :-). Therefore I've added some code on SN today which should inform the 7.4 beta testers for every single nightly build available. I'll post to the beta forum about this change as soon as I've tested this and checked everything in. This should give us some reasonable testing.
This all sounds good. I have one concern, though: the tray icon is a poor place to inform customers. I suspect 99% of customers will either miss this notice, ignore it, or just not understand it. Can we do 2 additional things: 1. Put a button in the SC Control Panel, "Upgrade Software," which will install the downloaded update, or download the update if it's not yet downloaded and install it. 2. Add a notification within SC much like we have now-- "An update is available. Click here to update now." Clicking this begins the update process. I want to ensure the update messaging is effective, and that the users can easily start the update process if/when they choose to.
> This all sounds good. I have one concern, though: the tray icon is a > poor place to inform customers. You mean that balloon popping up and staying on the screen would be ignored? > 1. Put a button in the SC Control Panel, "Upgrade Software," which will Yes, will do. > 2. Add a notification within SC much like we have now-- "An update is > available. Click here to update now." Clicking this begins the update > process. Sure, I won't remove the message, it's there already :-). But users will ignore it as they did before. After all that's why we want something better.
Created attachment 5130 [details] Update reminder balloon in task tray
>You mean that balloon popping up and staying on the screen would be >ignored? If it stays there, maybe not. My experience with those little balloons is they pop up and fade away after a time. Thus, not being seen. So if I _do_ see that balloon and click on it, where does it take me? To the Control Panel?
> If it stays there, maybe not. My experience with those little balloons is they > pop up and fade away after a time. Thus, not being seen. According to PDK documentation the timeout is limited by Windows. But it's popping up every hour or so. Should be annoying enough :-). Did you have a chance to try it?
Question: What does the user actually need to click on when they see this balloon? The balloon or the icon (or both)?
Michael-- I'm trying 26010. How can I test this? I'm not sure how to trick the server into thinking an update is available. I'm also not able to open the Control Panel. I select CP from squeezetray and an hour glass appears but nothing happens.
> What does the user actually need to click on when they see this balloon? The > balloon or the icon (or both)? You can't click the balloon (limitation by the toolkit we're using, or I haven't found out yet how to do it). Therefore my placeholder text says "An updated SqueezeCenter version is available. Open the menu to install the latest release." - new text copy is very much welcome! > Michael-- I'm trying 26010. How can I test this? I'm not sure how to trick > the server into thinking an update is available. There's a file called revision.txt in the same folder as squeezecenter.exe. You can change the revision number in there to something lower than the current build, then restart SC. > I'm also not able to open the Control Panel. I select CP from squeezetray and > an hour glass appears but nothing happens. That would be a different bug.
> You can't click the balloon (limitation by the toolkit we're using, or I > haven't found out yet how to do it). Therefore my placeholder text says "An > updated SqueezeCenter version is available. Open the menu to install the > latest release." - new text copy is very much welcome! This is where I get concerned about this UI. How do I open the menu? What menu? Ideally, we'd have the click-on-the-balloon UI here. If we can't have that, can we double-click on the tray icon to open the Control Panel? Just something that is very clear to the user. How about this: inside the Control Panel we make a tab called "Updates". When a new update is available and downloaded, we can open the Control Panel to the Updates tab where a clear message says, "New update available... etc." and a button "Update now". This would be similar to what you're designing for Mac now. Matt? > There's a file called revision.txt in the same folder as squeezecenter.exe. > You can change the revision number in there to something lower than the > current build, then restart SC. I've tried this with no luck. Edited revision.txt, changed "26103" to "25103", then restarted SC. Nothing. Edited revision.txt changing the date to an older date. Nothing. Let me know if I need to do something more. >> I'm also not able to open the Control Panel. > > That would be a different bug. Is that filed, or would you like me to file it?
> This is where I get concerned about this UI. How do I open the menu? We're talking about the tray icon here. You've been asking for enhanced features in there - thus I assumed you knew how to open it ;-). > that, can we double-click on the tray icon to open the Control Panel? That's what it's been doing for a few weeks now. Please give it a try. Using it would make this so obvious and much simpler to discuss than if I have to describe its behaviour. > How about this: inside the Control Panel we make a tab called > "Updates". When > a new update is available and downloaded, we can open the Control Panel > to the > Updates tab where a clear message says, "New update available... etc." Done. In fact it's been there for a few days now. Really please update your installation (OSX and Windows). > I've tried this with no luck. Edited revision.txt, changed "26103" to > "25103", > then restarted SC. Nothing. Edited revision.txt changing the date to > an older date. Nothing. Ok, what about this: update your SC. Just leave it running. By tomorrow you should see all the magic. And make sure you haven't disabled the update check in Settings/Advanced/Software Updates (it's on by default, but I use to disable it myself). >>> I'm also not able to open the Control Panel. >> >> That would be a different bug. > > Is that filed, or would you like me to file it? I didn't file it because it's working fine for me. There might have been a crasher a few days ago which I've fixed. Please try the latest. If it still fails, file a bug. Thanks!
>> This is where I get concerned about this UI. How do I open the menu? > > We're talking about the tray icon here. You've been asking for enhanced > features in there - thus I assumed you knew how to open it ;-). Michael, I should have been more clear: I was speaking with my customer-voice in that case. "Open the menu" certainly means something to me, but it will mean nothing to the user. This may simply be a text puzzle. However, I'd prefer an easier path to start the update. I think relying on the tray icon is asking for trouble. >> that, can we double-click on the tray icon to open the Control Panel? > > That's what it's been doing for a few weeks now. Please give it a try. > Using it would make this so obvious and much simpler to discuss than if I > have to describe its behaviour. Bear in mind I _have_ been looking closely at this for the last week or so. I'm updating nearly every day. I cannot open the Control Panel on any of my systems currently, so I cannot see this. Either nothing happens, or the tray icon crashes. I have not yet opened a bug on this. > Ok, what about this: update your SC. Just leave it running. By tomorrow > you should see all the magic. And make sure you haven't disabled the > update check in Settings/Advanced/Software Updates (it's on by default, > but I use to disable it myself). I finally saw this at home while testing yesterday. I almost missed it though. The balloon was up and visible for only 5 seconds or so. I then right-clicked on the tray icon and selected "Update Now". The new SC installer ran and installed the update. However, SC never ran. I had to start it manually. Possibly another bug. I'll try again with tomorrow's build.
> Michael, I should have been more clear: I was speaking with my > customer-voice in that case. "Open the menu" certainly means something > to me, but it will mean nothing to the user. Gotcha! Please keep in mind that all my text copies can always be considered placeholders... > Bear in mind I _have_ been looking closely at this for the last week or > so. I'm updating nearly every day. I cannot open the Control Panel on > any of my systems currently, so I cannot see this. That's a serious problem. Please file a bug with all details about your systems, OS version, antivirus, error messages etc. > I finally saw this at home while testing yesterday. I almost missed it > though. The balloon was up and visible for only 5 seconds or so. I thought this was just the way Windows notifications work (like Windows updates, antivirus update notifications etc.). According to the docs I have the max. time guaranteed by Windows is 5 seconds, maximum total length 30 seconds. If another trayicon wants to show a balloon, it will dismiss the other one etc. In a nutshell: we can't rely on it staying there all day long. This balloon is popping up every 60 minutes. Shouldn't this be enough to catch the user's attention sooner or later? After all this is _not_ a critical issue. Even if the user decides to dismiss the balloon 20x, he'll still have a running system, though not running the latest and greatest release. > installer ran and installed the update. However, SC never ran. I had That would be yet another bug. Is SC set to start automatically or as a service, or manually? It should behave the same on updates. But there _might_ be an issue which was introduced to please the WHS guys. Please file a bug against this issue, so I don't forget over my, ahm... busy weekend.
created bug 11892 - Control Panel does not open via SqueezeTray icon created bug 11895 - Auto-update does not restart SC after update completion As far as the pop-up balloon is concerned, I can't say with any authority whether it's the right or wrong UI for this. I'll leave that to Matt Weldon's wisdom.
And Michael... thank you for all this work. I don't want that to get left behind here. Your Control Panel work and this Auto-update functionality will be a _HUGE_ leap forward in our UI. You rock!
I'd consider this done. Please open specific bugs for remaining issues. Thanks!
Michael-- is this feature live for Mac OS?
It's live on Mac. Question: with this implemented, isn't the "check for updates" button now obsolete?
I have never seen SC on my Mac prompt for an update. That's why I asked about it being live. What should I be seeing?
A small popup, plus the pref pane behind it, comes to the front of the screen. The popup says something like (paraphrasing here) "A new squeezecenter update is available." The options, are, I think, "install" and "cancel."
I have never seen this pop-up. I update my Mac SC manually every couple of days. (it's currently on 26523 May 11) I will do a clean install of yesterday's nightly and watch it today.
> Michael-- is this feature live for Mac OS? Sure! OSX, Windows, WHS. If you've never seen it happen you might have update checking disabled.
> Question: with this implemented, isn't the "check for updates" button now > obsolete? IMHO yes, but people like to force check. They don't want to wait another 24h until SC has done so.
(In reply to comment #29) > > Question: with this implemented, isn't the "check for updates" button now > > obsolete? > > IMHO yes, but people like to force check. They don't want to wait another > 24h until SC has done so. Then we should keep the functionality but maybe place it in the web UI. I'm going to start being adamant about keeping the pref pane UI very simple and trim.
> The options, are, I think, "install" and "cancel." I made it friendlier. Isn't it "Not now"? :-)
Ah yes. Paraphrasing, like I said :-) (I can't replicate it on demand...)
This bug has been marked as fixed in the 7.4.0 release version of SqueezeBox Server! * SqueezeCenter: 28672 * Squeezebox 2 and 3: 130 * Transporter: 80 * Receiver: 65 * Boom: 50 * Controller: 7790 * Radio: 7790 Please see the Release Notes for all the details: http://wiki.slimdevices.com/index.php/Release_Notes If you haven't already, please download and install the new version from http://www.logitechsqueezebox.com/support/download-squeezebox-server.html If you are still experiencing this problem, feel free to reopen the bug with your new comments and we'll have another look.