BotCommons: Metadata for Bots - Devoxx 2017
-
Upload
steve-sfartz -
Category
Technology
-
view
97 -
download
0
Transcript of BotCommons: Metadata for Bots - Devoxx 2017
twitter://@SteveSfartz#Devoxx #BotCommons
Metadata for BotsStève SFARTZ, API Evangelist @CiscoDevNet
twitter://@SteveSfartz#Devoxx #BotCommons
/Cisco/DevNet/SteveSfartz
API Evangelist @CiscoDevNet
Cisco Spark Apps & Tropo APIs
#NodeJS mainly, a bit of #golang
France and all around Europe
hosted @PIRL – Paris Innovation
Center & Research Lab
twitter://@SteveSfartz
github://ObjectIsAdvantag
“vision without
execution is
hallucination”
-- Thomas Edison
@SteveSfartz
twitter://@SteveSfartz#Devoxx #BotCommons
My bot journey
- june 2016 : ‘node-sparkbot’ framework
- need of an healthcheck endpoint quickly emerged
- a year of Enterprise Bots hacking
- design, conversations, operations, analytics
- experimented various bot frameworks
- investment on Botkit (multi-platform, conversations, community)
GAPS that would need more than a framework to solve
twitter://@SteveSfartz#Devoxx #BotCommons
My first bot
Educational purpose
- learning the keyboard
- french spelling
twitter://@SteveSfartz#Devoxx #BotCommons
Taking Bots to the Next Stage
- but who created the bot?
- what is the usage policy?
- how can I contact support, send feedback?
- what about data privacy?
twitter://@SteveSfartz#Devoxx #BotCommons
Is the bot down ?
- Register bots metadata in a Universal DB
- chat services supported
- owner, support, usage terms, data privacy
- healthcheck endpoints
12
twitter://@SteveSfartz#Devoxx #BotCommons
Metadata for Bots
- Focus on the User
Experience: use-cases.md
- Specifications of the
BotCommons object
- Implementation examples
for various platforms
https://github.com/BotCommons
twitter://@SteveSfartz#Devoxx #BotCommons
Access methods
The bot MUST provide a public HTTP endpoint
AND/OR a built-in command
- public HTTP endpoints
- BotCommons endpoint
- Optional Healthcheck
- Built-in commands
- ‘.commons’
- ‘about’
twitter://@SteveSfartz#Devoxx #BotCommons
BotCommons with
Botkithttps://github.com/BotCommons/ciscospark-botkit-example
twitter://@SteveSfartz#Devoxx #BotCommons
Pluggable architecture
- botcommons.js plugin
- healthcheck.js plugin
- .commons.js skill
- About skill
- Glitch demo
- Heroku powered
twitter://@SteveSfartz#Devoxx #BotCommons
Foreseen arbitrations / challenges
- Mandatory healthcheck?
- Declare one or several messaging platforms?
- Declare how to start interacting with the bot? (public,
private, invitation only)
- Supported interaction media (message, voice, phone)?
twitter://@SteveSfartz#Devoxx #BotCommons
Next steps
- Publish v0.1 of specifications
- Code an implementation for Cisco Spark with Botkit
- Code an implementation for Slack with Botkit
- Code an implementation for Messenger with Bot Builder
- Create a BotCommons Registry API
- Create BotCommons bots for various platforms
twitter://@SteveSfartz#Devoxx #BotCommons
Resources
- BotCommons
- Specifications & example implementations
- https://github.com/BotCommons/
- ‘Create Conversational Bots with Botkit’
- Step-by-step learning lab
- https://learninglabs.cisco.com/tracks/collab-cloud/spark-
integration-services/collab-spark-botkit/step/1