More Related Content Similar to Stève Sfartz - Meeting rooms are talking! Are you listening? - Codemotion Berlin 2018 (20) More from Codemotion (20) Stève Sfartz - Meeting rooms are talking! Are you listening? - Codemotion Berlin 20181. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Berlin | November 20 - 21, 2018
your Meeting Rooms are
talking.
are you listening ?
Stève Sfartz
2. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• API Veteran, Hobbyist Coder, Hands-On Architect
• Building code samples & dev tools, provide feedback, fill gaps
• Manager of a WW team of Developer Advocates
• Application Development Practices (IoT, Collab, Cloud, DevOps)
• Technical lead for the Cisco « API Style Guide »
• What excites me? Providing great Developer eXperiences
About me: //Cisco/DevNet/SteveSfartz
webex: stsfartz@cisco.com
twitter: @SteveSfartz
github: @ObjectIsAdvantag
3. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
https://developer.cisco.com/events/codemotion18/
4. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
5. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
https://projectworkplace.cisco.com
6. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
What do You see?
7. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
7 participants, video call & presentation in progress
8. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
What does your App see?
9. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Programmability & Embedded AI at your finger tips
10. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Webex Room Kit
https://projectworkplace.cisco.com/#/en-us/product/webexroomkit/0/0
11. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Webex Room Kit capabilities
https://projectworkplace.cisco.com/#/en-us/product/webexroomkit/0/0
Send
Request
s
Listen to
events
Embed
code
12. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• # ssh 192.168.25.160
• > xstatus RoomAnalytics PeopleCount
From the command line
13. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Pull data via HTTP
GET/getxml?location=/Status/RoomAnalytics/PeopleCount
14. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
To go further: import an xAPI colllection
https://github.com/CiscoDevNet/postman-xapi#integrator
https://raw.github..../xapi-integrator.json
15. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Pull data via Node.js
16. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
xAPI
Send
Requests
xstatus, xconfig,xcommand
local network connectivity*
(coming via Webex Cloud)
17. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Pull data (ssh): people count
• ssh 10.10.20.1xx (integrator/integrator)
xstatus RoomAnalytics PeopleCount
*s RoomAnalytics PeopleCount Current: -1
xcommand Standby Deactivate
xstatus RoomAnalytics PeopleCount
*s RoomAnalytics PeopleCount Current: 0
18. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Listen (ssh): show clicked events
ssh 10.10.20.1xx (integrator/integrator)
xfeedback register /Status/RoomAnalytics/PeopleCount
** end
OK
*e RoomAnalytics PeopleCount Current: 14
*e RoomAnalytics PeopleCount Current: 15
*e RoomAnalytics PeopleCount Current: 13
19. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Listen to events in Node.js
20. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
https://github.com/ObjectIsAdvantag/roomkit-react-map
21. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Interactive Live Map
https://github.com/ObjectIsAdvantag/roomkit-react-map
Interactive map showing
PeopleCount analytics
from a set of Room Kits
• React
• Node.js
• ‘jsxapi’
22. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Collect data from devices
https://github.com/ObjectIsAdvantag/roomkit-collector
GET / healthcheck
GET /devices
GET /devices/Workbench1
GET /devices/Workbench1/average?period=60
GET /devices/Workbench1/last
GET /devices/Workbench1/max
Node.js local service collecting PeopleCount
events from a RoomKit deployment,
to compute weighted averages
23. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
xAPI
Listen to
events xfeedback
Invoke remote APIs
Interact with control systems
24. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Creating custom
In-Room Controls
25. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public#CLUS
26. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
27. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
In-Room Simulator
https://controls-editor.herokuapp.com/playground.html?virtualroom
End-to-end enriched User
Experience for Meeting
Rooms
• In-Room Control
• Node.js jsxapi
28. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
https://10.10.20.1xx/web/roomcontrol/editor
29. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Customize the activity
30. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Create a button with id: push_DEVNET-2074A
31. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Deploy
32. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Preview
33. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Agenda with notifications
https://github.com/ObjectIsAdvantag/xapi-samples/tree/master/controls/agenda_notif
Pushes session details to
a Webex Teams space
• In-Room Control
• Node.js jsxapi
• Incoming webhook
34. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
xAPI
Embed
code
Javascript
Macros
All CE devices but SX10
No remote API calls* (HttpFeedback ++)
35. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Maze Game
https://github.com/ObjectIsAdvantag/xapi-samples/tree/master/controls/maze-scores
End-to-end enriched User
Experience for Meeting
Rooms
• In-Room Control
• Macro
36. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Ultrasound
https://github.com/ObjectIsAdvantag/xapi-samples/tree/master/controls/ultrasound
Give users control to your
devices’ Ultrasound
MaxVolume
• In-Room Control
• Macro-compatible
custom message pushed to your
devices’ Touch10/DX interface as
pairing is enabled / disabled.
37. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Webex Room Kit capabilities
https://projectworkplace.cisco.com/#/en-us/product/webexroomkit/0/0
Send
Request
s
Listen to
events
Embed
code
38. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
xAPI module at DevNet
https://learninglabs.cisco.com/modules/xapi-intro
39. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
https://developer.cisco.com/site/sandbox/
40. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Prototype with Webex Room Kit Sandboxes
41. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
How many faces…
…would your Sandbox’ed Room Kit detect?
42. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
How many faces…
…would your Sandbox’ed Room Kit detect?
2 faces
43. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
How many faces…
…would your Sandbox’ed Room Kit detect?
44. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
How many faces…
…would your Sandbox’ed Room Kit detect?
2 faces
5 faces
45. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• 500K+ community members
• Sandbox, Learning Labs, Documentation
• Tutos
Join DevNet
where Apps meet Infrastructure
twitter: @CiscoDevNet
webex: stsfartz@cisco.com
twitter: @SteveSfartz
github: @ObjectIsAdvantag
46. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• Dev Center
• https://cs.co/roomdevices
• Postman collections for Webex Devices
• https://github.com/CiscoDevNet/postman-xapi
• Code samples, React tutos, RoomKit Map and Collector
• https://github.com/ObjectIsAdvantag/xapi-samples
• https://github.com/ObjectIsAdvantag/roomkit-collector
• https://github.com/ObjectIsAdvantag/roomkit-react-map
• Awesome on CodeExchange
• https://developer.cisco.com/codeexchange/github/repo/CiscoDevNet/awesome-xapi
Developer Resources for Webex Devices
47. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Q&A
48. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Thank you
Editor's Notes Well that’s a meeting room, like dozens of millions exist today
More than 95% of fortune 500 use Cisco Collaboration
Total of 300 millions of users interacting with Cisco Collaboration
Today, we will investigate opportunities to leverage a few of these 1.5 million meetings rooms around the world that have Cisco video devices ready to use in your next startup or business. Pull data A Postman collection regroups a set of API requests
You can save any requests you forge manually into a collection, group several requests and share your collections with Postman
If you need to inject dynamic parameters such as API token you can inject them using the {{ variable }} notation.
Note that it is also possible to share environments with Postman Listen to events ** HttpFeedback xstatus RoomAnalytics PeopleCount
xcommand Standby Deactivate
xstatus RoomAnalytics PeopleCount
xfeedback register /Event/UserInterface/Extensions/Event/Clicked
Listen to events ** HttpFeedback https://controls-editor.herokuapp.com/playground.html?virtualroom https://controls-editor.herokuapp.com/playground.html?virtualroom ** HttpFeedback 5 faces
2 faces 5 faces
2 faces
5 faces
2 faces 5 faces
2 faces