How I came to love an annoying millennial: Bots are people too

Sandi MacPherson
ddouble
Published in
13 min readOct 4, 2016

Compared to the never-ending abyss of “do sh*t for me” bots, Jessie stands alone. A fully developed character that you can interact with over Messenger, Kik, or Skype, Jessie will take you on a journey through the day of a woman stumbling through life as a 20-something in LA. The experience is much more game-like than bot-esque, and hints at one of the many potential futures where scripted conversational-based agents can shine. Mica and I interacted with Jessie this past week, and gleaned a ton of insight into how this type of bot is designed, what makes Jessie ‘tick’, and what the future of these types of bots means for people building any kind of bot.

The industry’s best invents the future

Jessie was built by the team at Pullstring, previously known as ToyTalk. Founded by 3 (!) ex-Pixar folks (including CEO Oren Jacob, previous CTO of Pixar), Pullstring began working in the scripted character/bot space a few years ago. They’re responsible for the talking Hello Barbie from Mattel, the Call of Duty Facebook Messenger bot, and the Thomas the Tank Engine ‘Talk to You’ app. In addition, Rod Humble (ex-CEO of Second Life’s Linden Lab, ex-SVP at EA on The Sims, and now GM at SGN Games) was most recently Chief Creative Officer at Pullstring, and was brought on to build Jessie. I don’t think anyone could assemble a stronger team to build the future of character-based bots.

Chatting with Jessie pulls you into her world. She responds almost as if she’s a close friend, asking you for your opinion on how she should spend her day, whether she should abandon a friend who she’s promised to help move, and updates you when she has to step away to order a latte. Interacting with Jessie doesn’t necessarily ‘do’ anything for you. The product is pure entertainment, exploring the potential of messaging and chat as the delivery mechanism.

Released in early April 2016, the main character Jessie was described by the Pullstring team as:

“…a ton of fun, but a bit of a hot mess. She is a quirky, energetic 20–something experiencing a quarter-life crisis and looking for a job, a boyfriend, and a new apartment — all in the same day.”

As you interact with Jessie over her day, you have the potential to navigate through one of nine possible outcomes. The total ‘product’ consists of over 3000 lines of scripted dialogue across those nine stories, one of which takes anywhere from 25–30 hours to fully navigate, from your first ‘hello’ to some sort of conclusion.

Meeting Jessie

After adding Jessie to Messenger, you’re greeted with a simple welcome card, prompting you to ‘Start’ the conversation.

All of the standard indicators exist — the small profile photo as a read receipt indicator, typing indicator bubbles, and a link to her Facebook Page.

As with all products, one of the most important actions during the onboarding flow is to set the context of the interaction, and to define what and how you’ll be using the product. With a character-based messaging bot like Jessie, this means that the actual words used are extremely important, along with how the bot exposes their world and circumstances. For Jessie, this means immediately describing what she’s up to, and the type of journey you’ll be going on with her:

In addition, as you can see, the tone of her dialogue is extremely powerful. It’s obvious that Jessie is opinionated, but fun. The word choice is very descriptive of the character — she’s a funny, young, playful woman that doesn’t feel the need to be concise in how she interacts with people. Establishing this as Jessie’s personality is extremely powerful later in the experience, and was a smart decision as a way to design around some of the current gaps/drawbacks/weaknesses of creating character-based bots (which we’ll explore later in this post).

One (of nine) stories

While I wish we had unlimited time to review bots… we don’t. I only had the chance to go from start to end of one of the nine stories. I mostly tried to ‘play along’ and interact with Jessie as I expected an early 20-something woman would (my assumption as to their target user), but did ‘poke the bear’ a few times to try to better understand how Jessie was built, as well as to explore what might happen if and/or when a user deviated too far outside the established domain.

Jessie feels very much like a ‘choose your own adventure’ experience. Once you make a decision as to how Jessie should act, you’re set down a certain path that you’re then pushed along. You hit various decision nodes along the way (i.e. stay in for the night, or go to the CRAY CRAY yacht party!!), and continue to be shuttled along your chosen path.

Here’s a summary of what happened in my conversation with Jessie:

  • After we say hi, I learn Jessie is at a cafe, looking for a new apartment.
  • Finds a decent apartment, and I help her fill out the application.
  • She goes to the open house, and tells me about her potential roomies.
  • Doesn’t get the apartment :(
  • Jessie asks for my advice for an interview she’s on her way to.
  • I help her navigate an awkward situation with a guy in the elevator on her way to the interview… who turns out to work at the company!
  • She messages me during the interview and I help her answer questions on the interview test (!).
  • Sleepy, she goes home after the interview and takes a nap.
  • When she wakes up, the guy she met in the elevator invites her to a party on a boat. I tell her she should go, vs. stay home and eat pizza.
  • I help her pick out her outfit for the party.
  • She meets a guy at the party who gives her a $10k chip for a casino nearby.
  • She heads to the casino, and ends up accidentally buying a $20k bottle of champagne.
  • She heads to the roulette table to try to make back the $10k she’s down…
  • The story ends.

Interacting with Jessie

Jessie acts like Jessie

Interacting with Jessie felt a lot like interacting with what I imagine interacting with a 23 y/o woman, based in LA, would feel like. When she told me that a guy in the elevator with her had ‘bird 💩 or gum or SOMETHING’ on his pants, and I asked her for a photo — she sent one right away:

Jessie’s other actions and behaviors mirror those of what I’d expect. For example, she sends me a message during her job interview (!), asking me to help her:

Another layer of ‘real-ness’ is added to the character through the content that’s shared in this exchange. She jokes about sex, and having that as a topic in the conversation in a non-intimate way helps to also tether the conversation to a topic that’s very common for her demographic. It has the added benefit of further creating a sense of connection with Jessie, as she’s comfortable bringing up a topic that’s often only reserved for close friends.

Real people aren’t instantaneous

Timing is one variable that bots can adjust, and it’s obvious that it’s something Jessie’s creators spent a lot of time thinking through. The response times from Jessie are varied, based on the situation. If she starts down a conversation thread with you she doesn’t suddenly become unresponsive, but she does sometimes hop out of a current conversation, and goes into an unreachable state.

For example, as Jessie is wrapping up her job interview, she lets me know that the interviewer is returning and she has to put her phone away:

The gap between my ‘good luck!’ message and her ‘:D :D :D’ message was a full 4 minutes — what you’d expect when someone wraps up a job interview, says goodbye to the interviewer, leaves the room, and has a chance to take their phone out again.

Jessie takes many similar breaks between messages, all of which vary in length. I experienced breaks of 30s, 1m, 3m, 4m, 7m, 10m, 15m, and 60min in my conversation with Jessie. All of them felt appropriate considering the situation. For example, there’s a 1 minute break between this ‘You around in a few mins? I may need you!’ message, until she gives up on waiting for me and sends an ‘Oop! It’s starting! Text ya soon.’ message:

This wasn’t always perfect, however. At one point near the end of our conversation, Jessie was at a party. I was busy and didn’t message her for over 24h… yet when I did, she was still at the party, hanging out with the same people as when I’d left.

Answering with non-answers

The Pullstring team has done a great job at getting Jessie to always reply in a way that’s realistic, even if it’s not quite appropriate. At one point I ask her to send me a photo of the ‘hottie’ she spotted at the cafe:

Instead of replying with a default ‘I’m sorry, I don’t understand’, or a ‘No photo exists’ type error message, Jessie’s response doesn’t quite respond to my request, but it’s a reasonable response nonetheless. It’s a response that I’d expect a friend to send, further increasing my sense of Jessie as a real person.

Language

As previously mentioned (and has probably become obvious via the screenshots), the language that Jessie uses throughout our conversation is extremely powerful in establishing the richness of her character and placing her in my mind as a real person, with a real age, a real personality, a real existence. Some of my favorite words that Jessie uses are:

  • gunna
  • killa
  • lol
  • tho
  • bajillion
  • WDYT
  • prolly
  • ermagawd

She also uses plenty of emoji — both as responses and mid-sentence — to either replace words, or express emotions. The one similar piece of ‘language’ that I would have expected but isn’t used is gifs.

People don’t respond directly sometimes

One interaction that I really appreciated, and that leant itself especially to having Jessie message as an actual person would, was this one:

Personally, I do a very similar thing when messaging. If someone asks me a question, and I need to somehow confirm that I’m still there but unable to answer immediately, I’ll indicate that. Jessie’s ability to recognize that my ‘ummmm’ message wasn’t a response, but simply a placeholder until I could come up with an actual response, was a very strong design decision.

Pulling you along

The dialogue does a fantastic job at keeping you on-track, and not really letting you drift outside of Jessie’s overall domain or the story thread you’ve started down. You’ll be re-prompted to answer a question if you give a non-answer, a duplicate, or one that doesn’t lead to the story line that Jessie is targeting. When I answered with basically the same thing, Jessie noticed and called me out directly:

The power of Jessie’s millennial LA persona

I have to be honest — I don’t actually love Jessie, I sorta hate her. She’s obnoxious, extremely self-centered, and can’t maintain focus on anything (other than a hottie she spots in a cafe) for longer than 5ms. When she would ‘come back’ after taking off to do something during our chats, my most common reaction was a deep sigh of relief.

That said, the persona of Jessie is genius. She’s constantly distracted, only wants to talk about herself, doesn’t quite give what you say any credence — which makes any of the bugs or rough edges you may encounter blend seamlessly into the character.

These ‘non-response’ responses are brilliant. Responding with a high degree of accuracy to any potential message is a very difficult tasks at the moment, considering the current state of the technology that exists in the bot stack. By using this detached, self-centered, scatter-brained persona, it’s basically expected that Jessie will drive all conversations back to her neediness and inability to care or engage you with anything (i.e. literally anything, an infinite domain) going on in your life.

The fact that Jessie exists almost exclusively inside of time-boxed situations also means that there’s always a reasonable excuse for her to jet off — the party is starting, the apartment showing is starting soon, her job interview is over, etc. This allows her to jump out of the beginning of any conversation that has the potential to become too complex for a (smart, AI-enabled) scripted bot to manage.

Design Decisions for the Messenger interface

A quick note here… While Jessie is available on Kik, Skype, and Messenger, I only interacted with the Messenger version of the product, so can only comment on the design elements used on that platform.

Read Receipts

The most obvious and frequent design element that I noticed was the use of Messenger’s read receipts. When the bot has ‘read’ a message you’ve sent, Jessie’s mini profile pic moves down to that line, to show it’s been seen. However, for many of my messages — most often those that were sent after Jessie said goodbye — the ‘read’ status was postponed until after Jessie returned. It made it clear, in a subtle way, that Jessie was unavailable, and that she had dashed off and hadn’t yet looked at any messages that had since come in:

Messenger’s Cards

The team at Pullstring uses Messenger’s cards in various points throughout chatting with Jessie.

The very first card in my conversation with Jessie was sent a bit abruptly. Jessie had taken a break, and a card with a Share CTA was inserted into our conversation:

Other than Jessie deciding to step away form the conversation for a minute at that point, there was no other obvious indication as to why this point in our conversation was chosen as the ideal time to insert a share CTA.

Later in our conversation (and the only time I encountered it), the carousel element is used so I can help Jessie choose which outfit she should wear to the party:

The carousel displays 3 possible outfits for you to choose from, as Jessie gets ready to go to a party on a yacht. The capacity for the carousel to offer options on visual information is clearly a great match for this situation, and helps keep the conversation interesting by switching to a completely different, non-text based interaction that may also require a physical change — either a tap or mouse click on the screen.

Once you’ve come to the end of your story, a final card is displayed:

Not choosing either Share or Play Again displays a slightly different card, with options to learn more about the story or Pullstring:

Visuals

One of my favorite parts of interacting with Jessie was the illustrations that were shared throughout our conversation. These ‘pictures’ of what was going on around Jessie really helped me to imagine her interacting with the real world. Excluding the outfits I chose from the carousel, I received a total of 5 illustrations during our chat:

The state of character bots

Interacting with Jessie was very different than any of the other bots that we’ve reviewed. Jessie’s purpose is to entertain, by establishing a real, personal connection. The folks at Pullstring believe that these types of bots are the future of entertainment.

With Pullstring’s recent launch of their bot creation platform, the team clearly believes in this type of interaction as one possible (large) future that entertainment will take. I’m sure the team’s background in gaming will be leveraged as they continue to build out compelling storylines and worlds for their future characters.

As the tools for building these types of bots develop, it will also be interesting to see if or how the platforms where these games/experiences/chats live change. Do read receipts make sense for a bot? Is it okay to show that Jessie is active on Messenger… yet she’s not replying to my messages, or she’s told me she’s taking a nap? Does the metric of ‘Typically responds in minutes’, a metric associated with Facebook Pages (which is required to have a Messenger bot) make sense to display alongside a character?

While I didn’t personally enjoy the content that I interacted with via Jessie, I developed a deep respect for the carefully crafted situations. The normalcy of the interaction was very, very consistent — it was rare that I felt jarred from an underlying sense of interacting with something kinda-sorta like a person. And there were many moments where Jessie actually did feel real, or caused my mind to stir up memories of a friend who had once been in a very similar situation to one that she was navigating.

While the “do sh*t for me” genre of bots are distinct enough from actual people that how or when they deviate from ‘real’ people is obvious, the fuzzy gray areas that character bots like Jessie will expose will lead to some of the more compelling design decisions over the coming months as it relates to all bots.

--

--

Sandi MacPherson
ddouble

founder at @ddoubleai / @sandimacbot, rip @quibb. advisor to @adoptapetcom. work on @clearlyproduct & @5050pledge. don’t ask me to say bagel #canadian.