For my first post, I’m going to introduce you to Jabberwocky – a feature of the Looking Glass IDE. Future posts will detail the different challenges and insights in the development of Jabberwocky. At its core, Jabberwocky is meant to be a one-click approach to remixing stories so that users can get in front of new code and animations as quickly as possible.
- Three Forms of Writer’s Block
- Abstract Solution
- Implementation Mockups
- Research Questions
- Target Audience
- Ancillary Benefits
When designing or writing stories, it is important that the user is able to, in the words of Dory, “just keep swimming”. Unfortunately, whether the user has just entered Looking Glass, or they’ve been working in it for a while, they will inevitably hit Writer’s Block. Not only is the traditional form of Writer’s Block an anathema to storytelling, there are also other forms of Writer’s Block that prevent progress in the learning process for users.
Three Forms of Writer’s Block
- Imagination: What to write next?
- This traditional definition of Writer’s Block is well-known and well-studied. The basic idea is that when focused on a project, users may get stuck and not have any ideas for what to do next. We’ll soon see a few ideas for how to deal with this.
- Interest: What else can I do?
- Also known as boredom, the interest-focused Writer’s Block happens when a user sticks to the same paradigms, scenarios, and tools for too long. Whether it is an author who gets bored of writing vampire novels or a Looking Glass user who only ever uses dialogue statements, users can quickly grow weary of writing if they are only aware of a small number of writing devices.
- Skill: How do I do X?
- The final form of Writer’s Block is a lack of skill or expertise. Jabberwocky does not attempt to solve this as Paul and Kyle’s remix+tutorial interfaces will hopefully deal with this issue. Michelle is also working on a help interface for this purpose.
Now that we have an understanding of the different forms of Writer’s Block, we can start to understand why they are problems worth solving.
- Imagination: What to write next?
- This problem aligns closely with one of the original visions of Storytelling Alice (now Looking Glass): provide a motivating context for storytelling. It is not enough to give middle school students the tools to write stories, we also have to help them see how to tell stories with these tools. In Prof. Kelleher’s dissertation [pdf], she found that students were three times as likely to sneak extra time working in an environment that gave users storytelling ideas and animations as compared to an environment simply focused on tools. This shows that even if users know how to make a story, they often need to be prompted with storytelling ideas in order to feel motivated to engage in a storytelling environment. I think we’ve only scratched the surface in understanding how to motivate users to engage in Looking Glass and why this engagement is beneficial for the learning process.
- Interest: What else can I do?
- Even if a user has ideas for a story, if they are not challenged they will soon grow restless and weary. This idea is backed by research in cognitive science referring to “flow state” in which a person is most productive when they are working on something slightly above their skill level. Research in creativity also shows that creative environments are ones that prompt change in the user. The learning sciences’ phrase for all this is “hard fun“, in which the user must grow as a learner through hands-on exploration. I think that prompting users with new code and new animations has the potential to increase their exploration of Looking Glass by keeping them interested and in flow.
Together, increased engagement through story ideas and increased exploration through instant access to novel code should increase creative learning in Looking Glass.
How to solve Writer’s Block?
I see Writer’s Block as really the flipside of creativity. So in answering this question, I really look to answer:
How to encourage creative thinking?
While not necessarily easier to answer, there is a good deal of research in promoting creative thinking that more closely overlaps with my goals of increasing engagement and exploration in Looking Glass.
Some approaches to building environments that support creativity:
- Chaotic environments
In “Where do good ideas come from?” Steven Johnson argues that innovation happens when people are forced to interact with others by virtue of being in a chaotic environment, ala Hogarth’s Tavern:
When surrounded by others, our ideas are remixed so that synergy can take place. Similarly, in Matt Ridley’s “When ideas have sex” TED talk, he notes that the best ideas come from this continued mixing and matching. What matters is not how clever individuals are, but how well an environment supports the “collective brain”. While Mark and Terian are working on a community for such interaction to take place, I see Jabberwocky as a sort of virtual Hogarth’s Tavern, where a user is introduced to new code and new LG interactions based on the ideas they’ve expressed in their current movie. By challenging them to explore new areas of LG and to mix in different code, they will hopefully produce better movies and more complex code than if they were left to their own devices.
- Promote change
- In Play, Piaget, and Creativity: The Promise of Design Roger Gehlbach argues that creative environments work best when learners “begin a series of changes in themselves”; that creativity entails seeing familiar things used in new contexts and novel things associated with familiar environments. This contrasts nicely with Einstein’s definition of insanity: “doing the same thing over and over again and expecting new results”. We need users to break out of their comfort zones and be confronted with fresh types of interaction so that they can grow as learners.
- Overlapping projects
- One of the most telltale signs of creative personalities is that they are constantly juggling multiple projects. Similar to chaotic environments, overlapping projects help a person problem solve by building metaphors and generating insights they would otherwise miss. In addition, jumping between different projects may help to prevent the Einstellung effect, in which a user gets stuck in a particular approach to problem solving based on recent experience and has a harder time coming upon more efficient and intuitive approaches to a current problem. By confronting the user with new approaches to storytelling in Looking Glass, we should help prevent the gridlock of the Einstellung (or set) effect and help promote the insights that come from concurrent diverse activities.
- Remain active
- Finally, remaining active can be one of the best ways for a user to begin thinking creatively. In the same Gehlbach article mentioned earlier, he notes that children learn the best when they remain active in their environment. While quiet reflection has its place in the learning process, active engagement is best for solving problems, thinking creatively, and producing innovation. As Keith Sawyer points out in his book Explaining Creativity: The Science of Human Innovation, creativity can be explained by looking at the art of performance. Whether studying an improv acting troupe, a jazz trio, or even a poet or visual artist, true innovation happens while in the process of creation, not sitting alone and contemplating a project. Only by experimenting with an art form (or in a lab or in nature) can a person simultaneously synthesize new approaches while analyzing their effectiveness. It is for this reason that I think it’s important that Looking Glass help keep the user active in their engagement and exploration of the IDE. Active engagement in an environment can also be a symptom of (and maybe even result in) confidence with the system, so it will be interesting to study the correlation between a user’s engagement and their confidence in Looking Glass.
- Step One
Create a button that affords clicking, with a good label that affords a feature pertaining to new code/exploration and find a good place to put it so it’s visible to users.
- Step Two
Produce a dialogue box where users can review the action they are about to add to their movie to decide if they want to introduce it or not. While this stops Jabberwocky from being true “one-click remixing”, I think it’s necessary so the user does not feel lost or overwhelmed when new code is added to their scene. This also helps connect the code to the visualization of the action for new users who may not realize that the two are related.
- Step Three
Make the user name their new action. This helps introduce users to the concept of a “custom action” or “Actionscript” or “method” — basically the idea that lots of little actions can be grouped together in an easily reusable container. This also helps with the inherent lack of visibility in step four.
- Step Four
Add the named Actionscript to the user’s movie script. Here, I will need to figure out whether the user understands that the code for their action is hidden behind the name they’ve given it. Also, whether they’d rather have it show up at the end or the beginning of their script (assuming there’s more to the script than the new action).
- Thesis Question
- Can software be used to alleviate writer’s block?
- Testable Hypotheses
- »Will encountering novel code prompt the user to add new code to their story?
- »Will users add or manipulate a greater amount and/or a greater diversity of code if their own characters are involved in the novel code? (compares Jabberwocky with example worlds)
- »Will users more quickly import code via Jabberwocky than via the Remix interface that already exists, without sacrificing comprehension?
- »What constitutes a good Jabberwocky Actionscript?
- »How can we find/parse a good Jabberwocky Actionscript?
While I would like to target users with both of the first two types of Writer’s Block listed above, it is hard to produce the first type of user (lack of inspiration) in a lab environment. Therefore, I would look to test complete novices to Looking Glass, who are faced with the second type of Writer’s Block – those stuck with only a certain subset of tools. As these users have no tools in their tool belt, they fit a pure version of this perspective.
In addition to the direct work on instant remixing that I will be producing, I also hope to create a good deal of code that will come in handy to Looking Glass developers who need to interact with user statements. Things like checking the type of statement a user is running or replacing the character associated with an action can be complicated to figure out if a developer is not familiar with the abstractions of Looking Glass code.
I hope you are as excited for the potential of Jabberwocky as I am. Please let me know any questions or comments you have, below.