Feel: Normal
Purpose: General purpose
Feel: Modal:Subset
Purpose: Only when you need to block all windows in a subset
Feel: Modal:App
Purpose: When a user decision is required to continue with the rest of the program
Feel: Modal:All
Purpose: When the user needs to make a system-critical decision, such as system shutdown confirmation. Use this feel only when you absolutely have to.
Feel: Floating:Subset
Purpose: When a subset window needs to take priority in its subset.
Feel: Floating:App
Purpose: Tool and utility windows
Feel: Floating:All
Purpose: System monitors and other windows which the user will always want to have visible. Like Modal:All, use this only when absolutely necessary.
Type: Titled
Look + Feel: Titled + Normal
Type: Document
Look + Feel: Document + Normal
Type: Modal
Look + Feel: Modal + Modal:App
Type: Floating
Look + Feel: Floating + Floating:App
Type: Bordered
Look + Feel: Bordered + Normal
Probably 90% of the time you will end up using Titled and Document windows with an occasional floating window. Borderless windows are used frequently for splash windows that are displayed as a program is loading. Bordered windows, which, by the way, do not have a window tab, aren't used much except in BAlerts. Modal windows shouldn't be used more than is absolutely necessary for reasons explained under the Modality section in this chapter.