Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Steve Sfartz - How to embed Messaging and Video in your apps - Codemotion Milan 2017

End-users love to interact through Messages & Videos from their favorite tool: Messenger, WhatsApp, Webex... Wouldn't it be great to embed Messaging and Video into your apps ?! It turns out that at Cisco, we are not only providing 'Cisco Spark' - the Cloud Collaboration platform tailored for the Enterprise - but also proposing SDKs for Javascript, iOS and Android. In this talk, we'll explore how to create engaging multi-channel user experiences. We'll dig into Cisco Spark's React Widget and explain SIP & ChatBot concepts to ramp you up as a Messaging & Video enterprise professional!

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

Steve Sfartz - How to embed Messaging and Video in your apps - Codemotion Milan 2017

  1. 1. How to embed Messaging andVideo in your apps API Evangelist @CiscoDevNet @SteveSfartz Stève Sfartz DEMOS AND CODE INTENSE
  2. 2. /Cisco/DevNet/SteveSfartz  API Evangelist @CiscoDevNet  Cisco Spark &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 stsfartz@cisco.com @SteveSfartz
  3. 3. so what’s on the menu • Tour the potential ofVideo Calls • Messaging from code • Calling from code • Demos & tech details
  4. 4. ENGAGEMENT TIME Ad Hoc Meetings Furious Chat Occasional Messaging REALTIME Scheduled Meetings Current Workstyles Use Multiple Modes
  5. 5. ENGAGEMENT TIME Optimizing the Space between the Spaces REALTIME Occasional Messaging Scheduled Meetings Ad Hoc Meetings Furious Chat How do I escalate from chat to a live meeting without killing our momentum? We’re on a roll in this meeting, if only I had a little more time to finish my thoughts. I need a few more answers before I can assign the action items Where did that list of important reference articles end up?
  6. 6. ENGAGEMENT TIME Continuous Collaboration REALTIME Occasional Messaging Ad Hoc Meetings Furious Chat Scheduled Meetings
  7. 7. Secure, scalable, continuous collaboration Cisco Spark Platform Apps and Endpoints On Premise Services Cloud Based Services Single Experience Across Devices & Applications Apps and Endpoints
  8. 8. Every Pocket , Desk, Room
  9. 9. Demo  Cisco Spark Clients  DX80
  10. 10. ?! Now what if your app could get these Messages,Audio/Video super powers ?!
  11. 11. Cisco Spark ‘Free’ plan  Web, Desktop, Mobile clients  Illimited messaging & spaces  Up to 3 participants in a Call  Developer access to Cisco Spark APIs https://developer.ciscospark.com
  12. 12. Cisco Spark REST API 14 GET POST DELETE PUT /Rooms /Memberships /Messages /Webhooks /People /Teams developer.ciscospark.com/
  13. 13. Cisco Spark for Developers API token
  14. 14. Cisco Spark for Developers API developer bot oauth jwt token
  15. 15. Demo  REST API  Automation, ChatOps
  16. 16. Cisco Spark Cloud Service 1. interacts in spaces via a CiscoSpark client Cisco Spark User Your Bot code running On-premise or on a PublicCoud 2. posts notifications to registeredWebHooks Publicly accessibleAPIs 3. posts messages as notifications fly in Bot Architecture: Webhooks  Register events your bot is interested to listened to  Messages / created  Memberships / created  As events happen in spaces, receive notifications
  17. 17. Demo  REST API  Bot (on Glitch) ‘What is takes to code a bot’
  18. 18. Cisco Spark for Developers API developer bot oauth jwt token
  19. 19. Cisco Spark for Developers developer bot oauth guest token REST API SDKs Browsers, iOS, Android all Spark features
  20. 20. Demo  OAuth grant flow
  21. 21. Step 3 – App Requests AccessToken duittenb With the received Auth Code, app.html does a HTTPS POST to spark with the client ID & secret to request the AccessToken. HTTPS POST send : https://api.ciscospark.com/v1/access_token grant_type = authorization_code redirect_uri = http://myserver.com/app.html code = auth code… client_id = oif8we28382u398u2938u client_secret = hf33we28382uf8we2838Zx http://myserver.com
  22. 22. Step 4 – Spark Response HTTP POST response { "access_token" :"ZDI3MGEyYzQtNmFlN0NDNhLWFlN", "expires_in” :1209600, //seconds "refresh_token":"MDEyMzQ1Njc4OTAxMjM0NTY3ODkw", "refresh_token_expires_in":7776000 //seconds } duittenb Spark returns the AccessToken to the Application Some applications may store this access token in a secure way so it can be re-used when a user logs into the Application http://myserver.com
  23. 23. Cisco Spark for Developers developer bot oauth jwt token REST API SDKs Browsers, iOS, Android all Spark features
  24. 24. Spark SDKs Calling • Calling • Call Events Specs iOS SDK - swift • iOS 9 and 10 Browsers SDK - WebRTC • Chrome - current • Firefox - current CODECS • H264 • Opus Call & Media Controls • Call Control • AudioControl • VideoControl Other Functions • Persistent registration • Feedback • Push notifications
  25. 25. Use Case: Retail
  26. 26. https://developer.ciscospark.com/sdk-for-browsers.html
  27. 27. https://ciscospark.github.io/spark-js-sdk/api
  28. 28. Demo  OAuth with Spark SDK Web Dialer from FireFox https://webdialer.chhab.rocks
  29. 29. Each space also has a SIP address https://developer.ciscospark.com/endpoint-rooms-roomId-get.html
  30. 30. Cisco Spark Client toWidget Recents Space
  31. 31. Space Widget • Audio & video 1:1 calling • Space & 1:1 messaging • Markdown support • File sharing • Message flags and ability to delete messages • Read receipts • Persistent chat
  32. 32. Demo  SpaceWidget
  33. 33. Embedding the Space React component
  34. 34. Cisco Spark for Developers developer bot oauth jwt token REST API SDKs Browsers, iOS, Android all Spark features
  35. 35. What if my users are not on Spark ? Cisco Spark Anyone Everywhere - spark user - guest - spark user, spaces, devices - SIP addresses
  36. 36. Guest mode • Create a Developer Guest organisation • Get issued a OrgId & Secret • Dynamically register users • Get JWT tokens for these users • Access Cisco Spark APIs & SDKs
  37. 37. Gest mode deep dive
  38. 38. https://jwt.io/
  39. 39. Create a user JWT token from code
  40. 40. API access token from the user JWT token POST https://api.ciscospark.com/v1/jwt/login Authorization: <jwt-user-token> { "token": "eyJhbGci.eyNlX3R5cGU.I4zgVxATOH9Y" "expiresIn": 21599 }
  41. 41. Demo  Guest mode
  42. 42. Secure, scalable, extensible Conversations • Desktop, Mobile, Web clients • APIs & SDKs to extend the platform • API tokens, Oauth, JWT • Key Management Server for end to end security • WebRTC,Voice over IP • SIP addresses
  43. 43. Cisco Spark Resources  developer.ciscospark.com  awesome-ciscospark  DevNet learning labs https://learninglabs.cisco.com/tracks/collab-cloud
  44. 44. Get empowered at  Learnings labs  Fog computing  Sandboxes ready to use Kubernetes cluster for DevNet members
  45. 45. Other talks at CodeMotion today 14:10: Embedding Cisco Spark and Location applications (ESRI) into business processes saturday 12:30: Microservices and containers networking: Contiv, deep dive and demo
  46. 46. Thank you

    Be the first to comment

    Login to see the comments

  • SteveSfartz

    Dec. 1, 2017

End-users love to interact through Messages & Videos from their favorite tool: Messenger, WhatsApp, Webex... Wouldn't it be great to embed Messaging and Video into your apps ?! It turns out that at Cisco, we are not only providing 'Cisco Spark' - the Cloud Collaboration platform tailored for the Enterprise - but also proposing SDKs for Javascript, iOS and Android. In this talk, we'll explore how to create engaging multi-channel user experiences. We'll dig into Cisco Spark's React Widget and explain SIP & ChatBot concepts to ramp you up as a Messaging & Video enterprise professional!

Views

Total views

396

On Slideshare

0

From embeds

0

Number of embeds

0

Actions

Downloads

5

Shares

0

Comments

0

Likes

1

×