Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. To MDI or not to MDI

To MDI or not to MDI

Scheduled Pinned Locked Moved The Lounge
csharpquestionasp-netvisual-studiowpf
36 Posts 18 Posters 63 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R Rama Krishna Vavilala

    That statement has been there in MSDN for almost 10 years:)

    Co-Author ASP.NET AJAX in Action

    N Offline
    N Offline
    Nemanja Trifunovic
    wrote on last edited by
    #11

    Never claimed it was new :)


    Programming Blog utf8-cpp

    1 Reply Last reply
    0
    • N Nemanja Trifunovic

      From MSDN[^] Note MDI is an application-oriented model. Many new and intermediate users find it difficult to learn to use MDI applications. Therefore, many applications are switching to a document-oriented model. Therefore, you may want to consider other models for your user interface. However, you can use MDI for applications which do not easily fit into an existing model until a more suitable model is introduced.


      Programming Blog utf8-cpp

      E Offline
      E Offline
      Eytukan
      wrote on last edited by
      #12

      Nemanja Trifunovic wrote:

      Note MDI is an application-oriented model. Many new and intermediate users find it difficult to learn to use MDI applications.

      I'm one such user. Hatem.


      The Advantage in work-from-home is that... we can blame the dog -Mark Salsbery Best wishes to Rexx[^]

      B 1 Reply Last reply
      0
      • R Rama Krishna Vavilala

        Andre Buenger wrote:

        What's wrong with MDI?

        Among the (not so convincing at least for me) arguments: 1. No Muti-Monitor support 2. New users find it difficult (I don't buy that) 3. MDI windows or Tabbed windows cannot particpiate in Flip 3D (the Vista Windows Key + Tab window switching)

        Co-Author ASP.NET AJAX in Action

        A Offline
        A Offline
        Andre xxxxxxx
        wrote on last edited by
        #13

        Rama Krishna Vavilala wrote:

        1. No Muti-Monitor support

        I agree, that is the biggest and only disadvantage. But going the MacOS/Linux way and having 60 views/windows on the desktop is much worse in my eyes than having them inside a parent window. Also Access up to version 2003 was much more practical than Access 2007. Tabbed MDI is ok, but why is there no option to restore the windows and see them side by side?

        Rama Krishna Vavilala wrote:

        3. MDI windows or Tabbed windows cannot particpiate in Flip 3D (the Vista Windows Key + Tab window switching)

        The question is, should applications participate in Flip 3D or documents or each view?

        T 1 Reply Last reply
        0
        • A Andre xxxxxxx

          Rama Krishna Vavilala wrote:

          2. Use Tabbed windows like that in VS 2005 3. Use multiple top level windows like word 2007 etc.

          Option 2 and 3 only works well if there is only 1 view per document. I am working on an app where you can open up to 60 different views of your document (=calibration of your engine control unit) as well as a dozen monitor views. There is actually no other way to manage the windows than using an plain old MDI style app. In Access 2007 you can open several views (tables) of the document (DB) in a tabbed interface, but that has the disadvantage that you can't simultaneously see mutiple views as well that you can't open multiple documents in one instance of the app. What's wrong with MDI? Just because some designers on the WPF team thought that MDI is so not cool and every app needs a back for forward button today?

          V Offline
          V Offline
          Vikram A Punathambekar
          wrote on last edited by
          #14

          Andre Buenger wrote:

          Option 2 and 3 only works well if there is only 1 view per document. I am working on an app where you can open up to 60 different views of your document (=calibration of your engine control unit) as well as a dozen monitor views. There is actually no other way to manage the windows than using an plain old MDI style app.

          Not sure why you say that - VS.NET can show design/code views of the same HTML/ASPX file in tabs.

          Cheers, विक्रम


          And sleep will come, it comes to us all And some will fade and some will fall

          A 1 Reply Last reply
          0
          • R Rama Krishna Vavilala

            Andre Buenger wrote:

            What's wrong with MDI?

            Among the (not so convincing at least for me) arguments: 1. No Muti-Monitor support 2. New users find it difficult (I don't buy that) 3. MDI windows or Tabbed windows cannot particpiate in Flip 3D (the Vista Windows Key + Tab window switching)

            Co-Author ASP.NET AJAX in Action

            M Offline
            M Offline
            Miszou
            wrote on last edited by
            #15

            Rama Krishna Vavilala wrote:

            3. MDI windows or Tabbed windows cannot particpiate in Flip 3D (the Vista Windows Key + Tab window switching)

            You can do this with Ctrl + Tab, a feature that works in IE, VS, and many other applications - except of course the Office Suite (Most notably Word), which overrides this built-in behavior in a most irritating fashion.


            Sunrise Wallpaper Project | The StartPage Randomizer | The Windows Cheerleader

            R 1 Reply Last reply
            0
            • V Vikram A Punathambekar

              Andre Buenger wrote:

              Option 2 and 3 only works well if there is only 1 view per document. I am working on an app where you can open up to 60 different views of your document (=calibration of your engine control unit) as well as a dozen monitor views. There is actually no other way to manage the windows than using an plain old MDI style app.

              Not sure why you say that - VS.NET can show design/code views of the same HTML/ASPX file in tabs.

              Cheers, विक्रम


              And sleep will come, it comes to us all And some will fade and some will fall

              A Offline
              A Offline
              Andre xxxxxxx
              wrote on last edited by
              #16

              Vikram A Punathambekar wrote:

              Not sure why you say that - VS.NET can show design/code views of the same HTML/ASPX file in tabs.

              Yes, and even a splitter window would work in that case. But not if each view shows a different part of the document. Also the tabs are ambiguous in that case because they mix documents and views. How is that less confusing than an MDI app?

              1 Reply Last reply
              0
              • M Miszou

                Rama Krishna Vavilala wrote:

                3. MDI windows or Tabbed windows cannot particpiate in Flip 3D (the Vista Windows Key + Tab window switching)

                You can do this with Ctrl + Tab, a feature that works in IE, VS, and many other applications - except of course the Office Suite (Most notably Word), which overrides this built-in behavior in a most irritating fashion.


                Sunrise Wallpaper Project | The StartPage Randomizer | The Windows Cheerleader

                R Offline
                R Offline
                Rama Krishna Vavilala
                wrote on last edited by
                #17

                Miszou wrote:

                Ctrl + Tab

                I am talking about Flip 3D[^]. You are talking about switching between windows which has been there for MDI apps forever.

                Co-Author ASP.NET AJAX in Action

                M 1 Reply Last reply
                0
                • R Rama Krishna Vavilala

                  Miszou wrote:

                  Ctrl + Tab

                  I am talking about Flip 3D[^]. You are talking about switching between windows which has been there for MDI apps forever.

                  Co-Author ASP.NET AJAX in Action

                  M Offline
                  M Offline
                  Miszou
                  wrote on last edited by
                  #18

                  I know, but really what's the difference between Flip 3D (Windows + Tab) and Task Switching (Alt + Tab)? The only real difference is that I only use Flip 3D when I'm trying to show off Vista. Otherwise I'll use Alt+Tab, like I have for the last 15 years. Ctrl-Tab and Alt-Tab have been there forever and work just fine, except in Office, which was my point.


                  Sunrise Wallpaper Project | The StartPage Randomizer | The Windows Cheerleader

                  1 Reply Last reply
                  0
                  • A Andre xxxxxxx

                    Rama Krishna Vavilala wrote:

                    1. No Muti-Monitor support

                    I agree, that is the biggest and only disadvantage. But going the MacOS/Linux way and having 60 views/windows on the desktop is much worse in my eyes than having them inside a parent window. Also Access up to version 2003 was much more practical than Access 2007. Tabbed MDI is ok, but why is there no option to restore the windows and see them side by side?

                    Rama Krishna Vavilala wrote:

                    3. MDI windows or Tabbed windows cannot particpiate in Flip 3D (the Vista Windows Key + Tab window switching)

                    The question is, should applications participate in Flip 3D or documents or each view?

                    T Offline
                    T Offline
                    Tom Deketelaere
                    wrote on last edited by
                    #19

                    Andre Buenger wrote:

                    but why is there no option to restore the windows and see them side by side?

                    there is just go to options for access then tab current db and then the 6the option (don't know the english name sorry) as to mdi or not I say mdi I still find it practical

                    If my help was helpfull let me know, if not let me know why. The only way we learn is by making mistaks.

                    1 Reply Last reply
                    0
                    • R Rama Krishna Vavilala

                      There are 3 different choices for an application that allows users to work with multiple documents: 1. Use the plain old MDI windows which many apps seem to be moving away from and new UI techs like WPF do not support. 2. Use Tabbed windows like that in VS 2005 3. Use multiple top level windows like word 2007 etc. I moved from 1 to 2. Now in the next major version I am thinking about moving to 3. However I have a feeling that 3 might not be necessarily be a progression from 2 and I personally don't like it. However, I may be a little biased. So what is your opinion?

                      Co-Author ASP.NET AJAX in Action

                      R Offline
                      R Offline
                      Ravi Bhavnani
                      wrote on last edited by
                      #20

                      Imho, (2) is flawed because it forces the user to focus on only one document. I prefer (3) because it includes the functionality of (1), yet doesn't force all document windows to be minimized when the application's main window is minimized. /ravi

                      This is your brain on Celcius Home | Music | Articles | Freeware | Trips ravib(at)ravib(dot)com

                      1 Reply Last reply
                      0
                      • R Rama Krishna Vavilala

                        There are 3 different choices for an application that allows users to work with multiple documents: 1. Use the plain old MDI windows which many apps seem to be moving away from and new UI techs like WPF do not support. 2. Use Tabbed windows like that in VS 2005 3. Use multiple top level windows like word 2007 etc. I moved from 1 to 2. Now in the next major version I am thinking about moving to 3. However I have a feeling that 3 might not be necessarily be a progression from 2 and I personally don't like it. However, I may be a little biased. So what is your opinion?

                        Co-Author ASP.NET AJAX in Action

                        L Offline
                        L Offline
                        led mike
                        wrote on last edited by
                        #21

                        Rama Krishna Vavilala wrote:

                        So what is your opinion?

                        How is this an opinion? Choosing between them is matter of considering the aspects of the project that are effected by these UI approaches right? Things like "use model" and "target audience" yes?

                        1 Reply Last reply
                        0
                        • E Eytukan

                          Nemanja Trifunovic wrote:

                          Note MDI is an application-oriented model. Many new and intermediate users find it difficult to learn to use MDI applications.

                          I'm one such user. Hatem.


                          The Advantage in work-from-home is that... we can blame the dog -Mark Salsbery Best wishes to Rexx[^]

                          B Offline
                          B Offline
                          Big Daddy Farang
                          wrote on last edited by
                          #22

                          Hi VuNic, So you hate MDI applications. But do you actually find them "difficult to learn to use?" Maybe so, and that's fine. I just can't understand that, myself. Regards, BDF

                          E 1 Reply Last reply
                          0
                          • B Big Daddy Farang

                            Hi VuNic, So you hate MDI applications. But do you actually find them "difficult to learn to use?" Maybe so, and that's fine. I just can't understand that, myself. Regards, BDF

                            E Offline
                            E Offline
                            Eytukan
                            wrote on last edited by
                            #23

                            I understand them by books, but I've never used it in any of my applications. May be it's because I dont understand them fully :^) .... Hatred is always the cause of misunderstanding :) and vice versa!


                            The Advantage in work-from-home is that... we can blame the dog -Mark Salsbery Best wishes to Rexx[^]

                            B 1 Reply Last reply
                            0
                            • E Eytukan

                              I understand them by books, but I've never used it in any of my applications. May be it's because I dont understand them fully :^) .... Hatred is always the cause of misunderstanding :) and vice versa!


                              The Advantage in work-from-home is that... we can blame the dog -Mark Salsbery Best wishes to Rexx[^]

                              B Offline
                              B Offline
                              Big Daddy Farang
                              wrote on last edited by
                              #24

                              VuNic wrote:

                              Hatred is always the cause of misunderstanding and vice versa!

                              Agree. Maybe not always but far too often. So you don't implement MDI in your applications, but do find them difficult to understand as a user? The "warning" from MSDN suggests that users of your application may find MDI difficult to learn. I wonder if that's true or MS is just saying that. Personally I like them as a user. I have implemented it once in an application and found it manageable. BDF

                              1 Reply Last reply
                              0
                              • R Rama Krishna Vavilala

                                There are 3 different choices for an application that allows users to work with multiple documents: 1. Use the plain old MDI windows which many apps seem to be moving away from and new UI techs like WPF do not support. 2. Use Tabbed windows like that in VS 2005 3. Use multiple top level windows like word 2007 etc. I moved from 1 to 2. Now in the next major version I am thinking about moving to 3. However I have a feeling that 3 might not be necessarily be a progression from 2 and I personally don't like it. However, I may be a little biased. So what is your opinion?

                                Co-Author ASP.NET AJAX in Action

                                M Offline
                                M Offline
                                Member 96
                                wrote on last edited by
                                #25

                                I have never written an application that deals with a document of any kind, always database front ends so this has always been an issue for me. The MDI interface was rammed down our throats and our end users throats for so long that it's always been tricky to make an app that people feel comfortable with that doesn't use an mdi interface. My opinion is to use an outlook like interface so none of your choices exactly.


                                Never trust machinery more complicated than a knife and fork. - Jubal Harshaw in Stranger in a Strange Land

                                1 Reply Last reply
                                0
                                • A Andre xxxxxxx

                                  Rama Krishna Vavilala wrote:

                                  2. Use Tabbed windows like that in VS 2005 3. Use multiple top level windows like word 2007 etc.

                                  Option 2 and 3 only works well if there is only 1 view per document. I am working on an app where you can open up to 60 different views of your document (=calibration of your engine control unit) as well as a dozen monitor views. There is actually no other way to manage the windows than using an plain old MDI style app. In Access 2007 you can open several views (tables) of the document (DB) in a tabbed interface, but that has the disadvantage that you can't simultaneously see mutiple views as well that you can't open multiple documents in one instance of the app. What's wrong with MDI? Just because some designers on the WPF team thought that MDI is so not cool and every app needs a back for forward button today?

                                  M Offline
                                  M Offline
                                  Member 96
                                  wrote on last edited by
                                  #26

                                  Andre Buenger wrote:

                                  What's wrong with MDI?

                                  What's wrong with it is that many if not most applications in this day and age are not dealing with a "document" in any sense of the word.


                                  Never trust machinery more complicated than a knife and fork. - Jubal Harshaw in Stranger in a Strange Land

                                  S 1 Reply Last reply
                                  0
                                  • R Rama Krishna Vavilala

                                    There are 3 different choices for an application that allows users to work with multiple documents: 1. Use the plain old MDI windows which many apps seem to be moving away from and new UI techs like WPF do not support. 2. Use Tabbed windows like that in VS 2005 3. Use multiple top level windows like word 2007 etc. I moved from 1 to 2. Now in the next major version I am thinking about moving to 3. However I have a feeling that 3 might not be necessarily be a progression from 2 and I personally don't like it. However, I may be a little biased. So what is your opinion?

                                    Co-Author ASP.NET AJAX in Action

                                    P Offline
                                    P Offline
                                    peterchen
                                    wrote on last edited by
                                    #27

                                    Of these, MDI is the only standard solution that allows the user to assemble various information to show at once, control which information and control how much of what he sees. MDI also sucks, because the user has to arrange the windows (He doesn't want to arrange, just to see). Users prefer to work with one window at a time - if they don't maximize it is often because they want them overlapping to drag them to the foreground. But if you can work with a "one view at a time, with occasional side-by-side-comparison", do so. We use MDI for displaing results from acoustic and electric measurements - each one having around 20..30 result windows (only a few ones are interesting for a specific test - but never the same) To make MDI comfortable, I had to add quite a few bits: preserving window positions (relative to the MDI client area), "magnetic edges" 8i.e. with a snap area), manual tiling to add some tweaks, swapping windows, stuff like that. Still, arranging is a concern, something you have to do. I'd love to push this more into the subconcious, but I don't think tabbed windows or cute WPF animations will help me here :D


                                    We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
                                    My first real C# project | Linkify!|FoldWithUs! | sighist

                                    1 Reply Last reply
                                    0
                                    • M Marc Clifton

                                      Rama Krishna Vavilala wrote:

                                      Use multiple top level windows like word 2007 etc.

                                      Hate 'em.

                                      Rama Krishna Vavilala wrote:

                                      Use Tabbed windows like that in VS 2005

                                      Yeah, but sometimes I want them tiled, not tabbed.

                                      Rama Krishna Vavilala wrote:

                                      and new UI techs like WPF do not support.

                                      So? Why do you need WPF? Marc

                                      Thyme In The Country
                                      Interacx
                                      My Blog

                                      D Offline
                                      D Offline
                                      Dan Neely
                                      wrote on last edited by
                                      #28

                                      Marc Clifton wrote:

                                      Yeah, but sometimes I want them tiled, not tabbed.

                                      Steal opera's UI. Tabesque control with improved MDI. You get a standard tab bar, and can unmaximize arbitrary tabs. eg You can have tab 1 maximized, and tab2 not. This lets you have popups without multiple top level dialogs or messing up layout by forcing the popup to fill a full screen tab.

                                      -- If you view money as inherently evil, I view it as my duty to assist in making you more virtuous.

                                      1 Reply Last reply
                                      0
                                      • R Rama Krishna Vavilala

                                        There are 3 different choices for an application that allows users to work with multiple documents: 1. Use the plain old MDI windows which many apps seem to be moving away from and new UI techs like WPF do not support. 2. Use Tabbed windows like that in VS 2005 3. Use multiple top level windows like word 2007 etc. I moved from 1 to 2. Now in the next major version I am thinking about moving to 3. However I have a feeling that 3 might not be necessarily be a progression from 2 and I personally don't like it. However, I may be a little biased. So what is your opinion?

                                        Co-Author ASP.NET AJAX in Action

                                        S Offline
                                        S Offline
                                        Shog9 0
                                        wrote on last edited by
                                        #29

                                        Well, i'll start by stating the obvious: each of these techniques serves a different purpose. Oh, of course they're related. At the core, you're choosing a window manager, either one under your application's control or the standard Windows window manager. But treating it as a choice among equals... or as a forked upgrade path ("classic MDI is dead, now use tabs / top level") doesn't really do justice to any of the choices. So here's my take on each of 'em: Classic MDI:
                                        Pro:

                                        • Allows sharing common parts of UI and screen space between multiple documents.
                                        • Keeps all open documents together in a single, easily-manageable "plane": frame-window ops (minimize, maximize, move, etc.) apply to all views, toolbars, etc. without any effort beyond that required to manage that single top-level window. Easy to avoid "losing" documents behind other open applications.
                                        • Natural grouping for separate-but-related documents.
                                        • Reasonably low UI overhead (space, complexity) for single-document use.
                                        • Familiar to most long-time Windows users.

                                        Con:

                                        • Sharing UI elements falls apart when dealing with documents having very different needs. The usual tactic - modifying menus, showing / hiding toolbars based on the document context of the "focus" - can become very, very confusing and awkward once there are multiple documents on-screen at once.d
                                        • Possible to "lose" documents in the clutter of internal windows.
                                        • Behavior of closing the top-level window rarely sane, usually taking the form of either a progression of "unsaved" warnings or a single, possibly-abbreviated warning.
                                        • Difficult to support multi-monitor setups when having separate documents on separate monitors might otherwise be useful.
                                        • Stunningly confusing for neophyte users. Really. Just terrible.

                                        Verdict:
                                            Still useful after all these years, but best kept for apps targeted at experienced Windows users working on multiple related documents. Best if classic load/save semantics do not apply (changes saved immediately, easy mechanism for restoring "sessions" in place). Best avoided when view complexity and target audience make multi-monitor arrangements desirable. Tabbed Windows:
                                        Pro:

                                        • Allows sharing common parts of UI and screen space
                                        R E 2 Replies Last reply
                                        0
                                        • S Shog9 0

                                          Well, i'll start by stating the obvious: each of these techniques serves a different purpose. Oh, of course they're related. At the core, you're choosing a window manager, either one under your application's control or the standard Windows window manager. But treating it as a choice among equals... or as a forked upgrade path ("classic MDI is dead, now use tabs / top level") doesn't really do justice to any of the choices. So here's my take on each of 'em: Classic MDI:
                                          Pro:

                                          • Allows sharing common parts of UI and screen space between multiple documents.
                                          • Keeps all open documents together in a single, easily-manageable "plane": frame-window ops (minimize, maximize, move, etc.) apply to all views, toolbars, etc. without any effort beyond that required to manage that single top-level window. Easy to avoid "losing" documents behind other open applications.
                                          • Natural grouping for separate-but-related documents.
                                          • Reasonably low UI overhead (space, complexity) for single-document use.
                                          • Familiar to most long-time Windows users.

                                          Con:

                                          • Sharing UI elements falls apart when dealing with documents having very different needs. The usual tactic - modifying menus, showing / hiding toolbars based on the document context of the "focus" - can become very, very confusing and awkward once there are multiple documents on-screen at once.d
                                          • Possible to "lose" documents in the clutter of internal windows.
                                          • Behavior of closing the top-level window rarely sane, usually taking the form of either a progression of "unsaved" warnings or a single, possibly-abbreviated warning.
                                          • Difficult to support multi-monitor setups when having separate documents on separate monitors might otherwise be useful.
                                          • Stunningly confusing for neophyte users. Really. Just terrible.

                                          Verdict:
                                              Still useful after all these years, but best kept for apps targeted at experienced Windows users working on multiple related documents. Best if classic load/save semantics do not apply (changes saved immediately, easy mechanism for restoring "sessions" in place). Best avoided when view complexity and target audience make multi-monitor arrangements desirable. Tabbed Windows:
                                          Pro:

                                          • Allows sharing common parts of UI and screen space
                                          R Offline
                                          R Offline
                                          Rama Krishna Vavilala
                                          wrote on last edited by
                                          #30

                                          Wow! This can go as an article! I will probably use an hybrid approach. Multi-Tab + Multi - Top Level like n browsers

                                          Co-Author ASP.NET AJAX in Action

                                          S 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups