Today I upgraded an application, and the application showed the progress in an always-on-top dialog that I couldn't minimize and which stayed on-screen for over a minute, interfering with my work. Showing always-on-top dialogs or windows that will be on-screen for a long period of time seems like terrible UX. On the other hand, I can imagine that always-on-top dialogs may be good for certain (important) alerts, and an always-on-top window may be good for a small tool such as a calculator that one might actually want to keep on top of one's work. So, in what cases are such dialogs and windows a good idea?
2 Answers
It's not appropriate to keep the upgrade notice on the very top, regardless of which other applications you might want to use, while the application in question upgrades itself.
Window management and the Z order of windows
Your question is about the stacking order, or Z order, of windows. I assume you're dealing with a PC or tablet, since small devices like smartphones and watches don't typically have stacking windows.
For PCs, Microsoft has published, and kept updated, a useful set of guidelines for this. There are many details, including a series of rules for window location in various contexts. (As you can imagine, context makes a difference!) Here are two guidelines specifically about Z order:
- Always place owned windows on top of their owner window. Never place owned windows under their owner windows, because most likely users won't see them.
- Respect users' Z order selection. When users select a window, bring only the windows associated with that instance of the program (the window plus any owner or owned windows) to top of the Z order. Don't change the order of any other windows, such as independent instances of same program.
These guidelines suggest you should have been able to work in other applications without the "upgrade notice" remaining on top.
I hope that helps you move forward. These guidelines are actually quite interesting—to nerds like us—so do give them a look:
-
1Your answer gives information about the z-order of windows in general, but what about my question: when should windows/dialogs be marked as always-on-top? I suppose there must be some uses for this. Commented Aug 18, 2015 at 19:23
-
Hi @McBrainy. There's nothing in the guidelines that says "use always on top." My interpretation of the two guidelines I pasted in the answer is that "on top" is relative, never absolute. I haven't seen any part of the guidelines that say it's OK to put a window on top, absolutely. However, this might be useful for messages such as balloon notifications. An example: the "You're battery's running out, the computer will soon shut down" message is handled by balloons. It's helpful to have "always on top" in the Z order—and not overly disruptive because the user can dismiss such messages.– JeromeRCommented Aug 19, 2015 at 6:34
-
1So, in other words, only for messages the user can dismiss quickly, and only for urgent time-sensitive things like running out of battery or important OS-level things like a menu for force-quiting applications (where precedence over other applications is very important). I can think of other small utilities that might use this, like Grab (screen-capturing program) on Mac OSX and maybe also my example of a floating calculator, but those are special cases. Commented Aug 19, 2015 at 18:07
-
1Yes, thought I'm not sure about that floating calculator. If it's part of an application, its Z order should be linked to the parent window. It's it's a stand-alone calculator, then, no, it shouldn't always be on top. People switch tasks all the time—a FaceTime/Skype call comes in, the boss comes to ask a question, etc.– JeromeRCommented Aug 19, 2015 at 20:15
In my experience working for my company and developing user interfaces for automated machines, i've seen that the only case where such windows and dialogs are required is when critical functions are activated and the application must be blocked until such operations terminate. In all other cases always on top windows/dialogs result annoying and frustrating to users.
-
Can you give more detail? What are some examples of a "critical functions?" Commented Aug 18, 2015 at 19:15
-
Well, we build big industrial machinery which can work in different configurations. Sometimes users or technicians need to switch from one configuration to another. During this switch the ui is locked to prevent the user to damage the machine or to hurt himself– storm87Commented Aug 19, 2015 at 7:26
-
Oh, so use on non-PC machines. Interesting, although I was really wondering when a desktop application should claim precedence over other applications. Still, that's a use case that didn't occur to me. Commented Aug 19, 2015 at 18:11