To MDI or not to MDI
-
That statement has been there in MSDN for almost 10 years:)
Co-Author ASP.NET AJAX in Action
-
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.
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[^]
-
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
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?
-
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?
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
-
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
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
-
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
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?
-
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
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
-
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
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
-
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?
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.
-
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
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
-
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
-
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[^]
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
-
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
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[^]
-
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[^]
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
-
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
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
-
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?
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
-
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
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 -
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
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.
-
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
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
-
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
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