Skip to content

Instantly share code, notes, and snippets.

@rattlion
Last active June 8, 2016 22:34
Show Gist options
  • Save rattlion/d742de749f172e81cf7eb73ff918d00b to your computer and use it in GitHub Desktop.
Save rattlion/d742de749f172e81cf7eb73ff918d00b to your computer and use it in GitHub Desktop.
Your Dad Bot Is So Hot Right Now

Your Dad Bot Is So Hot Right Now

In early February a pair of engineers, David Sicher and Matt Ryan, took on the challenge of empowering users with minimal programming experience to get their hands dirty with AI technology. The "Designing Conversations: Rise of the Bots" meetup at Huge LA had over 60 people RSVP and a wait list almost equal in size. Austin Beer, an interaction designer, asked participants to consider treating their user experience and design challenges as a conversation. Austin guided attendees through an exercise that framed service interactions in terms of requests and responses, which is ultimately how attendees would think about their new AI buddies.

Slack Room

To distill the process of writing a live slackbot into a 3 hour workshop, David and Matt created a scaffolding that abstracts out the configuration of a custom slack integration and allows users to write bot conversations using natural language.

Participant Chat

A key part of the challenge for the engineers was to design and provide this syntax. As a result David and Matt decided to construct a small wrapper around Botkit, named ProtoBot. With a familiar-sounding set of commands and detailed console feedback in the build process, ProtoBot helped users jump into developing and debugging their bots. In a matter of minutes attendees went from having never opened a terminal to having a fully functional and extensible chat bot connected to the Slack platform.

demobot
  .listenFor( "well hello demo-bot" )
  .andReplyWith( "What's good human?" );

demobot
  .hears(["ice cream", "dessert"])
    .says("Did someone say ice cream? Let's talk.")
    .asks("*chocolate* or *vanilla*?")
      .hears(["chocolate"])
        .says("My favorite!")
        .says("You're the best!!!").end() // ends says() chain
      .hears(["vanilla"])
        .says("Wrong!").end() // ends says() chain
    .end() // ends asks()
  .end(); // ends conversation

While all the original resources are publicly available and ready for use Matt and David have plans to rewrite the library to be dependency free and platform agnostic. You can check out the instructions used for the meetup and the source at http://demo.riseofthebots.net.

Lecture

#notaseasyasitlooks"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment