To MDI or not to MDI
-
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
-
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
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
-
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
'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?
-
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
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?
-
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
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?
-
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?
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
-
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'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