views:

344

answers:

4

Hi,

I always have trouble remembering whether the modal or modeless dialog is the one blocking operations in other parts of the application.

Does anyone know why they are called that way?

+3  A: 

I believe this is a tip to Linguistic Modality. "Modal" dialogs are used (typically) to present information that falls into the typical modals of:

  • Declarative
  • Interrogative
  • Exclamatory

Part of why I feel this is the case, although I'm searching for a more definitive answer, is the way modal dialogs are discussed. For example, take MSDN - their criteria is "Dialog boxes that display important messages should always be modal.", which could easily be rewritten as "Dialog boxes whose content is of a declarative modal [linguistic definition of modal here] should be created as Modal windows."

There is other precident for this. For example, the word "dialog" in dialog box - it's called a "Dialog box" because it's supposed to be presenting a dialog, or conversation, between the system and user - another throwback to linguistic terminology for a computational process.

Reed Copsey
Interesting. But why would the term originate from linguistics? Are there influential GUI developers that have a background in linguistics? Some other connection? Also, googling for modeless reveals hits only related to GUI dialogs not to anything else that is remotely connected: the term 'modeless' doesn't seem to be the exact opposite of modal.
andreas buykx
Not sure *why* exactly,b ut as I mentioned, there were a lot of terms borrowed from linguistics and other non-technical related fields. I think it was more because some of this came from human-computer interaction studies, not technical people.
Reed Copsey
+5  A: 

With a modal dialog, you set your application in a particular mode (a different "state" if you will), whereby only actions pertaining to that "mode" are accepted, hence preventing UI actions outside of the dialog.

At Andreas' prompting I thought I may have to dig dusty Windows API books, as often, the etymology/origin of a word or expression that has became broadly accepted is only found in early documentation, but in fact we still see this referenced in an online glossary from MS. The Modal entry reads (emphasis is mine):
modal
Restrictive or limited interaction due to operating in a mode. Modal often describes a secondary window that restricts a user's interaction with the owner window. See also: modeless.

mjv
Could you provide a reference or source where to support this answer?
andreas buykx
@andreas see edit w/ MSFT source.
mjv
+1  A: 

A modal system is one with multiple "modes of operation". Such a system switches between modes by using key strokes, for example "Esc" "CTRL+S". A good example is the Vim text editor which switches between "edit text mode" and "navigate text mode".

A modal dialog is thus one which blocks the main program by switching it to a different mode for the duration of the operation.

ddd
mmm - "modeless" doesn't necessarily fit with that, though, does it? It's tough to say that any window has "no mode of operation"...
Reed Copsey
I think 'modeless' has just been named to mean the opposite of 'modal'...
Skilldrick
A: 

Looks like the only reason is that it is related to modes and mode errors.