An illustrated glossary of links in Storyspace 3

Recent updates to Storyspace have enhanced the way that links are displayed and manipulated in the Map view. If you’re feeling a little dazed at the different types of links, and how they are depicted, you may find this short summary helpful. If you’re still a bit lukewarm about real hypertext, and can’t see what the fuss is about, it may give you some food for thought.

Plain links

These are the default followed when clicking away from any linked text (or stretchtext), or by pressing the Return key. When neither the source nor destination writing spaces are selected, they are normally shown as a continuous line in grey. Select the source when in Read mode, and the line darkens and breaks strobe along its length. With the source selected in Write mode, you can delete the link by clicking the Ⓧ (X) tool, view and edit it using the ⓘ (i) tool, and you can drag the link’s origin and termination to reposition them.

Plain links determine normal flow through the hypertext.

Guarded plain links

These function identically to plain links only when the guard condition is satisfied (is true). They appear and are edited just the same, except for the addition of a ◇ diamond near the origin of the link. When the guard condition evaluates to false, this diamond is unfilled, and has a line across it; when the condition evaluates to true, the diamond is filled ◆.

Guarded plain links determine controlled flow through the hypertext.

Text links

These link from specified and demarcated text content in the writing space, and are followed when the reader clicks on that text, which is shown in blue. To distinguish them from plain links, text links are shown in red, using a broken line. When the source writing space is selected, the colour of the line is intensified, and breaks strobe along its length. In other respects they appear and are edited similarly to plain links.

Text links provide fine-grained one-to-many branches controlled by the reader.

Guarded text links

These function identically to text links only when the guard condition is satisfied (is true). They appear and are edited just the same, and like guarded plain links, the link bears a diamond which is either unfilled (guard condition false) or filled (guard condition true). In Edit mode, the specified text anchor remains blue regardless of the guard condition. However, in Read mode, the anchor text is only shown in blue when the guard condition is true, and the link can be followed.

Guarded text links provide fine-grained control over flow by both the author and the reader.

Shark links

ssplinksshark

These effectively bypass the source writing space, if unguarded or if their guard condition is satisfied (is true). When the reader arrives at the source writing space, the link is evaluated according to any guard condition. If there is no guard, or the guard evaluates as true, the source writing space is not displayed at all, and flow proceeds immediately to the destination.

Shark links are shown as thick red links with a broken line, which strobes when the source writing space is selected. Any guard is shown using a diamond, which is either unfilled (guard condition false), or filled (guard condition true).

Shark links provide a short path by skipping writing spaces.

Stretchtext

ssplinksstretchtext

These are not links, in the sense that they do not transfer the reader to a different writing space, but transfer content from the linked writing space. They will appear as an unguarded text link when constructed by inserting code around a text link, hence their inclusion here. However, if you type in the stretchtext code directly, without making the text link yourself, no link will be shown in the Map view.

Note and Note+ links

Currently these appear to function as plain links. They are shown with the word Note or Note+ superimposed.

$Requirements of the destination

There is an additional control on links, in the $Requirements attribute of the destination writing space. If that attribute specifies a condition which evaluates to false, then that link cannot be followed. This therefore functions similarly to a guard attached to the destination. However, unlike link guards, no visual indication is made of the value of $Requirements in the Map view. Although this can be a powerful means of controlling flow through hypertext, it is also potentially dangerous if you forget that that is the case.

sspacelinksmany