An ASK system can be thought of as a web of questions (lines of text such as ``What is magma?'') and answers (which can be text, a diagram or picture, or a movie clip). Each question has one answer, and each answer has zero or more followup questions. ``Asking'' a question means showing its answer and making the followup questions available for the student to click. The student, then, is only seeing one ``node'' at a time--the answer and a short list of questions (Figure 4.5).
What does this mean for an interface? This means there needs to be a set of question buttons that represent each visible question, and there needs to be a way to show answers. Rather than let authors individually create and place each button, authors can select the area of the screen on which the questions buttons will appear and let the model determine which buttons should be visible. Likewise, they should also select a place where the answers to those questions will appear.
Modgits, then, need to define areas where things happen, but there is more. Question buttons look different from application to application, with different fonts, colors, button styles and spacing. This means a question-viewing modgit needs to keep track of these ``look'' parameters such as which font to use. An answer-viewing modgit has similar look parameters as well as other answer-related parameters such as whether or not to identify the source of the answer (i.e., where the text came from or who is speaking in the video), visual accoutrements like whether or not to have a video controller for the movie, and technical details like whether to trade of memory for speed or speed for memory when showing movies.
Lastly, there can be more than one of these combination question-and-answer nodes visible at the same time, but usually in different contexts. One context might be just-in-time help available in a test phase, while a different context would be general help visible in the reference part of the GBS. Authors need to be able to specify which questions belong to which context. These contexts exist in the model, but authors need to be able to define which parts of the interface correspond to which of these contexts.
Essentially, then, modgits for an ASK system need to contain the following information: