Bug 7982 - Add auto-update functionality to SC
: Add auto-update functionality to SC
Status: CLOSED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: Setup
: 7.4.0
: All All
: -- normal (vote)
: 7.4.0
Assigned To: Michael Herger
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2008-04-25 11:16 UTC by Dan Evans
Modified: 2009-10-05 14:33 UTC (History)
1 user (show)

See Also:
Category: ---


Attachments
Update reminder balloon in task tray (10.10 KB, image/png)
2009-04-16 00:06 UTC, Michael Herger
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dan Evans 2008-04-25 11:16:19 UTC
Add the ability for SqueezeCenter to update itself.  Rather than requiring a download and re-install.
Comment 1 Chris Owens 2008-05-05 09:25:34 UTC
Dean would you care to help target this request?

Dan, do you really feel this would do more good than harm?  
Comment 2 Dan Evans 2008-05-05 12:41:38 UTC
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?
Comment 3 Blackketter Dean 2008-05-05 16:52:25 UTC
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?

Comment 4 Chris Owens 2008-06-13 09:30:33 UTC
Dean, do you want to give some guidance about a target for this?
Comment 5 Dan Evans 2008-06-13 10:57:15 UTC
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.
Comment 6 Chris Owens 2008-09-16 14:06:38 UTC
ping dean
Comment 7 Michael Herger 2009-04-15 06:52:35 UTC
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.
Comment 8 Dan Evans 2009-04-15 09:40:13 UTC
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.
Comment 9 Michael Herger 2009-04-15 10:12:54 UTC
> 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.
Comment 10 Michael Herger 2009-04-16 00:06:38 UTC
Created attachment 5130 [details]
Update reminder balloon in task tray
Comment 11 Dan Evans 2009-04-16 11:34:11 UTC
>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?
Comment 12 Michael Herger 2009-04-17 09:07:45 UTC
> 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?
Comment 13 Weldon Matt 2009-04-17 10:31:47 UTC
Question:

What does the user actually need to click on when they see this balloon?  The balloon or the icon (or both)?
Comment 14 Dan Evans 2009-04-17 10:51:55 UTC
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.
Comment 15 Michael Herger 2009-04-19 03:34:24 UTC
> 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.
Comment 16 Dan Evans 2009-04-20 13:40:04 UTC
> 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?
Comment 17 Michael Herger 2009-04-21 01:01:22 UTC
> 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!
Comment 18 Dan Evans 2009-04-22 11:55:12 UTC
>> 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.
Comment 19 Michael Herger 2009-04-22 14:08:48 UTC
> 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.
Comment 20 Dan Evans 2009-04-23 17:01:19 UTC
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.
Comment 21 Dan Evans 2009-04-23 17:03:20 UTC
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!
Comment 22 Michael Herger 2009-05-14 23:39:54 UTC
I'd consider this done. Please open specific bugs for remaining issues. Thanks!
Comment 23 Dan Evans 2009-05-15 10:42:07 UTC
Michael--  is this feature live for Mac OS?
Comment 24 Weldon Matt 2009-05-15 10:46:33 UTC
It's live on Mac.

Question: with this implemented, isn't the "check for updates" button now obsolete?
Comment 25 Dan Evans 2009-05-15 10:54:08 UTC
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?
Comment 26 Weldon Matt 2009-05-15 11:10:37 UTC
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."
Comment 27 Dan Evans 2009-05-15 11:54:18 UTC
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.
Comment 28 Michael Herger 2009-05-15 12:29:17 UTC
> 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.
Comment 29 Michael Herger 2009-05-15 12:30:26 UTC
> 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.
Comment 30 Weldon Matt 2009-05-15 12:31:42 UTC
(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.
Comment 31 Michael Herger 2009-05-15 12:45:58 UTC
> The options, are, I think, "install" and "cancel."

I made it friendlier. Isn't it "Not now"? :-)
Comment 32 Weldon Matt 2009-05-15 14:39:57 UTC
Ah yes.  Paraphrasing, like I said :-) (I can't replicate it on demand...)
Comment 33 James Richardson 2009-10-05 14:33:31 UTC
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.