Part 1: Talkabot conference liveblog
Notes from the all-day tutorial session
I spent last week in Austin, Texas attending the first Talkabot Conference. Over the next three days I’ll share all my notes from the event, starting with the first tutorial day here.
Months ago, I bought a ticket for the Talkabot conference to get both an all-day tutorial session on building a bot and to witness the first real conference devoted to bots and messaging apps. I had a feeling it would be something special, and it didn’t disappoint.
By the end of the conference I felt like I got to attend a 1978 homebrew computer club meeting. It also reminded me of SXSW 2000, where I sat on the first panel about weblogs and got a front row seat to watching tech history get made. In both examples you have groups of smart people working on their own, then coming together for the first time to exchange ideas on what works and doesn’t, with everyone taking the lessons back to their projects. The events catalyzed movements and gave everyone attending access to a new network of like-minded programmers and tinkerers, and Talkabot was just like that.
Talkabot tutorial day liveblog
Ben Brown greeted us, told stories of his childhood spent on BBSes and playing MUDs, and how he really loved making bots. We were all set up with pre-built bots already added to a custom Slack instance, and got to fire up our bots and start chatting with them immediately.
Ben walked through the basic controller scripts of Howdy’s Botkit, showed how most every part of Botkit was a series of functions embedded in arrays, which in turn were embedded in more arrays. We stepped through the code of several demos and could see how responses could be tweaked in code.
For the most part, Botkit is a nice package around the real-time messaging API, which generally gives you way too much information about every single user action. Botkit lets you pare things down to just the interactions you want to monitor and work with in your apps. It’ll be interesting to see how the Events API changes development because it works as a good alternative to the RTM API.
Later, Ben unveiled Howdy’s new Botkit Studio, which is a web front-end to customizing Botkit scripts. Essentially, it’s like a content management system for all the text a bot shares in conversations. You could add new responses to existing calls, or add multiple random messages to existing interactions. You couldn’t build a bot completely from scratch in this web UI, but it was unique in that a programmer could build the basic interactions and leave the bot copy for a UI Writer to refine directly in a web browser. The best part was your bot updated instantly with new phrases without having to restart/deploy the node engine, because Botkit was instructed to connect to the Studio API during deployment.
Ben talked about the development of Botkit and the possibilities, and took questions from the audience on particular elements Botkit might support in the future.
After lunch, Don Goodman-Wilson from Slack gave an overview of how to think about designing bots, how to make good experiences for users and inject into conversations when useful. He talked plenty about downsides of badly designed bots, including those that are invasive or annoying and all the ways you shouldn’t write a bot. Don mentioned major features in the Slack API that were relatively recent like the Events API, and talked about future directions and areas (like paid apps) where Slack is still gathering information from developers to fine-tune the tools they might need.
Tao Jiang from Facebook unveiled new tools around payments and messaging that hadn’t been shown to outside developers before, and the best part was his demo was running beta code that at one point crashed and had to be restarted. I don’t say that to embarrass anyone, but instead to point out what a breath of fresh air it was to see someone from a huge corporation like Facebook that may dominate the space was still trying stuff out like everyone else and refining as they go.
Steve Ickman from Microsoft talked about their ambitious project to create a uniform bot authoring/hosting toolkit, one where about 80% of bot functionality could be made available on Skype, Slack, Facebook, Kik, and others. Their ultimate goal was to get as close to 100% compatibility across systems as possible, but they still have a long road ahead.
Closing up, Dennis Yang from Dashbot spoke about how they built a game system but had no way of tracking usage, so they built their own analytic tools that they eventually spun into a product. You can add their deep analytics with just three lines of code — it’s pretty amazing and all our pre-built bots for the tutorial already had dashbot built in. He showed analytics dashboards where you could see usage and error messages and even “take over” a bot and message users in real time for particularly thorny problems.
We finished the day with open time to hack away on bots and ask questions, and got ready for the conference to begin the following day.