Narrative Scripts

How to use scripts

A story, or Narrative, packages information in an intuitive, easily understood context bound by one critical factor:

Time.

Narratives give us the ability to understand events in time. Software, at the end of the day, creates experiences that occur in time. In NDD, we start with the story, which we call a Script or Narrative Script, and build out from there - from the simple and general to the complex and specific.

Scripts and Moments

You can think of a Script as a journey through your system. Obviously, there may be many paths through your system. The totality of the system may be represented as a collection of narrative scripts.

At the highest level, a Script is made up of Moments, which define the steps of a particular user journey in time. Moments move from left to right.

A simple example of a Narrative Script and its moments is shown below:

Create Your First Script

Drag a Script icon from the toolbar and drop it on the canvas. You'll see an empty script with three lanes and four columns. We call each column a frame.

You can add or delete as many frames as you like. To do this, hover over the edge of a frame till it turns green and the plus sign appears above. Click in place to add as many frames as you like. To remove frames, click the three dot menu in the upper right hand corner and select ‘Remove frame’.

Decide on the outcome of the script. Where do you want the user to end up? Type this outcome concisely into the space at the top of the script where it says, "enter desired outcome". After naming the outcome, we suggest you determine the final moment in a script and put that moment in the last frame.

To do this, drag a Moment (purple sticky) from the constructs menu in the toolbar and drop it into your script. You will notice it snaps to the context lane.

You can now add frames to your Narrative and drop in more Moments, filling in your journey, step-by-step, till it culminates in the final moment.

Lanes

There are three lanes in each script.

  • Interaction Lane: This is for UI Constructs such as Interfaces and Components
  • Context Lane: For Moments, the core and the starting place of all scripts
  • System Lane: This lane is for any action that happens on the backend. We begin with the Action construct, which encapsulates a system’s behavior in the broadest possible way.