Dialogue
Caveats
Most if not all pages are just rough notes, and these pages as a whole are far from complete. More notes will be added in time, eventually, maybe.
If, from reading these notes, you conclude that I am off my rocker, you won’t be the first, and you may even be right.
No doubt there are a dozen and one reasons why none of this would ever work, but perhaps somewhere deep down there is a tiny fragment that could be used for something.
Contents
Overview
Dialog boxes are not met with universal acceptance. They have a habit of appearing without being noticed, and they are abused greatly. They are not without merit, but the implementations leave a lot to be desired.
System modal windows are a scourge. Apple finally banished them starting with Mac OS X (by Mac OS 9 they were largely an unwelcome holdover from the pre-multitasking era of the Mac), but Microsoft saw fit to introduce them and they remain a part of Windows. Application modal windows are also frustrating. They are used for messages that were more sensibly represented as modeless notifications. Depending on the UI model, they block the parent window from being moved or minimised; in Windows, the Show Desktop command forces them to vanish, and the first window activated causes them to return. This seems to relate to the extremely poor taskbar and window management where top-level windows aren’t required to have a taskbar button and dialog boxes can have the wrong parent set or have no parent set at all.
The late Jef Raskin’s school of thought holds that modality itself is a scourge. All interaction with the system is to be conducted virtually modelessly. His idea was to have a key that you hold to enter a command, with a single global command namespace. This notion is dubious, not least because it is tricky to type with one finger holding a key down. Having a global command namespace seems implausible. The whole idea of distinct applications was something he sought to avoid, which does stand to reason because many users have no concept of what an application is, or which application they are using to achieve their objective. Their web browser is “the internet”, not Firefox or Edge (even the idea of a browser is a mystery), and accounting is done in a program like “Sage” (which is a company, not a product). Lots of people want and need “Adobe”, by which they mean whatever Adobe is calling their PDF viewer or editor this year (whichever one the user is using or expects to see).
Apple’s sheets UI offers a compromise, albeit a confusing one as they set a rule of their own, that sheets must never spawn child sheets. This is perfectly possible and it works fine, but Apple decided that it was wrong, so the first sub-dialog again blocks the parent window from being moved, undermining one of the advantages of having sheets in the first place.