🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

On Windowing, Palette Menus and MDI

Published March 18, 2005
Advertisement
MDI sucks.

I think I've caught your attention, so now I can substantiate my allegation. The problem with MDI is collation of document windows associated with an application, usually with a blank background window that obscures all other application windows within the frame window region. This effects a monopolization of user attention and input by the application - in essence, saying "Look at me! Look at me! ...and look only at me."

My workflow often requires an interaction between data contained in multiple applications, and I know this to be even more so for many other computer users. Mac OS X actually has a different general GUI philosophy, built around the Apple Menu, floating palette menus and a hybridization of sorts of SDI and MDI which I actually think is a very good approach. Application document windows are not bundled: you can have a Word document window beneath an Excel window, beneath a Safari window, beneath another Word window. The key here is that you have two document windows belonging to the same application - without separate Finder instances (analogous to not having separate Task Bar buttons in Windows, making it a single instance of the application) - interleaved with other application document windows.

The advantage of this is that it facilitates rich drag and drop interactions, which is a far more natural, more tactile method than cut and paste. I'm a power user, so I believe in keyboard shortcuts, but I believe they should back up haptic approaches - just like I believe that command line interfaces should back up graphical ones.

The interesting thing is that Windows SDI encapsulates the application menu and document window in a single frame. Take a look at Word Pad to see what I mean. In fact, Microsoft Word does exactly the same thing. Mac OS X avoids or eliminates the need for this by placing the Apple Menu at the top of the screen and ceding control to the current application, reserving a tiny portion on the right for the clock, Finder (an icon) and a few optional notifications (display options are represented by an icon of the Apple Cinema Display, for example).

In addition, floating palette menus are encouraged, in contrast with Windows where the GUI guidelines explicitly discourage them. It makes sense for Windows' general GUI philosophy, of course, but I think that Windows could use a review of its philosophy. The advantage that floating palette menus present, particularly with hybridized MDI/SDI as described above, is that the reuse a single piece of screen real estate rather than multiplying what is effectively the same thing. This frees up more screen for other windows, etc, which, again, facilitates rich drag and drop interactions, among others.

Also, by stretching your floating palette menu either along the top or right side of the screen, you obviate to a certain extend the need to maximize applications because your menus are in a consistent place with respect to the desktop. (Of course, you need a large enough monitor and a high enough resolution, but wide screen displays are becoming more and more common place and 17 inches can be considered a baseline for desktop displays.)

Now, it must be said that your application should have only one floating palette menu. The GIMP, I'm looking right at you. PhotoShop CS on the Mac is very similar to the GIMP in terms of menus, but it has additional menus snap to and extend, or overlap using tabs, the existing menu. Hint, hint. A proliferation of menus leads to user bewilderment, something I think I shall talk about in detail in the near future.



I don't see myself making any updates over the weekend, as I want to introduce a certain element of regularity to my journal - Monday to Friday, essentially extended business hours. My next two updates will be about promotion, and about "user bewilderment and interface skill levels." See you Monday!

(But leave comments all weekend. I'll respond if you ask a question. Thanks. [smile])
0 likes 4 comments

Comments

johnhattan
I'm with you, and the "MDI or not MDI" question is one that's been around since MDI existed, but the issue of floating palettes leads to real confusion in the matter. IMHO, the apps that did the best job of ditching MDI were MS Office. Mind you, they have all of their tool palettes attached to the inside of the window by default, so putting, for example a Word window next to an Excel window causes no confusion at all UI-wise.

Some other apps, though, I can forgive. Paint Shop Pro and Macromedia Flash come immediately to mind. In the MS Office apps, the toolbars are small and don't take any appreciable screen real-estate away from your app. In Flash, the large tool palettes, component pickers, output windows, and properties palettes take up nearly half the screen. Running more than one of those without an outer frame to dock things to would be a messy proposition.
March 19, 2005 07:24 AM
Oluseyi
You're right that MSOffice applications have really streamlined their UIs whereas the Adobe and Macromedia products, for instance, have large menus - which isn't inherently a flaw, because they do a lot. The argument, however, is that these menus should "float" without a large background frame, and indeed they do on the Mac. What happens on the Mac is that the menus disappear when none of the application's document windows is in focus, freeing that real estate up for other apps without obscuring yet other apps' document windows. It's a very smart system.

The problem with Windows MDI is that large, blank background window - which has actually been adopted in some Mac apps that used to approach MDI more intelligently. Ironically, the Microsoft Mac apps (Office v.X) employ the traditional Mac approach!
March 19, 2005 04:41 PM
acid2
I don't even own a Mac but I instantly agree with it's philosophy. Your article was an interesting read and I agree with it - especially the idea that the gui should be reworked. They had the perfect oportunity with Longhorn but they threw that away. The worst I believe is now with Office apps. They have tryed to use Apple's SDI concept but made a horrible mistake - the taskbar sucks for that type of application. It doesn't take long before it is horribly crowded and your at that stage where windows aren't grouped but you have a LOT open.

Any thanks, for the interesting read!
March 22, 2005 12:47 PM
GarlandIX
The nice thing about MDI IMHO is that it keeps all the windows that belong to an application in one contained place. For me at least, having a bunch of little windows all part of an application floating around is difficult to keep track of, and gets annoying as hell when I accidentally click in the empty space between two different "floating" windows, immediately losing focus to another application. Ultimately though, I think you're right, an application would be much better if it stuck to a "palette" and whatever documents you are working on. However, just about every application I've seen that does this has been cluttered as hell, which I think is FAR worse than just being confined to the whole MDI thing.
April 19, 2005 10:50 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement