Discovering Intentional Storytelling

After six months of coding with GPT-4 by my side, I can confidently say that I’ve entered a completely new world of creativity. I haven’t visited StackOverflow in months and I haven’t looked up any tutorials on YouTube. Instead, I write down how I conceptualize a function or a particular part of the app, and then work together with GPT-4 to help craft the final code.

Earlier today, I discovered that there was a concept known as Intentional Programming. Someone had brought it up as an example of this process that I described above with the idea being that you just essentially think everything into existence.

Intentional Programming (IP) is a concept in software development coined by Charles Simonyi from Microsoft Research. The key idea is to capture the programmer’s intent and separate it from the implementation details. Instead of writing code in a traditional programming language, the programmer works in a domain-specific language (DSL) that matches the problem space more closely.

These “intentions” can then be transformed into a final product (usually software code in a conventional language) by the system. The advantage of this approach is that it can improve code clarity and maintenance because it emphasizes what needs to be done (intent) rather than how to do it (implementation).

For fun, I asked GPT for to imagine a way of telling a story using something like the concept of Intentional Programming

To my surprise, it essentially described the app I’ve been building for the last six years:

Intentional Storytelling, as a concept, could refer to a method of narrative development in which the storyteller’s intent is separated from the actual storytelling process. This is akin to Intentional Programming, where the intent is separated from the implementation.

In Intentional Storytelling, a storyteller would craft narratives using a Domain-Specific Language (DSL) designed for storytelling. The DSL could include elements like plot, characters, settings, themes, narrative arc, etc. The storyteller, rather than writing the story directly, would outline their intentions for these elements.

Subtxt is like that opening scene in the first episode of the last season of Westworld, where Dolores sits down at her workstation, and essentially talks her way through her story. Subtxt works exactly the same way—just without the audio interface (yet), and without the darker undertones of what that story was all about (depending on your point of view!).

To get even more meta, this blog post was created by something that you could call “intentional blogging”! The idea of Intentional Programming was just something I’d scrolled by on Twitter this morning. Fascinated with the idea, I went for a walk and just had a conversation with GPT-4 (through the ChatGPT app) and just kept asking questions to explore the concept. I didn’t enter text, I just talked it through using the Whisper API, (which is amazing). A couple of responses later, I wrapped it all up in a blog post that I’lll be posting up on my companies website later today.

So there have it: Intentional Storytelling.

James R. Hull @jhull