Particular / ServiceInsight

Advanced debugging for NServiceBus
http://particular.net/serviceinsight
Other
16 stars 32 forks source link

Provide design for "Update available" dialog #40

Closed dannycohen closed 10 years ago

dannycohen commented 10 years ago

See https://github.com/Particular/ServiceInsight/issues/39

Please suggest a design for the message dialog as described in the issue (also to be applied to ServiceMatrix as defined in https://github.com/Particular/ServiceMatrix/issues/85)

sergioc commented 10 years ago

How about using VS built-in update notifier and manager?

Meant to post in https://github.com/Particular/ServiceMatrix/issues/86

sergioc commented 10 years ago

@dannycohen Found the following update frameworks, wondering if one of these could be used?:

http://autoupdaterdotnet.codeplex.com/ http://netsparkle.codeplex.com/

sergioc commented 10 years ago

Yet another one: http://winsparkle.org/

dannycohen commented 10 years ago

@sergioc - Thanks. The dialog looks OK, but an even simpler toast or popup with "Updates are available" with a link would do the job. e.g.:

image

sergioc commented 10 years ago

I wasn't suggesting to use a design similar to what's used by those frameworks, but to use (one of) the frameworks themselves to provide the update notification functionality.

They offer the option to include release notes and let the user perform the update without having to fire up the browser.

dannycohen commented 10 years ago

I'd rather have something simple for now. In any case, we will need to have internet connectivity. Having additional versions of the update features would be an unrequired overhead. I'm thinking of a process that:

  1. Check periodically for updates
  2. If found, notifies the user
  3. If the user clicks - he can see the details.
  4. Our updates are too close together to be provided with a feature list for each. Sometimes and update is for a single bug
  5. And if the user wants to see all the updates since he last upgraded a year ago - he will need to open a browser, which is a no biggy IMO.
sergioc commented 10 years ago

The release notes are probably optional.

I was actually offering a means to potentially ease the implementation while providing a better experience (i.e. no need to open browser, applying the update involves only needing click once to accept update, rest is automatic). I.e. keep it simple.

The process as I see it:

  1. Check periodically for updates
  2. If found, notify the user in a dialog supplied by theupdate framework, with your message:
**Update available**
ServiceInsight [NewVersionNumber] is available. 
Would you like to install the update?
- YES, - Skip version, - Later

Note I'm not including anything about release notes. I'm just trying to provide a solution that avoids the user having to open the browser to download an update.


If you don't like the above, then:

  1. Check periodically for updates
  2. If found, notify the user with a pop-up baloon:
**Update for ServiceInsight available**
Click to download ServiceInsight [NewVersionNumber].

Also had a permanent notifcation in SI menu bar in case the user missed the pop-up baloon: 2013-12-17 at 17 53

Or in toolbar: screenshot 2013-12-17 18 03 45

  1. If user clicks pop-up or "Update available" in menu bar/toolbar, open update installer link in browser to initiate download

Thoughts?

sergioc commented 10 years ago

We may want to also add a dialog after the user clicks the pop-up tooltip or notification in menubar / toolbar, for more info about which version is available:

screenshot 2013-12-17 19 02 47

Or simply include the version in the menubar / toolbar notification and allow user to go straight to the downloads page:

screenshot 2013-12-17 19 07 15

dannycohen commented 10 years ago

@sergioc - I like all these options... Can you wrap them for me to go ? :-)

Since we will also need to have an identical functionality in ServiceMatrix we need to adopt a UI that is compatible for a VS addin visual and technical limitations.

I believe this is the most appropriate:

image

@udidahan / @andreasohlund / @HEskandari / @joaquinjares / @esculli - thoughts ?

udidahan commented 10 years ago

I might go with "Remind me later" rather than "Cancel", but all in all, it's good.

sergioc commented 10 years ago

@udidahan "Remind me later" is not really necessary since the notification is permanently visible in the toolbar.

sergioc commented 10 years ago

@dannycohen Assets package here: https://www.dropbox.com/s/k0lcjd0jtmz9n6j/Update%20available.zip

Flow recap:

1) Check periodically for updates

2) If found, notify the user with

**Update for ServiceInsight available**
Click to download ServiceInsight [NewVersionNumber].

3) If user clicks pop-up or "Update available" in toolbar, open update dialog in ServiceInsight: image

4) If user clicks download, open link to update file in browser

dannycohen commented 10 years ago

Closing this as the design has been provided. Implementation TBD.