User:Pi zero/essays/vision/dialog

Here is a sequence of major steps I envision on the way to realizing the potential of the dialog tools.


 * 1) Implement the dialog tools themselves, the wiki markup primitives enabling community-grown interactive pages.  Much of this is complete, though as a whole it's open-ended.
 * 2) * The current in-progress task here is making them work right with non-ascii characters, a pseudo-bug-fix showing itself quite recalcitrant.
 * 3) * Early on, it seemed major additions to the dialog tools might take the form of additional actions, so that one would not be forever tinkering with existing javascript files but instead writing new ones. Some deep thought might be given to long-term directly of development on the tools, although after several years of getting them working at all it seems we'd be better off concentrating on later stages for a while (since it's the later stuff, built on top of the tools, that makes the tools valuable).
 * 4) Devise conventions, using the dialog tools, whereby templates can request context-sensitive information beyond the parameters explicitly provided by the wiki markup of the page.  None of this information would be provided when viewing the page directly; but a dialog-based page could be used to view the page, which would detect these requests and provide some context-sensitive information through additional template parameters added to the view on-the-fly.
 * 5) Devise conventions, using the aforementioned request mechanism, whereby pages can suggest assistants based on context.
 * 6) Develop an assistant for growing and maintaining assistants.  Some important, human-oriented design principles need to be systematically nurtured by the meta-assistant in the assistants that it helps to grow.
 * 7) * Exceptions to common behavioral patterns need to be supported gracefully, both in the moment and going forward (for example, one oughtn't allow an exception but then constant re-litigate the point, asymmetrically and without reference to the earlier decision until one finds someone willing to eliminate the exception in order to make the assistant shut up).
 * 8) * Assistants need to provide the user with holistic context, whereby to recognize situational motivations for exceptions.
 * 9) * When situations arise where the user may wish to elaborate or otherwise improve the behavior of an assistant they're running, they should be able to temporarily suspend what they're doing in order to use the meta-assistant, straightforwardly propose behavioral alterations (which must always be documented in a way that is both human-readable and meta-assistant-manageable, even-or-especially when the behavior is itself outside norms), and possibly resume what they were doing.
 * 10) Use the meta-assistant to begin growing various assistants, for tasks such as reviewing articles, writing articles, curating articles, opening and closing nominations, archiving discussions, etc.