Without wanting to be a smartass: Modal dialogues aren’t just used to display the all too often badly designed confirmation messages. They are a very valid and important type of dialogue to get the undivided attention from a user for the duration of an important task. Or to create powerful interfaces for trained users.
But the comic wouldn’t be fun anymore with that information included
Modal dialogues aren’t just used to display the all too often badly designed confirmation messages. They are a very valid and important type of dialogue to get the undivided attention from a user for the duration of an important task. Or to create powerful interfaces for trained users.
I know what modal dialogs are – I’ve done quite some research into the subject for a few articles on OSNews a few months ago. I just represented the modality issue here as a modal confirmation dialog, but the same goes for modal property dialogs or modal windows in general.
They are evil, and must be eliminated from computing and graphical user interfaces. If you think you need to use a modal dialog/window, it probably means that somewhere along the way, you made an error in designing your application.
I’m not saying it’s easy (or even possible) to construct a modeless interface for your application, but it should be your goal. Always.
I’m not saying it’s easy (or even possible) to construct a modeless interface for your application, but it should be your goal. Always.
Yes. I think in most cases it is possible, it’s just more work.
But you have to be a bit careful with how you do it. Dolphin has gone a long way towards eliminating modal dialogs (error messages in a beefed up status bar), which is great for me but probably not so great for someone like my parents, who might not notice the errors at all anymore if they’re not blocking their application. I’d like to see some studies on that..
If you think you need to use a modal dialog/window, it probably means that somewhere along the way, you made an error in designing your application.
Maybe I could scare you with a “professional” application I recently saw on a “Windows” system: It was an administration tool for psychologists in healthcare, it handled accounting and similar stuff.
Let me explain what you’re using: The main window contains two tabs with buttons and a funny (childish) wallpaper. No joke! If you open ANY functionality (e. g. patient database), a modal dialog opens which blocks the main menu and even does not let you minimize the application. That’s simple – it does not have an entry in the window list (in “Windows”: entry in the window bar). And because foreground == focus and vice versa, your system is blocked because the modal dialog covers everything. If your screen is not big enough, you even need to shift it around, which is complicated when the title bar cannot be accessed anymore (only keyboard shortcuts working, Alt + space, move, cursor keys, enter). And then, for every further operation, another modal dialog, to be described as the mentioned one, is opened – still full of buttons, and tabs. Of course, keyboard integration is existing only in minimal parts.
So THAT’S what to call bad design, isn’t it? It even breaks with every kind of guideline or recommendation for “Windows” application programming.
And the software is full of spelling errors. My favourite: “intelegence testing”. But hey, it’s from Germany, so nobody will notice. ! 🙂
I did just die a little inside when I read your comment, but uhm, you might want to obscure the patient information in those shots… That’s confidential information, you know .
There are more means of warning a user than a modal dialog – that same warning dialog can simply… not be modal. If that warning message is not modal, and also gets a proper entry in the window list, I can go back to the browser window itself and press the back button or enter a different url, making the dialog disappear, or better yet, making it “obsolete” – a concept I’ll dive into in the future on OSNews.
Modality has nothing to do with properly warning a user – a dialog that pops up, telling me I’m leaving a secure connection is fine by me – as long as it does not prevent me from accessing the browser itself.
In The Humane Interface, Jef suggests a translucent overlay with the message that is dismissed if the user keeps typing, but can easily be retrieved in some way. This lets the user know that the computer wants to tell them something, but does not force them to break focus.
I recently ran into a problem on a Vista system with what I think is probably a non-modal dialog box. The problem was the dialogs failure to take the focus, it just appeared on the taskbar and wasn’t noticed for a minute or so. I only noticed it because the application was taking longer than it should to do its operation.
The dialog was actually a windows warning message that pops up that warns you when you’re going to do something major like using an app that needs elevated permissions. These dialogs are supposed to pop up and pause everything and make everything else dark to get your attention. However, several times it failed to do so when the windows tuning app called regedit. I had to click on its listing on the taskbar and never clicked on the tuning app at any time.
In summary, non-modal dialogs can be accidentally missed because of not gaining the focus all the time and that is not good if the information is important or somebody doesn’t expect there to be any warnings with an action (such as in my story above, I didn’t expect anything because it was my first experience with Vista.) And yes I noticed, after I discovered the dialog for the first time that all later appearances it blinked in the taskbar when it first appeared, but if the person wasn’t expecting it or weren’t at their computer, it would never have been noticed.
In summary, non-modal dialogs can be accidentally missed because of not gaining the focus all the time and that is not good if the information is important or somebody doesn’t expect there to be any warnings with an action
“That’s a bug, not a feature.” Vista’s UAC dialogs are semi-modal – I have no other word for it. If you are using app A, and app A needs elevated permissions, its UAC dialog will be modal. If you are using app A, but app B needs permission, its dialog is partially modal because it does not take over your desktop until you click the flashing entry in your taskbar. This prevents weird behaviour where currently unfocused applications steal focus.
In addition, these dialogs are modal not in and of itself, but more because they run in a separate, sandboxed desktop, a restricted space where the dialog itself has little to no access to any hard or software – so that other applications cannot influence (maliciously) the UAC dialog.
It is the application that needs elevated permissions – not the entire desktop or operating system – and as such, there is no logical need for a system-wide modal dialog. I’d prefer even semi-modality to be discarded of, but that’s just me.
Thanks for the explanation of UAC, as I’ve never used Vista before, I didn’t fully understand. However the point of important non-modal dialogs getting accidentally missed is still appropriate although my example wasn’t the most accurate.
Agreed. I think there is definitely a place for modal dialogues. Occasionally an issue occurs which, until it is resolved, it is not appropriate for the user to continue.
The “You have unsaved changes” dialogue is a classic example, and one that has become totally ingrained into my workflow.
I only noticed this when Vista changed the traditional “Yes”-“No”-“Cancel” dialogue with *NIX-like “Save”-“Don’t Save”-“Cancel”, and I discovered that my usual trick of pressing ‘Y’ for Yes no longer worked.
I know why they’ve done it. The new dialogue makes it more likely that a user will be aware of what they are doing when they click “Don’t Save”, still annoying though. But I digress.
Anyhow, point is, when something drastic happens and I could lose data. I want that message to be modal.
I didn’t want to imply that you don’t know your way around usability terms. I just wanted to point out (as some others have done since my comment), that modal dialogs are a valid tool for designing user interfaces. It’s just the use case that matters, your target audience.
When you design an application, let’s say a word processor, targeted at the untrained or average user. He/She wants to close an unsaved document – a modal dialog is the best way to prevent data loss AND make the user aware of it. The alternatives, like displaying a message “You are discarding data, repeat your action to confirm”, can be overlooked or ignored.
The other case, an application clearly intended for a high productivity, highly trained user base – they shouldn’t see any modal dialoges, thats for sure. They’d interrupt their work, get on their nerves and wouldn’t prevent anything bad because these users *know* what they are doing.
It’s virtually impossible to create a GUI that fits both, the highly trained AND the novice user. Either some of the user base has to adjust or the UI should be configurable – novice/export mode, show warnings yes/no, whatever.
The Apple Mac GUI (no flame wars, please) is a better example of this. You seldom see unnecessary modal dialogs to just confirm operations. But when you’re about to really destroy something or abort/start something important, then there’s the dialog warning you about it. IMHO that’s the right way, use the modal dialog for the really important stuff and for the rest, find alternatives. Undo, for example. Check Google Mail: “You delete the message xyz. Undo”.
Usability is not black or white. Heck, it’s not just a, b, c or d. It’s about compromises, your user base(es) / target audience and the environment your software runs in. And probably many more things.
Modal dialogues aren’t just used to display the all too often badly designed confirmation messages. They are a very valid and important type of dialogue to get the undivided attention from a user for the duration of an important task. Or to create powerful interfaces for trained users.
I know what modal dialogs are – I’ve done quite some research into the subject for a few articles on OSNews a few months ago. I just represented the modality issue here as a modal confirmation dialog, but the same goes for modal property dialogs or modal windows in general.
They are evil, and must be eliminated from computing and graphical user interfaces. If you think you need to use a modal dialog/window, it probably means that somewhere along the way, you made an error in designing your application.
I’m not saying it’s easy (or even possible) to construct a modeless interface for your application, but it should be your goal. Always.
Sorry Thom, but have done any HCI studies at a real university? Modal dialoges do have their place if used properly.
Even the current Osnews page has so much worse usability than v3 that if I was you, I’d think twice before claiming to be some sort of usability expert.
Here are some of the usability problems of the current site just to name a few.
1. The icons are on the right side of the topics on main page. English is read from left to right and having the icons appear before the text makes it possible to identify the subject before reading the title. Now they are just gimmicks without any clear use.
2. The v3 used colours to distinguish content from navigation and other stuff. The news items were on white background whereas pretty much everything else was on grey background. Currently half of news items is on white and half on grey for no apparent reasons and the white ones blend with the sidebar navigation.
Just to name a few.
Edit: Forgot to mention that the v3 was once mentioned as a good example of using colours in one HCI course I took part.
Even the current Osnews page has so much worse usability than v3 that if I was you, I’d think twice before claiming to be some sort of usability expert.
Where did I make such a claim? .
The icons are on the right side of the topics on main page. English is read from left to right and having the icons appear before the text makes it possible to identify the subject before reading the title. Now they are just gimmicks without any clear use.
Moving the icons to the right was a fully conscious decision. We wanted the text of each newsitem (title/dateline/teaser) to left-align, since – as you point out – that’s how we do in the western world. If you find the icon of a newspost more important than its actual content (which you imply by wanting the icon prominently on the left) that’s just a different prioritisation, and it has little to do with what is actually better from a usability point of view.
The v3 used colours to distinguish content from navigation and other stuff. The news items were on white background whereas pretty much everything else was on grey background. Currently half of news items is on white and half on grey for no apparent reasons and the white ones blend with the sidebar navigation.
This is a decision based on user feedback. We used to separate the two with a line, but users didn’t like it, and as such, we decided to remove it.
“Usability” is not just book knowledge and glorifying the past – it’s also common sense and, more importantly, listening to user feedback. Common sense told us we needed to divide the two items with a line or with whatever other fashion, but our users told us not to.
Forgot to mention that the v3 was once mentioned as a good example of using colours in one HCI course I took part.
“Usability” is not just book knowledge and glorifying the past – it’s also common sense and, more importantly, listening to user feedback.
I may take this chance to add something. I know it’s off topic but it finally does fit here, too. I don’t have problems with the arrangement or the colors in v4. My “complains” are of a more fundamental nature. Whenever somebody uses quotation marks, these are transformed into -amp-quot-semicolon- entities, and afer some quotation, they develop into strange symbols (question marks and inverted logs, representing some nonstandard character. Wouldn’t it be easier to let the “normal” quotation marks unchanged in the same way v3 did? If you insist on typographical quotation marks, just emulate them ,,with commas and apostrophes” or use «these ones». 🙂
And automatic text wrapping seems to destroy hyperlinks…
I may add that finally v4 works for me, and I do like the new design and changes in functionality.
Just because modal dialogs are badly used doesn’t mean they aren’t useful in some situations, particularly when the user is about to do something destructive. There are times when you want to be certain that the user has been notified i.e. closing a window with unsaved information, overwriting a file, closing multiple windows in an application, and a modal dialog is the simplest, most direct way to do that.
Yes you could use a non-modal dialog, but those can get lost in the clutter if you have many windows open. You could design another system to replace modals with pop-ups/overlays/warning badges/sounds or even go so far as to make every window close undo-able, but that seems more like you’re jumping through hoops just so you can say you don’t use modals. A good designer/programmer knows when to use the tools at hand.
That doesn’t need to be modal. The “are you absolutely sure you want to format your hard drive” dialog does not mean that it has to prevent other interaction with the program. (Just because it’s a confirmation dialog doesn’t mean it’s modal.)
Programmers believe in God? I thought they were the sensible ones.
The two are not mutually exclusive.
Sorry but if you opened your eyes, you’d notice that there is no mechanisms in nature which a supernatural deity could use to control environment.
Without wanting to be a smartass: Modal dialogues aren’t just used to display the all too often badly designed confirmation messages. They are a very valid and important type of dialogue to get the undivided attention from a user for the duration of an important task. Or to create powerful interfaces for trained users.
But the comic wouldn’t be fun anymore with that information included
I know what modal dialogs are – I’ve done quite some research into the subject for a few articles on OSNews a few months ago. I just represented the modality issue here as a modal confirmation dialog, but the same goes for modal property dialogs or modal windows in general.
They are evil, and must be eliminated from computing and graphical user interfaces. If you think you need to use a modal dialog/window, it probably means that somewhere along the way, you made an error in designing your application.
I’m not saying it’s easy (or even possible) to construct a modeless interface for your application, but it should be your goal. Always.
Yes. I think in most cases it is possible, it’s just more work.
But you have to be a bit careful with how you do it. Dolphin has gone a long way towards eliminating modal dialogs (error messages in a beefed up status bar), which is great for me but probably not so great for someone like my parents, who might not notice the errors at all anymore if they’re not blocking their application. I’d like to see some studies on that..
Maybe I could scare you with a “professional” application I recently saw on a “Windows” system: It was an administration tool for psychologists in healthcare, it handled accounting and similar stuff.
Let me explain what you’re using: The main window contains two tabs with buttons and a funny (childish) wallpaper. No joke! If you open ANY functionality (e. g. patient database), a modal dialog opens which blocks the main menu and even does not let you minimize the application. That’s simple – it does not have an entry in the window list (in “Windows”: entry in the window bar). And because foreground == focus and vice versa, your system is blocked because the modal dialog covers everything. If your screen is not big enough, you even need to shift it around, which is complicated when the title bar cannot be accessed anymore (only keyboard shortcuts working, Alt + space, move, cursor keys, enter). And then, for every further operation, another modal dialog, to be described as the mentioned one, is opened – still full of buttons, and tabs. Of course, keyboard integration is existing only in minimal parts.
So THAT’S what to call bad design, isn’t it? It even breaks with every kind of guideline or recommendation for “Windows” application programming.
And the software is full of spelling errors. My favourite: “intelegence testing”. But hey, it’s from Germany, so nobody will notice. ! 🙂
If you want to have a look at it:
http://www.hasomed.de/uploads/pics/elefant1_gr.jpg
http://www.hasomed.de/uploads/pics/elefant2_gr.jpg
http://www.hasomed.de/uploads/pics/elefant3_gr.jpg
Bah!
I did just die a little inside when I read your comment, but uhm, you might want to obscure the patient information in those shots… That’s confidential information, you know .
Maybe modal dialogs are redundant on many occasions,
but I believe they have their use cases.
For example, how would you issue a warning about
leaving a secure connection, on a web browser?
Sometimes, it is intentional to annoy the user,
or otherwise you might be making too many choices
for him.
There are more means of warning a user than a modal dialog – that same warning dialog can simply… not be modal. If that warning message is not modal, and also gets a proper entry in the window list, I can go back to the browser window itself and press the back button or enter a different url, making the dialog disappear, or better yet, making it “obsolete” – a concept I’ll dive into in the future on OSNews.
Modality has nothing to do with properly warning a user – a dialog that pops up, telling me I’m leaving a secure connection is fine by me – as long as it does not prevent me from accessing the browser itself.
In The Humane Interface, Jef suggests a translucent overlay with the message that is dismissed if the user keeps typing, but can easily be retrieved in some way. This lets the user know that the computer wants to tell them something, but does not force them to break focus.
I recently ran into a problem on a Vista system with what I think is probably a non-modal dialog box. The problem was the dialogs failure to take the focus, it just appeared on the taskbar and wasn’t noticed for a minute or so. I only noticed it because the application was taking longer than it should to do its operation.
The dialog was actually a windows warning message that pops up that warns you when you’re going to do something major like using an app that needs elevated permissions. These dialogs are supposed to pop up and pause everything and make everything else dark to get your attention. However, several times it failed to do so when the windows tuning app called regedit. I had to click on its listing on the taskbar and never clicked on the tuning app at any time.
In summary, non-modal dialogs can be accidentally missed because of not gaining the focus all the time and that is not good if the information is important or somebody doesn’t expect there to be any warnings with an action (such as in my story above, I didn’t expect anything because it was my first experience with Vista.) And yes I noticed, after I discovered the dialog for the first time that all later appearances it blinked in the taskbar when it first appeared, but if the person wasn’t expecting it or weren’t at their computer, it would never have been noticed.
Edited 2008-02-09 19:49 UTC
“That’s a bug, not a feature.” Vista’s UAC dialogs are semi-modal – I have no other word for it. If you are using app A, and app A needs elevated permissions, its UAC dialog will be modal. If you are using app A, but app B needs permission, its dialog is partially modal because it does not take over your desktop until you click the flashing entry in your taskbar. This prevents weird behaviour where currently unfocused applications steal focus.
In addition, these dialogs are modal not in and of itself, but more because they run in a separate, sandboxed desktop, a restricted space where the dialog itself has little to no access to any hard or software – so that other applications cannot influence (maliciously) the UAC dialog.
It is the application that needs elevated permissions – not the entire desktop or operating system – and as such, there is no logical need for a system-wide modal dialog. I’d prefer even semi-modality to be discarded of, but that’s just me.
Thanks for the explanation of UAC, as I’ve never used Vista before, I didn’t fully understand. However the point of important non-modal dialogs getting accidentally missed is still appropriate although my example wasn’t the most accurate.
Agreed. I think there is definitely a place for modal dialogues. Occasionally an issue occurs which, until it is resolved, it is not appropriate for the user to continue.
The “You have unsaved changes” dialogue is a classic example, and one that has become totally ingrained into my workflow.
I only noticed this when Vista changed the traditional “Yes”-“No”-“Cancel” dialogue with *NIX-like “Save”-“Don’t Save”-“Cancel”, and I discovered that my usual trick of pressing ‘Y’ for Yes no longer worked.
I know why they’ve done it. The new dialogue makes it more likely that a user will be aware of what they are doing when they click “Don’t Save”, still annoying though. But I digress.
Anyhow, point is, when something drastic happens and I could lose data. I want that message to be modal.
Edited 2008-02-11 01:47 UTC
Remember the words focus shift?
Not really working is it?
May I suggest you make your comics more abstract so that they don’t warrant serious replies.
If you left the mac specific out of this for example you couldn’t possibly debate it seriously.
http://www.geekculture.com/joyoftech/index.html
I didn’t want to imply that you don’t know your way around usability terms. I just wanted to point out (as some others have done since my comment), that modal dialogs are a valid tool for designing user interfaces. It’s just the use case that matters, your target audience.
When you design an application, let’s say a word processor, targeted at the untrained or average user. He/She wants to close an unsaved document – a modal dialog is the best way to prevent data loss AND make the user aware of it. The alternatives, like displaying a message “You are discarding data, repeat your action to confirm”, can be overlooked or ignored.
The other case, an application clearly intended for a high productivity, highly trained user base – they shouldn’t see any modal dialoges, thats for sure. They’d interrupt their work, get on their nerves and wouldn’t prevent anything bad because these users *know* what they are doing.
It’s virtually impossible to create a GUI that fits both, the highly trained AND the novice user. Either some of the user base has to adjust or the UI should be configurable – novice/export mode, show warnings yes/no, whatever.
The Apple Mac GUI (no flame wars, please) is a better example of this. You seldom see unnecessary modal dialogs to just confirm operations. But when you’re about to really destroy something or abort/start something important, then there’s the dialog warning you about it. IMHO that’s the right way, use the modal dialog for the really important stuff and for the rest, find alternatives. Undo, for example. Check Google Mail: “You delete the message xyz. Undo”.
Usability is not black or white. Heck, it’s not just a, b, c or d. It’s about compromises, your user base(es) / target audience and the environment your software runs in. And probably many more things.
Sorry Thom, but have done any HCI studies at a real university? Modal dialoges do have their place if used properly.
Even the current Osnews page has so much worse usability than v3 that if I was you, I’d think twice before claiming to be some sort of usability expert.
Here are some of the usability problems of the current site just to name a few.
1. The icons are on the right side of the topics on main page. English is read from left to right and having the icons appear before the text makes it possible to identify the subject before reading the title. Now they are just gimmicks without any clear use.
2. The v3 used colours to distinguish content from navigation and other stuff. The news items were on white background whereas pretty much everything else was on grey background. Currently half of news items is on white and half on grey for no apparent reasons and the white ones blend with the sidebar navigation.
Just to name a few.
Edit: Forgot to mention that the v3 was once mentioned as a good example of using colours in one HCI course I took part.
Edited 2008-02-10 12:47 UTC
Where did I make such a claim? .
Moving the icons to the right was a fully conscious decision. We wanted the text of each newsitem (title/dateline/teaser) to left-align, since – as you point out – that’s how we do in the western world. If you find the icon of a newspost more important than its actual content (which you imply by wanting the icon prominently on the left) that’s just a different prioritisation, and it has little to do with what is actually better from a usability point of view.
This is a decision based on user feedback. We used to separate the two with a line, but users didn’t like it, and as such, we decided to remove it.
“Usability” is not just book knowledge and glorifying the past – it’s also common sense and, more importantly, listening to user feedback. Common sense told us we needed to divide the two items with a line or with whatever other fashion, but our users told us not to.
Did it look at the bad parts of v3 too?
I may take this chance to add something. I know it’s off topic but it finally does fit here, too. I don’t have problems with the arrangement or the colors in v4. My “complains” are of a more fundamental nature. Whenever somebody uses quotation marks, these are transformed into -amp-quot-semicolon- entities, and afer some quotation, they develop into strange symbols (question marks and inverted logs, representing some nonstandard character. Wouldn’t it be easier to let the “normal” quotation marks unchanged in the same way v3 did? If you insist on typographical quotation marks, just emulate them ,,with commas and apostrophes” or use «these ones». 🙂
And automatic text wrapping seems to destroy hyperlinks…
I may add that finally v4 works for me, and I do like the new design and changes in functionality.
Just because modal dialogs are badly used doesn’t mean they aren’t useful in some situations, particularly when the user is about to do something destructive. There are times when you want to be certain that the user has been notified i.e. closing a window with unsaved information, overwriting a file, closing multiple windows in an application, and a modal dialog is the simplest, most direct way to do that.
Yes you could use a non-modal dialog, but those can get lost in the clutter if you have many windows open. You could design another system to replace modals with pop-ups/overlays/warning badges/sounds or even go so far as to make every window close undo-able, but that seems more like you’re jumping through hoops just so you can say you don’t use modals. A good designer/programmer knows when to use the tools at hand.
Then there’s something destructive, don’t show modal. Instead, provide and Undo function to revert the destructive operation.
Like formatting the hard drive right? Oh wait…
That doesn’t need to be modal. The “are you absolutely sure you want to format your hard drive” dialog does not mean that it has to prevent other interaction with the program. (Just because it’s a confirmation dialog doesn’t mean it’s modal.)
Now that’s funny. Congrats!
“Do you want to not save your document”
Yes? No? I dunno!
I don’t think the dialog being modal is the main problem here…
I don’t like coffee anyway.
every time you create a modal dialog…
one cup of coffee >> /dev/null