4 ms·
The ability to have the one app running which contains multiple file system views that I can arrange internally is awesome. It can certainly help with the cogni
by thwarted 9y ago
The ability to have the one app running which contains multiple file system views that I can arrange internally is awesome. It can certainly help with the cognitive overload that sometimes is my alt tab navigation.
This is called a multiple-document interface, and it's been Microsoft's preferred method of nesting documents/subwindows within a single application window for a long time — maybe less so with Windows 10 and the "flat" styling. Lack of it was often trotted out as a reason people felt uncomfortable using Linux (and sometimes MacOS) versions of office suites or applications like GIMP (compared to Photoshop, which traditionally used MDI on Windows).
https://en.wikipedia.org/wiki/Multiple_document_interface https://en.wikipedia.org/wiki/Multiple_document_interface
- laumars 9y ago> This is called a multiple-document interface, and it's been Microsoft's preferred method of nesting documents/subwindows within a single application window for a long time Microsoft moved away from MDI in most of their flag ship products (bar Visual Studio) a long time ago. Eg MS Office was last MDI back in '95. Office 97 was SDI from what I recall.
- badsectoracula 9y agoI don't think you can use MDI in Visual Studio anymore, the tabbed interface seems to be the only one available. Although i do remember an IDE (was it Visual Studio?) that could do both MDI and tabs at the same time. Do you consider tabbed interfaces as MDI? I've seen some people do that but i think MDI and tabbed interfaces are too different in terms of functionality to be considered equal.
- laumars 9y agoMDI and tabbed interfaces aren't mutually exclusive but if the master window does not embed resizable child windows (like a traditional MDI interface) then it's not MDI regardless of tabs. I think VS used to be MDI tabbed. It definitely used to be MDI. But I have to admit it's been years since I've last used it. In fact thinking about it now, it's been even longer than I realised (I switched away from Windows development around the time of XP getting released so we're probaby talking close on 15 years. It's scary how fast time flies).
- badsectoracula 9y agoVisual C++ 6 was certainly MDI, but i'm not sure about the rest. I think i have 2008 Express Edition stored somewhere but... i feel a bit lazy to install it to check it out :-P. 2010 and later was only tabbed though. But, FWIW, yes, i agree with you that the resizable child windows is what defines the MDI and tabs are orthogonal to that.
- blattimwind 9y agoI don't think VS is MDI any more, it is tiled/paned child windows with tabs (like you can also do in Qt with docks)
- dahauns 9y ago>Office 97 was SDI from what I recall. Except for the weird hybrid that is Excel - IIRC that went only fully SDI a few versions ago (2010? 2013?).
- mfritsche 9y agoEven nowadays Excel is not fully SDI - if you do VBA or work with 3rd party add ins, there is a whole bunch of stuff that goes wrong since Excel is a SDI interface put on top of a MDI program.
- leeter 9y agoThis is actually weirder than that. Most MS Office programs are still MDI, but emulate being SDI. If you open up two different Excel files there is still only one copy of Excel actually running. This can cause all sorts of headaches for some addins when weird things happen. Notoriously if an error happens in a VBA addin a COM addin will stop responding to hooks.
- badsectoracula 9y agoThis isn't MDI, it is just using the same process for multiple toplevel windows. The defining characteristic of MDI is that the toplevel windows has subwindows inside that you can move and resize around (almost) like toplevel windows. Visual Studio's MFC wizard actually has an option for this behavior called "Multiple top-level documents" (which is separate from "Single document" - aka SDI - and "Multiple documents" - aka MDI).
- leeter 9y agoMy mistake then.
- dfox 9y agoIIRC Office 97 was fully MDI. Office 2000 then used weird hybrid mode where it was still MDI, but each document had it's own taskbar button. (It's somewhat telling that major new feature of taskbar in Windows XP is that it is capable of grouping windows by application and thus undoing this hack :))
- chris_wot 9y agoMDI causes cognitive dissonance, it doesn't remove it!
- sparkie 9y agoI generally prefer MDI applications to having separate desktop windows for everything. I currently use SpaceFM, which isn't quite MDI (it only supports 1 to 4 active frames which are tiled automatically), but combined with tabs per frame makes it really practical. It also remembers all of your open frames and tabs between sessions, and supports different view styles per frame. For some aspects, the configuration is per layout. So you have 1-4 frames, which makes for 15 possible layout options (as it doesn't support 0 frames). It's odd that people simultaneously claim to not like MDI, but at the same time prefer to use stacking window managers and are generally averse to tiling window managers.
- WorldMaker 9y agoSomething I think underappreciated by most was Windows 8's experiments with a full tiling window manager option, which I used pretty heavily but confused too many users and got pulled. (I tend to use xmonad on Linux.) I hope Microsoft revisits the idea eventually, at least as an option. The semi-maximized "quadrants" are a decent compromise, at least (window snap, aero snap, whichever name you prefer). I think the issue with MDI will always be that every MDI "host" has to implement a lot of window management that the OS gives SDI windows "for free" and can evolve independently. Including the option to switch between a stacking window manager and a tiling window manager; if the OS adds that as a feature most SDI apps don't need to change, but suddenly MDI applications feel out of date or need to do a lot of work to reimplement it (likely in a way that will never feel in sync with the OS). (At least on Windows where an MDI window management framework has never been directly provided.) I'm somewhat excited by the Sets preview in Windows Insider builds (skip ahead) that allows grouping multiple heterogeneous windows into "tabs" together. That seems a good MDI-esque compromise.