Branching Sequences
The currently implemented Sousa sequence (sousa/linear-seq) only handles a linear display of media elements (including Sousa page objects). Other kinds of sequencing are possible such as the branching sequence.
Sequence Flow
The proposed sequence is technically a "branching sequence with merges", as shown in Learning Structures, Process Flow. In this structure, flow may branch based on user choices. Later, these branches may merge back into mainline or shared sequence lines.
At each node, one of the following are possible:
- The line terminates. User must exit.
- The line branches. Up to four branches seems reasonable.
- The line merges into another note. Sequencing continues.
The Branch with merge structure allows alternatives to be explore
Navigation Elements
The linear sequencing in the current Sousa release uses next and previous buttons to move through the open sequence. Once branching is added, new approaches to navigation are necessary.
Forward Navigation
Two kinds of forward branch navigation are envisioned: a drop down selection where next appears (or next if only one choice exists), and navigation links embedded in the content.
Backwward Navigation
Since it is possible to reach a given page (or sequence node) from more than one place, the sequence tool needs to retain the current path through the sequence. This gives access to the last page viewed without worrying about backwards branching.
Termination
It is necessary to flag a sequence node (or page) as being a terminal node.