next up previous contents
Next: Modgits: When triggers aren't Up: From the outside in: Previous: Simple interface editing

Simple interface action editing

Though interfaces can be very complicated, what happens in the interface in an INDIE application is a combination of the following four actions:

Examples of these from the Volcano project include showing the result of a lake temperature test (show a picture and play a movie explaining it, then add a list of followup questions) and responding to the press of a button that says ``Go to the lake'' (show a group of widgets, then play a guide movie).

We supported this by allowing authors to create event-response lists. Entries in a system-wide table associate events (which can be model- or interface-level events) to lists of screens, movies, and help questions that can appear. Each line in the table, which is a combination of event and a response to it, is called a ``trigger.'' Any time an event occurs, the system looks up in the table for a matching event pattern and then executes what it finds in the response list. These triggers are constructed with the form in Figure 4.3.


  
Figure 4.3: A trigger editor.
44#44

The event slot is a pattern that specifies when the trigger fires. Here, when the ``Go to Mt. Andrews'' button is clicked, this response list should execute. For buttons, the CLICKED trigger is automatically created and can be accessed from the ``Edit Trigger'' button from the attribute editor shown in Figure 4.2.

In this example, when the ``Go To Mt. Andrews'' button is clicked, it will show the map layer and hide the introduction layer. A layer is a group of widgets; in this case, each layer is usually a background picture with buttons, questions, and movie-players appearing on top of it. It will play the ``answer'' (which is a generic name for any kind of media object: text, movie, or picture) that corresponds to the guide explaining the map interface. Lastly, it will raise a ``topic.'' A topic is a labeled group of questions. The questions will appear as clickable buttons.

Of course, response slots can be left blank. Some triggers just show questions, others just show movies. When the trigger is executed, the actions are taken in the order they are listed on the form, top to bottom: screens, movies, then followup questions. We found in INDIE 1.0 that authors wanted them in this order.

The trigger-editing form is a simple visual programming system that most authors are able to grasp quickly, unlike the LISP files authors worked with in INDIE 1.0 or even the scripting languages of Director and Supercard. Authors don't have to learn any syntax or construct a list of commands from scratch; they can just fill in the blanks.

If the author wants to show a sequence of responses (such as several introductory movies in a row), they can use the ``Next trigger'' slot, which points to a response form that has no event to trigger it. These responses can be chained together at any length for very long interactions.


next up previous contents
Next: Modgits: When triggers aren't Up: From the outside in: Previous: Simple interface editing
Wolff Dobson
1998-07-28