Subject: definitions -- *DI window management
From: Paul Rohr (paul@abisource.com)
Date: Sun Aug 19 2001 - 14:04:26 CDT
Perhaps it would clarify some of the recent confusion on the list to make 
sure everyone's using the following terms correctly.  
Single Document Interface (SDI)
-------------------------------
This is the "oldest" or "most primitive" application GUI, found on the very 
early Mac, and persisting to this day for really lightweight apps.  
You can only work on one document at a time in the application.  Sometimes 
apps let you "recycle" the application for a new document by getting rid of 
the existing one.  
Closing the window closes both the document and the application. 
Macintosh (Mac UI)
------------------
The Mac UI clearly separates the "application" (menubar) from the "document" 
(standalone window).  Even when working with more than one document, there's 
still only a single shared menubar.  The Window menu got introduced as an 
easy way to keep track of all the open documents.  
Closing each window closes the associated document, but because all those 
windows were detached from the application's menubar, there's no one-click 
GUI affordance to close the application, too.  (You have to pull down the 
Quit menu, or remember that keystroke.)
The Mac's been around long enough that plenty of people are used to this 
behavior, but new users have to *learn* that there's an application still 
hanging around, and how to get rid of it. 
Multiple Document Interface (MDI)
---------------------------------
Since Windows and other GUIs don't share the Mac's insistence that there 
should only be one menu available for *all* running applications, the 
necessary GUI paradigm for handling multiple documents in the same 
application is far less "obvious".  
Indeed, MDI is a specific set of APIs and GUI conventions introduced by MSFT 
to workaround this problem in a consistent, but complicated, way.  They 
couldn't *be* the Mac, so they had to come up with their best possible 
approximation. 
As Nils points out, the mental model required to explain all of the 
idiosyncracies of "classic" MDI is dauntingly large.  My grandmother usually 
manages to figure out why and how WebTV does what it does, but the whole 
business of keeping all the MDI widget behaviors straight ...
  - this close box (either here or there) closes the document
  - this other close box closes the application
  - this button (here or here) minimizes documents (here)
  - this other button minimizes the entire application 
  - etc. 
... well, I don't even *try* to explain all that mess.  
The main advantage of MDI is that, despite all this confusing complexity, it 
does still allow you to do all the window management tasks that the much 
cleaner Mac UI allows.  Otherwise, it sucks, especially for new users.  
Multiple SDI (MSDI)
-------------------
This style of interface was popularized by the web browsers that 95+% of the 
computer users on this planet are familiar with -- Netscape, IE, and various 
knockoffs.  
Instead of being app-centric, these UIs are document-centric.  It's not true 
SDI, because one application can and does easily manage multiple documents.  
That's why you see commands like New Window and/or Windows menus in the UI. 
A good way to think about MSDI is that a single application happens to be 
running a bunch of SDI-style UIs in parallel.  Since it *is* the same 
application, we can do a few useful UI tweaks to take advantage of that 
parallelism, in ways that it wouldn't be feasible for a bunch of independent 
SDI apps to do.  
Note that in this paradigm, the application per se doesn't have a very 
privileged status.  It's only "there" while you're working on documents.  
When all the documents are gone, there's no application left.  This is *by 
design*.  
See my original FAQ post for a more detailed description of how MSDI works.  
bottom line
-----------
SDI != MDI != the Mac UI != MSDI.  
Paul
This archive was generated by hypermail 2b25 : Sun Aug 19 2001 - 13:56:37 CDT