Software

REFLECTION Twine

Twine is an open-source tool for developing interactive fiction. It outputs the results in formats accessible via the web without special plugins or players. It does this with support for platform-level web programming languages: HTML, CSS, and JavaScript. The platform also contains simplified support for markdown formatting and logic (variables, if statements etc). Users do not have to learn CSS formatting or JavaScript to develop interaction; however, more sophisticated developers can leverage these for more complex results.

The tool comes in two versions: one that runs in a web browser and is powerful enough to support sophisticated development. The results are saved in the cloud as the developer works. There is also a desktop version, but there is little appreciable difference between the two.

Using Twine is very similar to the first interactive media program I used in 1991. That was HyperCard, an interactive media development platform bundled with Mac OS. Long since deprecated, Twine is an open-source tool that fully replaces HyperCard and exceeds its capabilities with open-source support for cross-platform languages. It uses familiar metaphors in its interface of individual passages (cards) that the developers can connect with links. Full HTML support includes all media types supported on the web, including web-supported VR (X3D, A-Frame).

Feelings

I’d used Twine a few times before this research began, but I find the latest version extraordinarily user-friendly and a joy to work with. With my background as a web developer and with experience in JavaScript, it is the least difficult entry point for me into the production of interactive journalism. Other tools are targeted explicitly at non-programmers and people with a non-technical background, but for me, twine hits the sweet spot between complexity and usability. Its integration with HTML and CSS means that it is a tool that could be used to build web VR. The project’s scope, as I define it, meant that I needed more time and resources to pursue this particular angle. However, it will be something I will revisit in the future.

In particular, my research enabled me to conceptualise a different approach to using Twine. In the past, I had seen it as a choose-your-own-path storytelling tool, and my research has helped me to see it now as a spatial storytelling tool. This is the kind of breakthrough I hoped my research would surface, and I am excited to continue exploring this approach.

Evaluation

The critical challenges for me using Twine arise from an absence from programming rather than a lack of experience. I spent 20 years as a technology journalist, and much of that time, especially in the early years, was dedicated to producing tutorial content about programming for the web using JavaScript and other languages. Ten years later, I found Twine an easy entry point for re-familiaising myself with programming metaphors. The main challenge lies in program design rather than production. As an open-source tool, users and developers rely on crowdsourced documentation, which is not always user-friendly. However, there are a significant number of tutorials available online. One particular issue is that there are multiple versions of the Twine core programming language, and it takes research to decide which is most appropriate for the task at hand.

Application

Only towards the end of the research, as I was reaching conclusions and thinking about stories as collections of mechanics, objects and spaces, could I apply the outcomes to an approach that worked with Twine. I can now see this as a tool that can be used to describe spaces and the events taking place within them alongside objects that help build the story’s texture. This is a spatial rather than linear approach to storytelling, in which twine enables us to create a textual space of possibility or a completely multimedia VR space. It is an exciting realisation that will propel journalism forward.

Conclusions

Although Twine is a tool predominantly geared towards the creation of interactive fiction, its support for web technologies enables it to potentially be used for much more sophisticated outputs. In conclusion, it is worthwhile to continue exploring its use for future immersive journalism production and dissemination.