If you ever want to vilify something, follow this simple recipe:
 
Instant Vilification
Ingredients
1 detached clinical name
1 supporting example
Instructions
1. Define your argument against detached clinical name.
2. Remove anything controversial or counter-exemplary.
3. Tear apart supporting example as the archetypal straw man.
Serves one.
 
Chef Lukas Mathis provides a tremendous example of this in his essay “MDIs on the Mac,” wherein he attacks an enemy to usability he calls the “Multiple Document Interface,” better known by the detached clinical name “MDI.”
 
To be fair, there really is such a thing as the Multiple Document Interface. That’s what you get when your window contains multiple documents. For example, iTunes’ monolithic window contains multiple songs, movies, and other document types. iPhoto contains multiple photos and videos. Adobe CS4 applications may optionally keep all open documents in one window, via a tabbed interface.
 
Chef Lukas removes iTunes and iPhoto from the MDI argument by defining them as something else: media managers. In other words, since the documents in question are media, that there are multiple instances of them in a single window doesn’t count. So, if you edit a photo in iPhoto, it’s OK, but if you edit a photo in Photoshop, you’d better not turn on tabbed browsing because that’s some nasty Windows shit and we like to keep things real.
 
Real dumb* — the relevent difference between iPhoto and Photoshop is that people like iPhoto because people like Apple, while Adobe is a convenient whipping boy. Nobody really likes Adobe — not even Adobe. The central tenet of the argument against MDI is that Windows has cooties and putting multiple documents in single, convenient, tabbed window is the best way to get them on you. This is the Mac, people. We keep our documents pure by only allowing one per window.
 
Of course, people like Photoshop too, so that disqualifies it as a good strawman. Nolobe Iris is multi-document photo editor nobody cares about, but it’s not cool to pick on indies. Luckily, there’s Fireworks. Here’s an image editor which can at least be put into single-window mode. Nobody cared about it when it was from Macromedia, and that goes double now that it’s owned by Adobe. I forgot Fireworks ever existed, and certainly didn’t know it was still available. I digress.
 
Tempting though it is to pick apart Lukas’ arguments one by one, that would just be snide. The truth is, he’s is not wrong in his assessment, but in his interpretation. There’s nothing wrong with MDI, and extremist arguments like what does or doesn’t belong on this or that platform are almost always wrong. The bigger issue almost doesn’t need saying: poorly implemented features suck.
 
That’s the real difference between Fireworks and iPhoto. They use different development recipes. To wit:
 
iPhoto
Ingredients
Angel farts
Pudding skin.
Instructions
1. Lovingly fold angel farts into pudding skins.
2. Polish obsessively for seven versions.
Serves six.
 
What does CS stand for again?
Ingredients
1 company that fell ass-backwards into a standard, but for some reason wanted to build a platform, despite lacking such simple amenities as local disk access.
1 company that developed the world standard in image editing, but for some reason wants to be a business services company that charges people to edit their PDFs or some shit.
Instructions
1. Smash handfuls of technology from either company into a box.
2. Charge like a million dollars.
Serves nobody.
 
Quite aside from implementation, the truth is no interface metaphor is always best, or even appropriate. There are times when a single-window application architecture is a bad fit, but there are times when it’s the only way to do things.
 
iPhoto and iTunes are easy examples. There’s no way to have an effective media manager unless you can manage multiple media in a single window. Try opening your entire song collection in QuickTime some time. One might argue, as with the great Core Data versus Spotlight debates, that a database is single document and its contents are not. One would be wrong.
 
Or to put it another way, who cares? What is a document? What is a window? These are all just terms we slap on things so we can talk about them. At the end of the day, what lets a user interact with their data in the most meaningful way? Let’s do that, and worry about the terminology later.
 
BBEdit is a more complicated example. As with CS4, it can be put into either single-window or multi-window mode. I am constantly switching between the modes, depending on what I’m doing. If I’m reading or editing code, I have to have everything together in a way that makes it really easy to switch between multiple documents. I also use Xcode in all-in-one mode, and couldn’t imagine doing it any other way.
 
However, I use BBEdit for all my text editing. Indeed, I’m using it to write these very words. In such cases, I find the single window annoying. Even when I’m coding, I sometimes want to spawn a new window for a certain document. Safari gets this, with the ability to pull tabs into their own windows and collapse windows back into tabs.
 
This allows me to have multiple windows, each containing multiple documents, often in multiple Spaces. Why do I do such terrible things that make the baby Jesus cry? Because I work in contexts. I might be doing some research in one window while tracking some hype in another window. Each context might have multiple components, owned by multiple applications.
 
BBEdit’s MDI implementation does this wrong, but Safari’s does it right. MDI can make things like Spaces tricky, but that’s just the kind of challenge engineers like me live for.
 
Safari is an interesting case because it’s a web browser. Even if it only ever had one tab-less window, it would still be an MDI after a fashion. What is the web but an infinite collection of documents, all of which you access in a single browser window?
 
Isn’t interface design interesting?
 
*with apologies to Chris Rock.
 
        Addenda        
 
Johan
I’m not sure I agree with you on your “but iPhoto and iTunes do it and THAT’S alright?” argument. You don’t ever edit several photos or play several songs at the same time in either app.

Not that I really agreed with the “MDI is Satan” post either.
Shawn
“BBEdit’s MDI implementation does this wrong, but Safari’s does it right.”

I think BBEdit lets you open a document in a new window, for behavior similar to (albeit not as nicely done as) Safari’s. TextWrangler does, at least, so it would surprise me if BBEdit didn’t.
Chef Lukas
Hey, thanks for taking the time to reply to my post. You make a bunch of good points; you’re right about IDEs. I use Xcode and IntelliJ, and I use both in full-screen mode. As you say, these naturally lend themselves to taking over the whole workspace since they essentially take care of one specific task or context. If you’re programming, you’re typically doing nothing else.

I have to admit that I don’t think Safari does MDI right, though. I regularly end up with half a dozen open instances of Gmail and Google Reader because Safari (and other tab-based browsers) essentially hide open documents (admittedly, even so, I do use tabs in browsers).

Two additional points:

First, I’m unsure why you speculate on my motivation for not picking on iPhoto - I don’t think I ever held back with my criticism for Apple. Also, I used Fireworks instead of Photoshop because I have a Fireworks beta running on my Mac, while I don’t have access to a Photoshop beta.

Second, you can’t claim that the relevant difference between iPhoto and Photoshop is that one is from Apple and the other from Adobe. Just because both work with media doesn’t make them the same (just like Delicious Library and Final Cut Pro are not the same even though they both work with movies :-). In iPhoto, the user’s mental model is that he is working with image representations; he is *managing* his pictures (similarly to how icons in the Finder are representations for documents). Photoshop, on the other hand, is typically used to edit single images; you open the actual document. Clearly, they require vastly different user interfaces because the tasks they are typically used for are vastly different.

@Johan: I hope I did not give the impression that I thought “MDI is Satan.” I actually point out that MDIs have some advantages; I just think they’re generally an unfortunate choice on Macs.
Martin Pilkington
I think with some of your examples you’re getting mixed up between MDI and an all-in-one interface. The Mac is MDI. You have a UI that allows for multiple documents in one interface. The difference between the way Windows and the Mac does it, is that Windows puts those documents within a container that is another window, with the Mac the container is the desktop.

Some of your examples, such as iTunes, iPhoto etc aren’t really examples of MDIs, they’re examples of all-in-one UIs. For example, you only listen to one song at a time, you only edit one photo at a time etc. You can data about multiple items at a time, but you never concentrate on a single item. To claim iTunes or iPhoto are MDIs would be like saying that the Finder is an MDI because you can see multiple documents in one window, or that Preview is an MDI because when you open at once it puts them in one window.

Xcode is a bit iffy. I suppose you would have to call it an MDI, as it is definitely capable of showing multiple documents in the one window, though you really need a tall enough screen in order for that to be really feasible. It’s there, but it’s not used as one very often (though if Xcode let you split the editor vertically then that could very well change).

MDI is really working around with multiple documents in one container. I don’t think that tabs are quite that, you can’t see tabbed documents side by side, that’s the whole point of tabs. Yes one window contains several documents, but you can only view one at a time when they’re tabbed. To be honest I don’t think either you or Chef Lukas are really arguing about MDIs at all, you’re arguing over TDIs.
Andre
Amen Brother.
Mike Lee, to Lukas
It’s awesome that you can tell when criticism is tongue in cheek and take it with good humor. I always test engineering applicants for that very quality, because it’s important for being part of an effective team. Next time you’re in town, let me buy you a drink and we’ll talk about things that matter.

Notably, it’s possible to like a product without liking the company that makes it and vice versa. I love Photoshop, but I don’t really care for Adobe.
Chef Lukas
It’s often kind of hard to figure out when people on the Internets are seriously going for the jugular, so I always try to err on the side of assuming they’re not :-)

Should I ever get anywhere near the US of A, I’ll drop you a line. In turn, you must promise to let me buy you a drink should you ever be in the vicinity of Switzerland.
 
What is the web but an infinite collection of documents, all of which you access in a single browser window?
Saturday, June 21, 2008
Interface Recipes for Disaster