Designing and building my first chatbot
I’ve always been a bit suspicious of chatbots and conversational interfaces. There’s something about them I find unsettling, particularly those that learn as they are exposed to more conversation. So when I saw UAL’s Creative Computing Institute was offering an online course inspired by their Feminist Chatbot work through Future Learn, I leapt on the chance to learn more. I wanted to understand more about the designs that left me uncomfortable and have the tools to be part of building something better should the chance ever arise.
The course itself was four weeks long, but because it was online I took it at my own pace. It offered exactly what it promised on the tin, or rather the course description:
While each section only offered a high level introduction to each of the topics covered, those introductions were clear and offered lots of extra reading if you wanted it.
The simple chatbot your build through the course is a scripted chatbot, one with predetermined questions and answers, rather than an AI chatbot which uses natural language processing, understandably there was no way anyone could teach someone how to build something using machine learning from scratch in 4 weeks. But it gives you plenty of information about the second kind, and for me it definitely demystified, and in some cases justified my discomfort with, conversational bots of this kind. The more I learned the more I felt empowered when I built my own to do something different.
I had inadvertently been using a lot of the tools and thinking that was covered as “technofeminism” in my work when trying to focus on equity and inclusion more generally, but it was great to have those ideas drawn together into their historical context.
Once we had a background in the context of feminist design and some tools to use in our work. There was a brief section on conversational design. This is the one section I would have liked more on in the course, which largely focused on the feminist aspects of designing the chatbot’s personality. So I sought out some extra reading on how to design conversations, the different kinds of call and response and how to take them beyond just being a flow diagram.
Then it was onto making the chat bot. I did this outside of the course time because I knew I wanted something to work alongside another project I had in the works, Imagining Future Space, and there’s a time limit on Future Learn courses if you’re not a premium member. So I made sure to take plenty of notes, including the handy feminist design prompt.
I mapped out my conversation using Miro. This wasn’t the tool that was recommended in the course, but it’s the tool I’m most comfortable using for this kind of task because it’s become a huge part of our remote working process.
While mapping was fun, I was surprised that the bit I enjoyed most was actually coding the chat bot. I never consider myself a technical person. I found a real joy in just playing and learning how to do something outside of my normal skill set. There was more than one evening where I found myself typing away hours after I had planned to stop and take a break without even noticing, because I was so engrossed by what I was doing, by seeing something appear on the screen as I built it.
I think one of the big reasons I got so into the building process was how Glitch (the tool we used to code) is structured. I’ve tried to learn to code in the past and always get to a point where I lose interest because there are only so many abstract rules I can hold in my mind at once. But with Glitch you can “remix” other people’s work. In the case of the Feminist Chatbot course, the tutors had set up a project you could use as a starter. Being able to see in real time what changing different elements did (Glitch allows a live preview of your code) made it so much easier to grasp the rules. Pulling levers in something that’s already built rather than having to hold all of your own scaffolding in your mind makes those rules so much more tangible. Seeing something come together quickly gave me the confidence to challenge and expand what was already there, eventually building my own.
The chatbot I built is a toolkit to support my speculative project Imagining Future Space. It’s a starting place for resources about futures design and exercises to get people’s creative juices going, whether they need to warm up before starting one of the questions, want an extra challenge, or are just interested in exploring more. Just like the rest of Imagining Future Space, my plan is to expand the chatbot as the project grows and I learn more.
If you have the chance I’d highly recommend getting involved in some courses outside of your comfort zone. I’m looking forward to learning more about conversational design and using glitch to expand my coding skill set, now I’ve got access to the resources and the confidence to try it out.