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

    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
                      • R Rama Krishna Vavilala

                        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 Offline
                        S Offline
                        Shog9 0
                        wrote on last edited by
                        #31

                        Rama Krishna Vavilala wrote:

                        This can go as an article!

                        Heh, well, it is a bit of an interesting discussion. Frankly, i get sick of the whole "MDI sucks / MDI was good enough ten years ago and hasn't stopped being good enough". There's too much acceptance, i think, of whatever MS is doing in Office as somehow the best possible design for an app (regardless of what the app does or whether it's anything at all like any part of Office). Frankly, MS has a lot of conflicting requirements, both for Windows and for their apps, and while they might be forgiven for some of the idiocy (used Access lately? Just sad.) because of this, i don't think we can so easily brush off the truth behind it all: Specialized MDI window managers - and both #1 and #2 fall into that category - are only necessary because MS punted. Window management in Windows prior to Win95 worked more or less the same for MDI apps and the system as a whole - the desktop had windows on it and you could move, tile, cascade, and minimize them to icons; MDI apps were essentially an app-specific desktop within the desktop. The Windows API provides support for implementing this; it's not great, but nothing was. Including the user experience: icons hidden behind windows are good enough, if you're really only using one app at a time and keeping anything else minimized... but Win95/NT were intended for a bit more, and even at best the mimize - hunt for icon - restore process was awkward, and Alt+Tab / TaskMan weren't a lot better. So, in Win95, the desktop switched from "classic MDI" to tabbed MDI. Yup, #2. Sure, they look like buttons, but they work like tabs - especially if you keep most of your windows maximized. Alt+tab saw some improvements too. And MDI apps... didn't. They were pretty much stuck in Win3.1-land, 'till MS finally woke up and started improving their own apps. By the time VS2008 hit the scene, MS had a really solid implementation of tabbed MDI - a slick Ctrl+Tab feature mimicking and even surpassing Alt+Tab, complete with previews and mouse-selection. A combination of tabs and docked panes provides a fantastic union of the benefits of tabbed and classic MDI - in fact, i would almost be happy if this window manager was brought out to the desktop itself. Office however, has not been so lucky. I've not yet used 2007, but as of 2003 we've seen some terrible things. Starting with Office 2000, the option to use multiple top-level windows was introduced. This shou

                        1 Reply Last reply
                        0
                        • M Member 96

                          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 Offline
                          S Offline
                          Shog9 0
                          wrote on last edited by
                          #32

                          '5' I just can't get the thought of Access out of my head. An abomination, a software vivisectionists wet-dream if such a thing can be imagined. :shudder:

                          every night, i kneel at the foot of my bed and thank the Great Overseeing Politicians for protecting my freedoms by reducing their number, as if they were deer in a state park. -- Chris Losinger, Online Poker Players?

                          1 Reply Last reply
                          0
                          • V Vikram A Punathambekar

                            Word (2000, at any rate) allows you to switch between 1 and 3. VS allows you to switch between 1 and 2. Shouldn't be too difficult to allow all three. Most importantly, the default selection in the new version should be the same as in the previous version (I think this would be 2 in your case).

                            Cheers, विक्रम


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

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

                            Vikram A Punathambekar wrote:

                            Word (2000, at any rate) allows you to switch between 1 and 3.

                            And both are broken. Probably because of the requirement that users be able to switch. Notepad has a better MDI experience than Word 2000/2003... and notepad is SDI.

                            every night, i kneel at the foot of my bed and thank the Great Overseeing Politicians for protecting my freedoms by reducing their number, as if they were deer in a state park. -- Chris Losinger, Online Poker Players?

                            V 1 Reply 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
                              E Offline
                              E Offline
                              Erik Funkenbusch
                              wrote on last edited by
                              #34

                              I kind of like the new Photoshop interface (at least I think it's new) in CS3. You can grab an MDI window and drag it off the screen and it will create a new multiple top level window. This makes it easier to use both MDI and multiple monitors. On the other hand, i've been going to larger and larger monitors, and I really like having the ability to have multiple windows of a good size open simultaneously. There's this cool utility called VDM (terrible name, and still in beta, but very cool) that allows you to define Miximization regions in a monitor so you can "maximize" a window and have it grow to one quadrant of your screen. http://www.ishadow.com/?tabid=115[^] On the other hand, I absolutely despise implementations like Borland Delphi where you have all kinds of main and control windows all over the place with no real easy way to switch between them. VB used to be this way too, and I hated it.

                              -- Where are we going? And why am I in this handbasket?

                              1 Reply Last reply
                              0
                              • S Shog9 0

                                Vikram A Punathambekar wrote:

                                Word (2000, at any rate) allows you to switch between 1 and 3.

                                And both are broken. Probably because of the requirement that users be able to switch. Notepad has a better MDI experience than Word 2000/2003... and notepad is SDI.

                                every night, i kneel at the foot of my bed and thank the Great Overseeing Politicians for protecting my freedoms by reducing their number, as if they were deer in a state park. -- Chris Losinger, Online Poker Players?

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

                                First your sig was overflowing outside the DIV, into the page. Now it's getting hidden. :doh: You are weird, Josh. ;)

                                Cheers, विक्रम


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

                                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

                                  A Offline
                                  A Offline
                                  Arjan Keene
                                  wrote on last edited by
                                  #36

                                  I'm creating a document-centric app in which I combine the options 1 and 2. Tabbed is the default, and tiling and cascading is toolbar-selectable with a single click. Moreover, it will provide the means to select several of the multiple active docs and tile/cascade this selection. I'm not very fond of option 3, but that should be mixed in as a setting of choice. Thus, not or/or but and/and with users being able to select and/or at will. Reading this sentence back, not trivial to provide a non-confusing interaction. :confused: On the WPF count, I'd say WTF. The WPF team has also banned the beloved property grid, amongt many other controls. I do not believe WPF to be a progression on any count, at least not for the scope of business-tier-apps. Regards, Arjan Keene

                                  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