July 23, 2015
MarkBernstein.org
 

Storyspace 3

Storyspace 3

I’ve been burning the candle at both ends for the last few days, and we now have a rough working build of Storyspace 3 – a new version of Eastgate’s classic tool for writing hypertext narrative.

Storyspace 3 is entirely new, built on the same foundation as Tinderbox. Much remains to be done, but it’s reading afternoon and Lust and everything looks like it’s coming together.

There’s lots of good news. Typography is far better. The editor is much better. Old limitations -- no multiple selection, no resizable writing spaces – are gone for good. (Remember 32-character titles? Remember when Victory Garden took five minutes to load?)

I believe this is the fourth time I’ve written a Storyspace, and in recent days I’ve passed a number of old familiar landmarks, places where famous bugs used to hang out. The code is all new, but you can see in the new code the shadows of long-forgotten issues. Over here is Deena’s Default Bug, which changes the behavior when you press [Return] without selecting anything. That recalls another of Deena Larsen’s famous bugs, Deena’s Kelly Green Bug, where following a specific link in a specific document turned all the text a painfully bright green. That one arose because, back then, we had no memory protection at all: if you dereferenced a null pointer, you go whatever was located at 0x0000, and if you used that pointer as an object, you could accidentally reset the clock, change the operating system jump table, and turn everything green. Speaking of bugs, there was “Storyspace ate my links,” which took two years to track down, and the Exam Week Bug, a rare file corruption bug that cropped up annually and which almost exclusively afflicted people pulling all-nighters right before the end of the semester. That one involved editing while printing an unsaved document -- the sort of thing that people are most likely to do right before a deadline.

There will be more. I’ve got ideas for nice new things – greatly improved guard fields, and some nice new actions. There’s a ton of writing to do.

I really need to get some sleep sometime.