Tuesday, 4 December 2018

Creating a restart popup - Part I

One of my biggest projects to date was creating a restart popup that notified an individual when their PC required a restart, based on set criteria, to encourage them to do so. At any one time we had about 320+ PCs that had not been restarted in over 1 month and therefore had not fully installed windows updates. The focus was just on office (not classroom) PCs, requiring a careful balance between ease of development (with the possibility for future alterations) and intrusiveness (to be suitably visible without taking the focus away from the users current task).

I looked into various methods and produced prototypes, which I have detailed below:
  • BurntToast - this was originally the expected solution as it was aesthetically pleasing and integrated with the Action Center. Unfortunately it only displayed for 5 seconds which could have easily been missed by the user.

  • Balloon Tip - aesthetically please, very simple and easy to customise the text. Unfortunately it had the same 5 second duration limit, as well as an inability to add buttons (either the whole box was clickable or not).

  • AnyBox - displayed front and center so it was impossible to miss, it remained on-screen until interacted with (but would move to the background if an application was opened over it). It was also easy to customise text/buttons/background colour, but was ultimately deemed too intrusive.

  • Full Screen Banner - full width of the screen so impossible to miss, remains on-screen until interacted with (but would move to the background if an application was opened over it), customisable text/button/background colour. This was however the most intrusive option and less aesthetically pleasing.

  • PowerShell Form - front and top left of screen, remains there until dismissed (does not move to background), customisable text, text-background colour and buttons. Again, somewhat intrusive and possible limited aesthetics.

  • The Solution - eventually some online XAML examples were found that could be combined with PowerShell to produce a popup that mirrored the Windows 10 Action Center theme, with an unlimited display-time. It remained on-screen but moved to the background, allowed for customisable buttons for interactivity and was relatively straightforward to customise.

In Part II of this blog I will go into more detail about the functions and code for the solution I developed.

2 comments:

  1. Thanks for the shoutout Phil! The documentation linked above has a new home:

    https://www.donaldmellenbruch.com/doc/anybox/

    Also, see the new quickstart guide on my GitHub:

    https://github.com/dm3ll3n/AnyBox

    I'm glad the AnyBox was a contender! After reviewing this article, I suppose I could add a `-StartupLocation` parameter to the AnyBox, which would allow you to specify the x,y coordinates for where you'd like it to start up.

    I used the AnyBox for something similar in the past; you may get use out of the `-Timeout` and `-Countdown` parameters that AnyBox offers.

    Cheers!

    ReplyDelete
    Replies
    1. Hey!

      No problem at all - I have updated the link you have supplied, thank you.

      Delete