# Prototypes

Often, the easiest way to describe a note is to explain how it differs from another note. We say that the first note serves as the prototype of the second: it shares all the properties of the prototype, except where we specify otherwise.

For example, a group of writing spaces might all describe the same event – that fateful after-prom party, say, where everything started to unravel. Some of these spaces might appear in disparate places in the story: some might be foreshadowing, some appear in their natural chronological position, others may be seen in retrospect. Perhaps some spaces might appear in different places in different reading. Some might not yet have a place: we write a piece of scene and we don’t know where it fits but we keep it around for possible use later.

For our convenience, we also give all these notes a common appearance. They’re green, because everything that happens on Saturday is green. They have a white border to show they’re after the prom, and they all share the badge “wine”. Adding all these settings to numerous notes would be tedious and error prone, but instead we add all these settings to a prototype and can then make all notes from this scene share that prototype. The prototype also makes it easy for us to locate pieces of this scene later, even if they’ve been moved to different containers.

Any writing space can serve as a prototype for other writing spaces. Prototypes let you specify the default value for an entire class of notes. Whenever Storyspace checks an attribute that you haven't specifically set, it will use the value from the prototype. Change an attribute in a prototype, and you change it for the notes that use that prototype.

A few attributes are inherent and are never inherited. For example, moving one the prom prototype would not move writing spaces that use it. .

To create a prototype,

- create a new note, or select an existing note to serve as a prototype
- Open the Properties Inspector (⌘-1)
- Select the Prototype pane
- Check the checkbox “Prototype”

This new note can now serves as a prototype for other notes.

In outline view, the note icon for notes which can serve as prototypes is surrounded by a light green circle.

To use a prototype,

- Select a note in map view, and right-click on the Prototype Tab beneath the note, OR
- Select a note in outline view and right-click on the note’s icon, OR
- Select a note, open the Properties inspector, and choose a prototype from the Prototype pull-down menu.

Your note will now use the selected prototype: it will inherit the values for most of its attributes from the prototype note. When you change the value of any of those attributes in the prototype, the value of that attribute in all of the notes that use that prototype will change as well.

### Using Prototypes

Any note can serve as a prototype for other notes. You don’t need to define prototypes in advance, and you should feel free to create new prototypes as your needs change.

Prototypes save typing. As you take notes, you may find that you sometimes repeat yourself, setting up a series of similar notes that describe similar sorts of things — people, or references, or issues you want to discuss with your staff. Prototypes can help you capture the common elements, making it easier and more pleasant to create notes.

A note can only have one prototype, but each prototype can be used by many different notes.

Prototype inheritance is efficient; don’t worry about memory or performance when using prototypes.