Fog Creek Software
Discussion Board

The demise of the MDI interface?

In all the years that windows has been out, since about 3.1…the midi interface has generally been the standard.

MDI = Multiple Document Interface.

Then,  after the Millennium…products like office begin to dump the midi.

As a rule, you can still configure office to run as mdi (for example, in word, you can go tools->options->view tab, and un-check windows in task bar (but this is NOT the default)

I have always kind of liked the MDI interface. but we seem to be going away from this.

It has always seemed like a good idea to group child windows with their parent application.

It is really easier to use windows when child windows are not grouped by application? Is the trend away from MDI due to windows users being more educated?, or perhaps window users being more dumb?

As developers…do you like MIDI..and do you design with MIDI in mind?

Any studies on GUI’s that hint that I should continue to design with mdi in mind? (it seems everyone is now breaking the rules of MDI).

Albert D. Kallal
Edmonton, Alberta Canada

Albert D. Kallal
Wednesday, June 2, 2004

"MIDI" is an electronic musical instrument spec (Musical Instrument Digital Interface, I would guess). I wrote a MIDI Sequencer application for the Sinclair Spectrum in the 1980's.

I like MDI apps, but I believe that the worry is that User are "dumb" so they lose documents that are obscured by other windows and try to open them again, or in the worse case, assume they've been lost and start typing them again. I guess that was the motivation (one of many) for the Task bar and Start button from Win95 onwards.

Interestingly, MS didn't eat their own dogfood with Office. They faked the MDI interface using their own custom code in the apps, rather than using the MDI built into windows.

Steve Jones (UK)
Wednesday, June 2, 2004

I don't like MDI -- managing the windows is a pain and you can never use your full screen real estate.  The way the MDI windows get docked at the bottom is terrible.

I like the VS.NET way better -- except that it is a royal pain to try to move windows where you want them.  I think they are fixing that in the next version of VS.NET.

The crappy part is that Microsoft doesn't release its controls so most people would have to undergo tremendous effort in order to have this new window system.

Wednesday, June 2, 2004

I really dislike MDI. Why constrain your documents to a box just beause they happen to share some editor code? If I am working on project A it might involve 2 word documents, an Excel workbook, a Powerpoint file, a Visio drawing and a VS.NET instance. At the same time I can have 3 Word file open for project B.
Why on earth woud I want the project B files bunched up with the project A files, just because they happen to be Word files?
I fail to see why releting items based on application is meaningful in a domain sense more than any other criterium.

Just me (Sir to you)
Wednesday, June 2, 2004

I think a "tabbed windows" interface (like Mozilla's tabbed browsing) gets you the main advantage of MDI (i.e. not having a zillion tiny windows for related documents) without the drawback of clumsy window management. Consider it user-interface evolution in progress...

Dan Maas
Wednesday, June 2, 2004

Trouble with MDI is that you cannot have a document open on each screen in a multi monitor setup. Also in XP the "group similar taskbar buttons" setting keeps all the document of the same application together for you.

Matthew Lock
Wednesday, June 2, 2004

Something like Word seems to have only a single child window (the document), which makes it easy to understand. I remember someone having trouble learning the 3 different panes that you find in Outlook Express.

Or are you talking about, for example, if I'm editing several documents, then is this presented as several documents in several MDI children of one Word application, or as several word applications each with one SDI?

The task bar is something else that's too difficult for some people people to learn (it's an O/S feature, not an application feature).

Personally my first introduction to MDI was the pre-Win95 FileManager in Windows 3.1 and NT 3.5: I prefered it to the later Explorer, because with two tiled MDI children it was easy to drag-and-drop files from one window (one folder) to another without scrolling.

However, a usability problem with that (apart from the fact that "many" may be more complicated than "one") is that MDI child windows could be stacked, and hidden one behind another. Splitter bars (all child windows on one plane, more two-dimensional than three, for example as in Outlook Express) seems better than File Manager with optional tiling in that regard.

The UI we're writing now is MDI: different forms for different types of data (but not different forms for different instances of data), and we're borrowing from VS.NET the idea of forms like the "project window" (i.e. forms which dock on one side, which can auto-hide or which you can pin).

Christopher Wells
Wednesday, June 2, 2004

there never was mdi on the macintosh and i prefer that. sdi (single document interface) let's you focus on your documents and not on the software.

Wednesday, June 2, 2004

There's a difference between the Mac's SDI (take over the whole damn screen including the menu bar), and Windows.

Different to the degree that I always feel like I'm running without a parachute.

Simon Lucy
Wednesday, June 2, 2004

I think its true that there is an evolution, from SDI to MDI to VS.NET (via VB's 20 floating windows - yuk).

Clearly, some application types are best suited to particular designs, although MDI does seem to be going out of fashion now.

I still like MDI for Office documents, but love the latest VS.NET IDE, where you can arrange all the windows just as you like them.

Steve Jones (UK)
Wednesday, June 2, 2004

BTW, my understanding is that MS moved away from MDI because of the volume of support calls they got caused by MDI (losing windows, closing Word instead of closing a single document, etc)


Wednesday, June 2, 2004

I used to like MDI but since I tried creating a complex app using it I've gone way off it. Why? Because you can only have a single modal dialog (or chain of modal dialogs).

Take SQL Server Enterprise Manager (an MDI app). When you go to edit a table design it comes up in a modal. Now I need to go and look at the detail of another table. Too bad. You've got to close the modal one first. This is a royal PITA.

And Enterprise Manager is such a classic example of why you'd want to use MDI.

It suits apps which either have no modal requirements or only have application-wide modal requirements. And actually there are not a great deal of apps where you want to keep everything together (suggesting mdi) that only have application-wide modal requirements. The model basically stinks.

I went through a lot of pain late last year and earlier this year trying to make a multiple modal window framework but it cannot satisfactorily be done, because of the way Windows natively works. Because a modal effectively pauses in the middle of a function to create a multi-modal framework you have to start heavily multi-threading the presentation layer and this is really quite yucky. I did a lot of prototyping and in the end I realised that trying to do it is just trying to go against how Windows is architected and it's just not worth it. You either have to put up with the original Windows design or bodge your own. Either way it's a choice between 2 flavours of shit.

So in the end I gave up and designed the app in a non-MDI fashion. Going with the flow.

Wednesday, June 2, 2004

>>When you go to edit a table design it comes up in a modal...

In my version of Enterprise Manager, the table editor comes up as a child window.

The table properties dialog comes up as a modal dialog, but you can't do anything in that dialog anyway except for look at the table meta-data and modify permissions.

Anyway, I prefer MDI apps. I think that VS.Net and Mozilla are good examples because they let you have the best of both worlds:  Another instance of the program open (You can have a single instance per document if you want) and you can still group windows inside each instance without cluttering up the taskbar and the Alt-Tab task switcher.

Wednesday, June 2, 2004

It took a geek bulletin board to remind me of this; I never really noticed. ;-)

Yes, MDI is so "1992". I recall helping a user in my office building who "lost" one of his MDI based Word sessions. He was quite aggravated and couldn't really grasp that the windows nested inside a larger window. Actually got hostile with me when I tried to show him that MAYBE he was lacking some knowledge...

Pre-Windows 95, there was simply no good, obvious place to put minimized applications (no task bar), so MDI was a kluge to make applications self contained. Making the sessions explicit on the Windows task is probably much easier for users to understand. I think a "problem" with MDI is the idea of multiple sessions within an application. It's an abstraction.

My engineer's soul likes things like MDI. Most people have no clue.

Bored Bystander
Wednesday, June 2, 2004

You're right wayne. Just checked. Editing the indexes is the main one that always gets my goat. But there are many other occasions too

Wednesday, June 2, 2004

I always seemed to have some problem with Excel (and oddly only excel) where I would only mean to close one document,  but ended up closing them all.  And when it said "Do you want to save the changes in 'Sheet1'" I always assumed it was talking about the scratch workbook I meant to close, and not the timesheet I had open in the background that I'd spent the last 30 minutes putting together.  So I'm not friends with MDI.  But if there are tabs, I think MDI is fine. 

You also kinda need MDI if you are looking at a bunch of different views of the same thing.  I hate the interfaces(popular at one time on macs) where you have toolbars docked all over the desktop.

Keith Wright
Wednesday, June 2, 2004

I often have two or three Word document open at the same time.and cut and paste from one to the other.  There are very few times I would want two Word documents open simultaneously and not be able to display them side by side.

Now with a web browser I prefer the tabbed interface but that is because most of the time I am just reading. Moreover I nornally open a site at the hmepage, and then click on a dozen links so they load in the background.

Stephen Jones
Wednesday, June 2, 2004

My understanding is that MS moved away from MDI because it did not fit the users' mental model of how things should work.  Remember that an interface that agrees with a user's mental model is automatically going to be more usable.  People associate documents with windows.  They don't understand why the two documents they open are together in the same window even thought hey are unrelated.  The fact that both are opened using Word is irrelevant.

Besides that, I think there has always been some disagreement as to whether MDI was actually better in any significant way.  Now with the taskbar grouping, it is less important to reduce the number of windows (which seemed to be the main benefit of MDI), allowing MS to get rid of the interface confusion that has plagued these products.

Wednesday, June 2, 2004

Albert, I think your swayed by all the Access dev you do.

Personally I don't like an app to open windows to hell and back.  Maybe it's time for this to die.  Users don't seem to grasp it either.

Wednesday, June 2, 2004


I love MDI interfaces. I especially like the MDI of TextPad, which not only provides window-arranging features (maximize, cascade, tile, etc.) but it also provides a document selector (a listbox with a list of all open documents).

I like using ALT-TAB to switch between applications and CONTROL-TAB to switch between documents within the same application.

I HATE the taskbar grouping features of WinXP. Now, the individual documents are obscured, and the only way I can get to them is with an extra mouse click. Either that, or I have to ALT-TAB through all of my windows. Even if I only have one Word document open, I have to ALT-TAB through all twenty IE windows. I think it's an unnecessary pain in the ass.

Benji Smith
Wednesday, June 2, 2004

As a card carrying member of the anti-window-proliferation league, I can't stand MDIs.

Oh wait...I love tabbed browsing.

fool for python
Wednesday, June 2, 2004

Man…good comments here!

Yes, the user “mental” model I think is likely one big winning answer here!

You got two word documents open..why should they be locked up in a single window cage? This is certainly is a source of confusing for the end user.

I asked this question, since we did for about 10 years have this interface..but as a whole we are moving away from it.

The other observation about the fact that we “now” have a task bar is also a real big issue (for two reasons..users learned to use the task bar..and also we did NOT have one before both arguments weigh heavy as to not needing MDI anymore).

I think the real answer here is it depends!

In other words, for user document type stuff like word, or Excel…MDI makes little sense. However, for some IDE’s, and applications where in fact the windows DO belong to together then of course MDI makes sense. It is just as bad to have to go hunting for child windows in a IDE as it is bad to tie a bunch of word documents into one window.

The other great point made here was concerning model forms. Of course, with model forms, you desire the user to either close the form to return where one came from…or move further down into additional forms. With MDI, model forms work well, but seem really strange with SDI.

</weird notes on>

Of course, the “windows in task bar” is a configurable option in most office programs (tools->options->view tab->[x] windows in taskbar option.

So, now..what becomes the development standard?

Does one develop to both standards?

In ms-access, this gets really strange…as since you can now have each form show up in the task bar, but if you make each form model (to accomplish a given task),  you get windows in the task bar..but they can NOT be selected.

Nothing is worse then a user clicking on a item in the task bar..and nothing happens!

So, my startup code now turns off the windows in task bar option!

I guess I have to wait until ms-access gets the .net winforms that can be imported into the .net IDE to further enhance the forms that access builds!

<weird notes off>

So, this does kind of mean that model forms don’t make one bit of sense in SDI..... how do you developers now handel model forms, or do you consider them dialog boxes that don't appear in the task bar?

Albert D. Kallal
Edmonton, Alberta Canada

Albert D. Kallal
Wednesday, June 2, 2004

Albert, modAl not modEl.

Stephen Jones
Thursday, June 3, 2004

I'll "me too" the question as well.

SDI seems fine for things like word and excel but for database applications, you HAVE to use modal boxes, but SDI doesn't lend itself to this.

At the same time, MDI suits this but the battle is for screen space. You end up with windows that you cannot fit everything on to.

How is the VS.NET interface achieved?

Is it just SDI with tab pages and docked windows?

UI idiot
Friday, June 4, 2004

> Is it just SDI with tab pages and docked windows?

I think that all the forms are MDI children. For example, each dockable window is an MDI form (when it's not docked, then it can float on top of other forms).

Christopher Wells
Sunday, June 6, 2004

*  Recent Topics

*  Fog Creek Home