school contents. In other words, it can be transver-
sally used on diverse subjects, such as history, geogra-
phy, science, literacy, mathematics, foreign language,
among others. For this, it is necessary to embed the
use of programming logic into the existing learning
activities, so that it can be part of a teaching method.
A widely accepted “general purpose” teaching
method is the use of storytelling. According to Robin
(Robin, 2006), storytelling and more specifically in-
teractive digital storytelling is a powerful teaching
and learning tool for engaging both teachers and stu-
dents. Besides, storytelling can effectively be used
in many different contexts and subjects. A language
teacher can, for instance, ask his/her students to cre-
ate a non-linear narrative in order to improve their
literacy skills (Menezes, 2012), while a mathematics
teacher may aim at developing the student’s argumen-
tative competences (Albano et al., 2016). These ex-
amples show how flexible is the use of storytelling in
the educational context.
The present work exploits the flexibility of the sto-
rytelling to promote computational thinking and pro-
gramming skills in the existing scholar curriculum.
This is done with the support of a new tool, named
piBook (Programmable Interactive Book), which the
current paper means to introduce.
The paper is structured in five sections. The cur-
rent one exposes the motivation and goals of the work.
The second section presents correlated strategies used
to create digital non-linear narratives. The follow-
ing one provides the piBook goals and main require-
ments. The next one details the piBook system, by
presenting its architectural elements and how pro-
grams are created on it. Finally, the last section pro-
vides some considerations about the developed tool as
well as intended future work.
2 RELATED WORK
Some computational tools have already been created
with the purpose of enabling users to create digital
interactive stories as well as to publish their books.
Most of these tools use narrative flows (i.e., directed
graphs) in order to define the non-linear structure of
the story. However, some non trivial interactions are
particularly difficult to accomplish without the use of
programming resources and concepts (such as vari-
ables, conditionals, loops). While some tools deal
with this problem through a purely visual approach,
others allow authors to create a more complex logic
by directly using programming languages.
An example of the first case is the StoryTec (Gobel
et al., 2008). StoryTec is storytelling platform com-
posed of two major components: an authoring envi-
ronment and a runtime engine. The authoring com-
ponent is based on a pluggable framework where dif-
ferent editors may be used to create elements for a
story. It was initially conceived with five components:
a Story Editor, a Stage Editor, an Action Set Editor, a
Property Editor, and an Asset Manager. The editors
directly related to the current work are the Story and
Action Set editors. While the first one provides an
interactive 2D representation of the story graph, con-
taining the scenes, the transitions between the scenes
and the story elements, the second one is used to
configure the story logic inside each scene, which
is made through a visual programming environment.
The scene logic is then described visually by a set of
rules composed of conditions and actions. The pro-
gramming approach of this editor is similar to a flow
diagram, as illustrated in Figure 1.
Figure 1: Example of programming rules in the StoryTec’s
Action Set Editor.
The StoryTec’s visual approach eases the use of
the authoring tool for non-specialists due to the fact
that no programming skills are required to define the
story logic. Nevertheless, it restraints the ability to
create rules for complex scenarios. A more recent sto-
rytelling authoring tool, named Twine (Hahn, 2016),
tackles this gap by providing the ability to write the
story logic embedded in the narrative by using a tex-
tual programming language. The way in which Twine
creates non-linear structures in the story is based on
wiki systems. The user creates a text, which may have
one or more wiki link to other texts, which may also
connect to other ones, and so forth. For increasing us-
ability, Twine provides a visualization tool where the
user can see the overall story graph, in a way similar
to StoryTec. However, differently from the latter, it
does not provide a visual editor for authoring the story
logic. In Twine, each wiki-text may also have embed-
ded a chunk of code (written in Javascript) in order
to control, for instance, how many times the user has
passed by that text or if a part of the text should be
visible or not. This approach allows more control.
However, it requires previous knowledge of a specific
programming language. Figure 2 illustrates the Twine
approach to embed variables and coding instructions
into a narrative text.
An Interactive Book Authoring Tool to Introduce Programming Logic in Schools
141