Storyspace 3.1.2 and Tinderbox 6.6.0: details updated

Eastgate Systems has just released updates to its two applications: Storyspace, its hypertext authoring environment, and Tinderbox, the most powerful and sophisticated note-making app for OS X.

Storyspace 3.1.2 has three important new features, affecting Guard Fields, new Stretchtext Links, and the ability to include writing spaces within other writing spaces. It is available from here.


Guard Fields are now distinguished in the Map view by the addition of a diamond on the link, near its starting point. As long as the guard remains unsatisfied, that will remain open (unfilled), but once its condition is satisfied, the diamond will be filled (black in the default colouring). If you use Guard Fields much, you should find this very useful.

Stretchtext Links involve the replacement of a placeholder by anchor text, which acts as a link anchor. To quote the Help file:

^stretch(anchor, path, alternate-paths) : the placeholder will be replaced by the text anchor, which will be a link anchor. If that link is clicked, the link text will be replaced by including the text of the note designated by path, provided that note’s $Requirements are met. Additional destinations may be supplied as a list of designators, separated by commas; each destination in turn will be tried until Tinderbox finds one which can be visited. If no destination can be visited, the placeholder will be replaced by the text anchor, but the anchor will not be linked.

I can see that I will need to explore these more, and report back once I have found some good applications for them.

Storyspace can now include writing spaces inside other writing spaces.

Tinderbox 6.6.0 has a long list of enhancements and fixes, most of which apply to Storyspace 3.1.2 too. Those which caught my eye first, and which also apply to Storyspace, are in importing files by dragging and dropping onto a Map view. Tinderbox is available from here.


Tinderbox and Storyspace now import Microsoft Word .doc and .docx (XML) files via drag and drop onto the Map view. These are particularly useful, as the text and tabular contents of those documents are imported as rich text, preserving styles, tables, etc., but not embedded images.

When looking at this, I explored some other drag-and-drop importing which now works well, including Acrobat PDF (as text content only, not rich text), and Scrivener’s .scriv format (XML). Version 6.6.0 also claims to be able to import Taskpaper documents, although I have not tested that. This is an impressive range which now makes it much easier to migrate content from other apps to Storyspace or Tinderbox.

There are a couple of improvements arising in part from my recent exploration of importing CSV and other spreadsheet files here. Previous versions had assumed that the first column would contain the title of the new note or writing space to be created for each row of content. You can now override that with a different column headed Name, which will then be used to set the title.

Furthermore, if you have a column headed Prototypes, the contents of that field will be used to set the prototype for each new note or writing space. If this references a prototype which does not exist in the document, then a new prototype will be created automatically.

Tinderbox (and presumably Storyspace too) now use multiple processor cores to perform rule and agent updates in the background, which should lead to a smoother and brisker response, particularly when there are complex rules and agents.

Storyspace 3.1 and Tinderbox 6.5 re-opened document windows much better than in the past; these new versions have further improved in this respect.


The most elegant improvement is the addition of a date picker for setting date attributes: you can still type these in using your localised date and time format, but click on the calendar icon and you can set the date using a neat little popup calendar.

Other improvements include:

  • additional markup element ^include(which) for styled text of designated note, when exporting text or rich text;
  • additional markup element ^value(expression) for the value of the expression, when exporting text or rich text;
  • conditional export using ^if(expression){…}^else{…}, when exporting text or rich text;
  • link types and the Link Type Inspector let you choose a connector type;
  • naming and placement of duplicated notes/writing spaces is better;
  • there is a new action function, inheritsFrom(), which checks whether a note uses another note as a prototype, directly or through another prototype;
  • word counts in Get Info are more accurate, as they do not count aliases;
  • text colours used for prototype tabs are chosen for better legibility.

These new versions thus improve and fix a lot of significant details, and are compelling for all who use these apps.