Tuesday, November 3, 2015

Windows 10's "Notify to schedule restart" option is evil

Happy Patch Tuesday, everyone.  This is actually my first Patch Tuesday on Windows 10, and I'm learning some interesting things about how it works in 10.

By default, Windows Update will reboot the computer automatically when it's not in use.  That's fine for most people, but since my computer is essentially a gaming rig, I don't want to trust Microsoft on the whole "when it's not in use" thing.  I have occasionally seen other software vendors screw this up, and I'd rather choose reboot times myself.  I rarely leave the computer on for more than 12 hours on end, so there is usually no need to reboot the computer anyway.  I opted for "notify me to schedule a restart," which seems sensible enough, right?

Wrong.  You see, when Windows Update "notifies" you, it does this by minimizing whatever you have open and popping up a system-wide modal dialog.

Yes, that's right.  A system-wide modal dialog (like a UAC prompt, so you can't click away from it).  Which steals focus and wasn't initiated by user action.

Seriously, guys?  That was the best UX design you could possibly come up with?

OK, let's review some basic UX rules that I thought Microsoft had down cold, but apparently they don't.  First, you do not steal focus.  Ever.  Whatever the user is doing is always more important than whatever you want to show them.  Microsoft applies this rule to other apps, but apparently can't be bothered to follow it themselves.  Second, dialogs are not modal.  To be more specific, dialogs should rarely be app-modal and (almost) never be system-modal.  UAC breaks this rule, but there are legitimate security reasons for it (if it were not system-modal, another app could steal focus or interact inappropriately with the dialog).  For Windows Update, there are no such reasons, other than the perennial "Windows Update must be as annoying as humanly possible" design aesthetic that Microsoft seems to go for with each new version of Windows.  Thirdly, dialogs are initiated by user actions.  Dialogs do not randomly appear when the user is in the middle of something, if at all avoidable.  For that use case, we have toasts, balloon tips, etc., which are all far less annoying.

It is 2015.  We should not be having this conversation, Microsoft.