definitions -- *DI window management


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