Traditional Tooling for Conversation Design
If we think about sketching a dialogue, the first means that come to mind might be a script (like in theatre), a dialogue flowchart, or some kind of conversation template. These tools are great, if we write dialogues for non-interactive conversations, or graph-based UIs. For interactive conversations — like an interaction with a voice assistant — this form factor might convey a misleading connotation: there is not one path through a conversation for an interactive medium — rather, there are lots of variations to consider.
Here, we also talk about frame-based UIs, based on slot-elicitation. A slot might be a piece of data which you need to collect from the user while going through the task. It can also refer to an aspect about which you want to inform the user.
Furthermore, we are designing targeted and task-related dialogue acts, the decisive initiative and the intent are provided by the user. Hence, as the conversational assistant adheres to the cooperative principle to help the user obtain information or perform a task, there is no real parity between the interlocutors. Nevertheless, these traditional approaches convey this impression.
Of course, our virtual assistant should attempt to guide the user through the dialogue to guarantee some degree of consistency and completeness. However, natural conversations need a certain degree of flexibility and our conversational interfaces should support that.
Whereas dialogue flowcharts and dialogue scripts are more tailored to one dimensional design — the evolving conversation over time — situational design affords a second dimension to easily ideate alternative dialogue paths.
Situational Design
Situational Design is a method I got introduced to during an Amazon Alexa online event with Paul Cutsinger in September 2018. At the moment, Amazon proposes a slightly varied approach to the one described here.
Roughly speaking, situational design is based on the idea that a conversation is a sequence of interactions. Each interaction is comprised of a conversational turn, which has the following structure: a user utterance (the call), a conversational state (the situation) determined based on the user’s input, a corresponding assistant response and a prompt to guide the user through the task at hand. The situation is represented as an icon, which makes it easy to work with this method as well as with produced conversation artefacts.
If we think about conversations, most of the time, each topic consists of multiple aspects to discuss. Longer conversations might even be comprised of multiple topics. Furthermore, it is often possible to discuss the aspects and topics in different orders — without changing the overall nature of the conversation. Nonetheless, whichever path the conversation takes, it should be contained, i.e. there is an opening and a closing conversational turn. To be more precise, there is at least one opening and one closing element for the conversation. Different dialogue paths might start with a different opening (invocation) or have a different closing.
As we want to represent each situation with an icon, sessions start out with reviewing or creating icons according to the expected conversation flow. This gives the attendees time to exchange ideas and build a common understanding. Due to that, evolving the dialogue based on the situations feels intuitive and participatory.
By considering each step in a conversation, it is easy to see how the dialogue can unfold in different directions and take different turns. Furthermore, not each aspect of the topic might be relevant for each user. Users have different preferences and live in different contexts. What is important to one user might not be worth considering for others. According to the context of the user, we sometimes need a specific piece of data. For a user in a different context, the exact same piece of data might not be necessary. Furthermore, some users might not be familiar with some terms or details related to the task and, thus, benefit from further information presented in extra steps.
Especially, if we use a big canvas during the session, we can take different points of view (literally) by changing the distance. Thereby, we can either focus on an individual interaction or on the whole conversation. This helps to spot logical gaps, as well as playfully craft variations of the dialogue. Furthermore, it might even motivate us to take the perspective of another person (e.g. one of the personas) and take a walk in her shoes.
This leads to the conversation starting to grow and filling the canvas. Nonetheless, as the situation is represented by the (scribbled) icons, the conversation with all its variations still feels easy to overview and recall important information. We can also use the canvas to lay out consecutive sessions a user might take with our assistant. We should not assume that the user will always complete all steps at once. It has to be possible to return and continue the conversation or task.
Obviously, what makes situational design powerful is its fast and intuitive workflow. If you have a big canvas, like a whiteboard wall, it is effortless for a team to create dialogues for a conversation. Doing so, the team members get involved. This participatory aspect — incorporated in the act of externalizing the conversations we conceived inside our heads in isolation — makes it a versatile tool.
Additionally, the conversational turn entity also clearly depicts that the user controls the flow of the dialogue. The assistant itself can only attempt to guide the user. However, the user’s input determines the situation. Thereby, it helps to keep dialogues modular for interactive applications. Equally important, it is easy to take pictures to store and document the design work.
Dialogue Testing
Another extension to situational design is to prepare cards with the icons. With these cards at hand, find some colleagues to go through the conversation. Use the cards to guide the ‘test user’ through the task. This way, you can easily test dialogue paths and maybe even generate new ones.
At adorsys, we have created our own prototyping environment. Due to a high degree of automation, our prototyping toolchain allows tests in early stages and makes changes inexpensive. Being able to iterate quickly and adapt frequently, we try to bring as much context to the usability test as possible. For multimodal scenarios, using our toolchain to prototype as soon as possible is a great advantage. Therefore, until now, we have not applied this extension.
How We Use Situational Design
The conversational turn entity as shown above is clearly tailored toward conversation design, especially for voice-only scenarios. At adorsys, we put focus on the design and implementation of multimodal conversational interfaces, as well as respective tools and workflows.
Hence, we add scribbles of the state of the graphical UI which is expected to be displayed in the specific situation. This is helpful to keep track of all the screens we need while going through different dialogue paths. It is easy to grasp, if the UI matches for different paths or detect for which situations UI designs are missing.
However, we do not necessarily make a great distinction between the response and the prompt. In our experience, this becomes more important the closer we get to the implementation of the conversation. There, we need to have the option to react dynamically to the user’s calls or recover the conversation, if the user hits a dead-end. Therefore, we think it is less important in the early stage of conversation design.
By stepping back, changing the distance to the canvas, by discussing the consistency of the dialogue in the team, we often find aspects we had missed before. In a way, it helps against forms of attentional bias after having formed a first concrete notion about the conversation in one’s head. Imagining the obvious is often not as easy as it seems! Who spots the gorilla?
Taking pictures and composing a dialogue map is a great way to document the design work. Some of my students, from one of the courses I teach at the university, also used color to group parts of the dialogue. For their course related project, they chose to design a conversational interface which implemented an extensive input form. Therefore, they created a huge dialogue map and, by color-coding sections according to thematic groupings, it has become a lot easier to overview and navigate the map. Great idea!
Valuable Item in Our Toolbox
As mentioned before, the Alexa team presents a slightly varied form of this method now. Not too different though. We think the icon representation of the situation is helpful to overview and quickly comprehend a dialogue path and alternatives for a specific conversation. In most cases, we do not separate the response and the prompt too much, because we think the assistant should provide a consistent flow in most cases. However, flexibility is always necessary, as not all aspects or topics might apply for every single user the same way.
Especially the participatory aspect of this method, that you can use it easily and interactively in workshops with clients and stakeholders, is a big advantage of situational design. The team members and attendees are present, they think about the conversation, about the different aspects it comprises. Those get uncovered by building the conversation step by step. They think about the users, they empathize, and consider different perspectives. The produced artefacts are versatile to document the evolution of the project and to recall different conversation flows.
References
Cutsinger, P. (2018). Situational Design: How to Shift from Screen-First to Voice-First Design, Webinar, amazon alexa, 18.09.2018
What Is Situational Design? (https://developer.amazon.com/en-US/alexa/alexa-skills-kit/situational-design)