Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-ui-dev] Blocking UI: Wizard Dialog modality

Why not just make non-modal Dialogs / Wizards 'Editors' (i.e. site them in the editor area with their own tabs...)

Eric

Inactive hide details for Doug Schaefer ---09/13/2016 03:44:59 PM---From: <platform-ui-dev-bounces@xxxxxxxxxxx<mailto:platform-Doug Schaefer ---09/13/2016 03:44:59 PM---From: <platform-ui-dev-bounces@xxxxxxxxxxx<mailto:platform-ui-dev-bounces@xxxxxxxxxxx>> on behalf of

From: Doug Schaefer <dschaefer@xxxxxxxxxxxxxx>
To: "Eclipse Platform UI component developers list." <platform-ui-dev@xxxxxxxxxxx>
Date: 09/13/2016 03:44 PM
Subject: Re: [platform-ui-dev] Blocking UI: Wizard Dialog modality
Sent by: platform-ui-dev-bounces@xxxxxxxxxxx






From: <platform-ui-dev-bounces@xxxxxxxxxxx> on behalf of Stefan Xenos <sxenos@xxxxxxxxxx>
Reply-To:
"Eclipse Platform UI component developers list." <platform-ui-dev@xxxxxxxxxxx>
Date:
Tuesday, September 13, 2016 at 2:05 PM
To:
"Eclipse Platform UI component developers list." <platform-ui-dev@xxxxxxxxxxx>
Subject:
Re: [platform-ui-dev] Blocking UI: Wizard Dialog modality
      Doug said:

      > I’ve always started with the premise, dialogs are bad, especially if they’re modal.

      I couldn't agree more. Every dialog box we remove from Eclipse makes it better.

      > Non-modal dialogs starts you down the path of having a multi-window application. At one point in history, we decided that was bad. Is that still true?
      > Or are non-modal dialogs different enough to escape that criticism.

      I'll assume that you meant "more than one window per monitor is bad" rather than the multimonitor-unfriendly variant "more than one window is bad". I wasn't included in that original discussion and am not aware of the justifications presented, but I'd assume that the problem is that the system window manager doesn't benefit from Eclipse's domain-specific knowledge or Eclipse's ability to tile and navigate views and editors, so can't do as good a job of rearranging windows as Eclipse can.

LOL, I’m showing my years of experience here I guess. I’m talking about the state of applications in the 1990’s before MFC became the accepted way of building Windows apps. There were many apps that opened a new Window on the desktop for every view, forcing the user to lay them out. GIMP was probably the last hold out of that era.

I’m just saying that if you had many non-modal dialogs open at the same time, the user would have to deal with dragging them around to see what they need. Not a great experience.

      If that's the case, I don't think dialog boxes of any form escape that criticism at all - we can safely say that all dialog boxes are bad.

      However, nonmodal dialog boxes reduce the situations in which the user needs to backtrack. They're still awful, but are are marginally better than modal dialog boxes for that reason.

      > By default and without exception, all Wizards are modal. In many cases this is good but sometimes you want to be able to peek in your workspace or preferences.

      I challenge the claim that modal wizards are good in many cases. Modality prevents you from interacting with the rest of the app, which causes backtracking every time the user needs to view or copy data from another part of the app into the dialog box. Could you please cite a source - or at least provide a plausible use-case that is improved by modality?

      I think the original poster has a point and all wizards should be made nonmodal by default. This isn't nearly as good as eliminating the wizard dialog entirely, but it's an improvement over modal wizards and we should take that step if we can.

      - Stefan

      On Tue, Sep 13, 2016 at 9:59 AM Wim Jongman <wim.jongman@xxxxxxxxx> wrote:
        On Tue, Sep 13, 2016 at 4:21 PM, Doug Schaefer <dschaefer@xxxxxxxxxxxxxx> wrote:
        I’ve always started with the premise, dialogs are bad, especially if they’re modal. Are they really so important they need to grab 100% of the users attention and not let go until it’s satisfied? Some are, yes, but not many IMHO.

        By default and without exception, all Wizards are modal. In many cases this is good but sometimes you want to be able to peek in your workspace or preferences.



        Non-modal dialogs starts you down the path of having a multi-window application. At one point in history, we decided that was bad. Is that still true? Or are non-modal dialogs different enough to escape that criticism.

        I can open many windows in Eclipse, detach parts, have help in a different window so I think that anyone thinks it is bad.


        Are there alternative approaches to dialogs, especially the complex dialog case, that we could use instead?

        The wizard as an ui paradigm is still everywhere. However, I could see that for example "new project" would just give me one form that I could fill out and apply over and over again without having to jump through all those hoops every time. For example, if I want to create org.eclipse.xxx.core and org.eclipse.xxx.ui. 90% of the input is the same. Just give me a form, I fill in the blanks, press apply, change the project name press apply again and have two projects.

        It could probably reuse the wizard pages.

        Wim



        Doug.

        From: <platform-ui-dev-bounces@xxxxxxxxxxx> on behalf of Wim Jongman <wim.jongman@xxxxxxxxx>
        Reply-To:
        "Eclipse Platform UI component developers list." <platform-ui-dev@xxxxxxxxxxx>
        Date:
        Tuesday, September 13, 2016 at 10:00 AM
        To:
        "Eclipse Platform UI component developers list." <platform-ui-dev@xxxxxxxxxxx>
        Subject:
        [platform-ui-dev] Blocking UI: Wizard Dialog modality
            Hi,

            In addition to the wizard ui blocking discussion:

            Users are often irritated by the modality of the wizard (blocking the underlying window). They are not able to navigate around for additional info whilst in the middle of a complex wizard. What I do is override the WizardDialog class to disable modality which is set in the constructor of WizardDialog. Something like:

            WizardDialog wd = new WizardDialog(composite.getShell(), myWizard){
            @Override
            protected void configureShell(Shell newShell) {
            // TODO Auto-generated method stub
            super.configureShell(newShell);
            setShellStyle(SWT.CLOSE | SWT.MAX | SWT.MIN | SWT.TITLE | SWT.BORDER | SWT.RESIZE | getDefaultOrientation());
            }
            };

            I'm not sure if there is a pressing reason for making wizards modal. It would be nice if we could control this from the outside instead of creating an anonymous class like I did above.

            Cheers,

            Wim

        _______________________________________________
        platform-ui-dev mailing list

        platform-ui-dev@xxxxxxxxxxx
        To change your delivery options, retrieve your password, or unsubscribe from this list, visit

        https://dev.eclipse.org/mailman/listinfo/platform-ui-dev
        _______________________________________________
        platform-ui-dev mailing list

        platform-ui-dev@xxxxxxxxxxx
        To change your delivery options, retrieve your password, or unsubscribe from this list, visit

        https://dev.eclipse.org/mailman/listinfo/platform-ui-dev_______________________________________________
        platform-ui-dev mailing list
        platform-ui-dev@xxxxxxxxxxx
        To change your delivery options, retrieve your password, or unsubscribe from this list, visit
        https://dev.eclipse.org/mailman/listinfo/platform-ui-dev



Back to the top