tags:

views:

76

answers:

2

Surely MDI not so bad?

I have an ERP-type app and I have chosen a MDI UI model. The reason for this is to enable the user to multitask. Yes, many say that a user cannot multitask, but hear me out.

My app has several modules or functional areas e.g. Admin, Pricelists, Sakes Orders, Production, Stock Shipping, etc. I chose to create a MDI parent window for the main app window with a toolbar button for each module.

So let's say the user wants to create a Sales Order. He clicks the Sales Order button on the main toolbar and the Sales Order window appears. This is a MDI child that allows the user to create and edit a sales order and perform some functions on it e.g. Post, Accept, etc. So, if you are in the middle of creating a sales order and you need to change a pricelist or add some reference data you need in the SO, you simply open that module from the toolbar without having to abandon the SO. You cannot accept the SO, because it could violate business rules.

My app is not MDI in the sense of editing more than one document of the same kind like XLS or Word. The modules each have their own MDI child window.

Comments would be appreciated.

+1  A: 

MDI is not bad. It is just pointless nowadays. SDI (Single Document interface) with nice docking manager and good tabs support is sufficient enough.

Look at your IDE for example. I am almost sure that it is SDI (like Visual Studio, Delphi, Eclipse, Net Beans, etc.)

Gad D Lord
Visual Studio 2010 is still MDI, though they do try to hide it...
mjfgates
It's multiple documents, true. But it's tabbed editing, which isn't the same as classic windows-inside-windows MDI.
Joe White
Visual Studio 2002 through 208 are actually regular old MDI with fancy tabs. In VS 2002-2008 there's a configuration option to go back to standard MDI. (I have not used 2010 so I cannot say whether that is still true.)
ARKBAN
Visual Studio is MDI, even in 2010. Here's the clue. If you close all documents, and there's still a window, then it's MDI. In SDI, if there's no document, there is no parent window. Additionally, If you see a "Window" menu, it's a good bet it's MDI under the covers.
Mystere Man
+1  A: 

There's nothing wrong with MDI if you have good reasons for doing so. However, the reasons you have expressed are not really valid reasons to choose MDI in my opinion. You can just as easily do what you want with SDI popup windows, so long as they are non-modal.

The disadvantage of MDI is that it doesn't work very well in multiple monitor situations. The advantage of MDI is that it provides lots of nice child window management features (ctrl-tab, etc..) that you would have to emulate in SDI.

I'm not saying that MDI is bad, or that it is bad for your circumstances, but simply being able to work with more than one window at a time is not a reason to choose MDI.

Mystere Man