Hacker News new | ask | show | jobs
by toyg 2194 days ago
Right move IMHO, I always found it a bit confusing and somewhat arbitrary.

However, removing MDI from Office apps was not followed by implementing a persistent-background-app replacement. So now you open a Word document, wait with splash-screen, look at the document, close it, then open another Word document, wait with splash-screen, repeat... so annoying.

1 comments

I do not see how it is confusing (to someone who is familiar with computers - i can see how some people who aren't used to computers might be confused by the maximization state).

It is very useful in several types of applications, like image editors where you want to have multiple images open while having docked toolbars/controls, avoiding a waste of screen space and a clean background. This way you can have, e.g. the same image visible in two views or you can have an image that you pick colors from to paint or you can have several tileable images as "materials" to quickly a brush with the clone tool, etc. Personally i always found the UI of Paint Shop Pro 7 the best image editor UI and its MDI-based interface is a big reason for that (though not the only reason).

In fact i find MDI so useful that i recently implemented it in Lazarus' LCL backend for Win32 - the next version of Lazarus is going to be the first one to support MDI under Windows. The reason is that i want to use it in a game engine editor i'm working on to open different resource types inside their own windows that often do not warrant using a fullscreen window (e.g. a list editor).

And actually the two main annoyances i have with the most common "solution" (a work around really) of using tabs is that very often most of the content space in a tab is wasted since there isn't really a reason to have it cover the entire main window while at the same time you can only have one view visible at any time (no side by side or anything like that). In theory you can split the tabs in different groups but again you are forcing the views to adhere to the main window - and in practice the only application i've seen doing that is Visual Studio (which also has an in-editor split functionality and the number of times i needed either was much less than the number of times i needed to have documents/views visible side by side in other types of applications).

Honestly i think Microsoft did a mistake for abandoning MDI just because some people weren't able to use it back in the 90s. Windows has a ton more stuff that can be confusing to a newbie but they aren't getting removed because they are useful.

MDI's don't play well with multiple screens. While they have some good applications as you suggest, such as image editing - Spreadsheets and Word Processing were not great with MDI. The shared context such as pallets don't apply for documents.
While i think i'll agree about word processing, assuming there is a split view option, i'm not sure about spreadsheets since you often use those as tables and you may want to have multiple tables visible at the same time.

About multiple screens you are right but a tabbed interface doesn't work with multiple screens either (while having all the other issues i mentioned) and having multiple toplevel windows means you get unnecessary duplication (and hence waste of screen space) of UI for each toplevel window, you have the window switcher (taskbar and alt+tab) "polluted" for each document view, etc which can be very annoying.

And really there is no rule against having multiple MDI host windows (outside of framework limitations - due to LCL inheriting the API from Delphi, the API assumes a single MDI form with multiple MDI clients, but the pure Win32 API doesn't have that limitation nor does Qt's own MDI implementation AFAIK) so you could simply have one of those per screen. Some tabbed interface programs do that (e.g. i think you can open multiple windows in Eclipse).

Though TBH personally i never use multiple screens so i don't know about that.