Talking to Rails - MagRails 2011

815 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
815
On SlideShare
0
From Embeds
0
Number of Embeds
39
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Talking to Rails - MagRails 2011

  1. 1. Talking to Rails Ben Langfeld Adhearsion Core Team Mojo Lingo @benlangfeld blangfeld@adhearsion.comSaturday, 15 October 2011
  2. 2. Why voice?Saturday, 15 October 2011
  3. 3. Why voice? •Many more people have access to a telephone than have access to the internetSaturday, 15 October 2011
  4. 4. Why voice? •Many more people have access to a telephone than have access to the internet •Many people still prefer voice-based interactionsSaturday, 15 October 2011
  5. 5. Why voice? •Many more people have access to a telephone than have access to the internet •Many people still prefer voice-based interactions •Voice enables a multitude of interesting use-cases which text and images cannotSaturday, 15 October 2011
  6. 6. Why voice? •Many more people have access to a telephone than have access to the internet •Many people still prefer voice-based interactions •Voice enables a multitude of interesting use-cases which text and images cannot •Because having a computer make a phone ring is still coolSaturday, 15 October 2011
  7. 7. But wait... telephony is HARD right?? Photo by Joseph A. Carr from http://en.wikipedia.org/wiki/File:JT_Switchboard_770x540.jpgSaturday, 15 October 2011
  8. 8. Code Sample (comfort zone)Saturday, 15 October 2011
  9. 9. Code Sample (comfort zone)Saturday, 15 October 2011
  10. 10. Code Sample (comfort zone)Saturday, 15 October 2011
  11. 11. Saturday, 15 October 2011
  12. 12. A voice application development frameworkSaturday, 15 October 2011
  13. 13. A voice application development framework Independent from, but compatible with, RailsSaturday, 15 October 2011
  14. 14. A voice application development framework Independent from, but compatible with, Rails Voice applications the Ruby WaySaturday, 15 October 2011
  15. 15. Saturday, 15 October 2011
  16. 16. Features Not just compiled down to some kind of crazy configuration, but we have full access to both the ruby environment and the call at all times Call setup/teardown events, DTMF events, conference join/leave, active speaker, etc Third largest mobile carrier in the worldSaturday, 15 October 2011
  17. 17. Features •Easy-to-use DSL Not just compiled down to some kind of crazy configuration, but we have full access to both the ruby environment and the call at all times Call setup/teardown events, DTMF events, conference join/leave, active speaker, etc Third largest mobile carrier in the worldSaturday, 15 October 2011
  18. 18. Features •Easy-to-use DSL •Idiomatic Ruby code Not just compiled down to some kind of crazy configuration, but we have full access to both the ruby environment and the call at all times Call setup/teardown events, DTMF events, conference join/leave, active speaker, etc Third largest mobile carrier in the worldSaturday, 15 October 2011
  19. 19. Features •Easy-to-use DSL •Idiomatic Ruby code Not just compiled down to some kind of crazy configuration, but we have full access to both the ruby environment and the call at all times •Powerful Eventing System Call setup/teardown events, DTMF events, conference join/leave, active speaker, etc Third largest mobile carrier in the worldSaturday, 15 October 2011
  20. 20. Features •Easy-to-use DSL •Idiomatic Ruby code Not just compiled down to some kind of crazy configuration, but we have full access to both the ruby environment and the call at all times •Powerful Eventing System Call setup/teardown events, DTMF events, conference join/leave, active speaker, etc •Plugins to solve common problems Third largest mobile carrier in the worldSaturday, 15 October 2011
  21. 21. Features •Easy-to-use DSL •Idiomatic Ruby code Not just compiled down to some kind of crazy configuration, but we have full access to both the ruby environment and the call at all times •Powerful Eventing System Call setup/teardown events, DTMF events, conference join/leave, active speaker, etc •Plugins to solve common problems •A very helpful community Third largest mobile carrier in the worldSaturday, 15 October 2011
  22. 22. Features •Easy-to-use DSL •Idiomatic Ruby code Not just compiled down to some kind of crazy configuration, but we have full access to both the ruby environment and the call at all times •Powerful Eventing System Call setup/teardown events, DTMF events, conference join/leave, active speaker, etc •Plugins to solve common problems •A very helpful community •Sponsorship from and Third largest mobile carrier in the worldSaturday, 15 October 2011
  23. 23. Advanced Voice FeaturesSaturday, 15 October 2011
  24. 24. Advanced Voice Features High-level constructs (Menus, Queues, Conferences)Saturday, 15 October 2011
  25. 25. Advanced Voice Features High-level constructs (Menus, Queues, DTMF gathering & Conferences) voice recognitionSaturday, 15 October 2011
  26. 26. Advanced Voice Features High-level constructs (Menus, Queues, DTMF gathering & Conferences) voice recognition Text-to-SpeechSaturday, 15 October 2011
  27. 27. Advanced Voice Features High-level constructs (Menus, Queues, DTMF gathering & Conferences) voice recognition Text-to-Speech Answering Machine DetectionSaturday, 15 October 2011
  28. 28. Advanced Voice Features High-level constructs (Menus, Queues, DTMF gathering & Conferences) voice recognition Text-to-Speech Answering Machine Detection Call ProgressSaturday, 15 October 2011
  29. 29. Adhearsion AppliedSaturday, 15 October 2011
  30. 30. Adhearsion Applied Call centre workflow optimisation and integrationSaturday, 15 October 2011
  31. 31. Adhearsion Applied Call centre workflow optimisation and Sales force automation integrationSaturday, 15 October 2011
  32. 32. Adhearsion Applied Call centre workflow optimisation and Sales force automation integration Conferencing applicationsSaturday, 15 October 2011
  33. 33. Adhearsion Applied Call centre workflow optimisation and Sales force automation integration Translation services Conferencing applicationsSaturday, 15 October 2011
  34. 34. Adhearsion Applied Call centre workflow optimisation and Sales force automation integration Translation services Conferencing applications Robo-callingSaturday, 15 October 2011
  35. 35. Adhearsion Applied Call centre workflow optimisation and Sales force automation integration Polling Translation services Conferencing applications Robo-callingSaturday, 15 October 2011
  36. 36. Adhearsion Applied Call centre workflow optimisation and Sales force automation integration Polling Translation IVR services Conferencing applications Robo-callingSaturday, 15 October 2011
  37. 37. Adhearsion Platforms 2008 2010 2011Saturday, 15 October 2011
  38. 38. Adhearsion Platforms 2008 2010 2011Saturday, 15 October 2011
  39. 39. Adhearsion Platforms 2008 2010 2011Saturday, 15 October 2011
  40. 40. Adhearsion Platforms 2008 2010 2011Saturday, 15 October 2011
  41. 41. Adhearsion Architecture Tropo Pros: * Easy to set up * Awesome TTS/ASR * SMS & International Cons: Asterisk Pros: * No manager events * Run on your server * No built-in recordings * Widely Deployed * Eventing System Note: AGItate first written 1 year ago Cons: * Tricky to set up/ Requires hardware * No TTS/ASRSaturday, 15 October 2011
  42. 42. Adhearsion Architecture Tropo Pros: * Easy to set up * Awesome TTS/ASR * SMS & International Cons: Asterisk Pros: * No manager events * Run on your server * No built-in recordings * Widely Deployed * Eventing System Note: AGItate first written 1 year ago Cons: * Tricky to set up/ Requires hardware * No TTS/ASRSaturday, 15 October 2011
  43. 43. Adhearsion Architecture Tropo Pros: * Easy to set up * Awesome TTS/ASR * SMS & International Cons: Asterisk Pros: * No manager events * Run on your server * No built-in recordings * Widely Deployed * Eventing System Note: AGItate first written 1 year ago Cons: * Tricky to set up/ Requires hardware * No TTS/ASRSaturday, 15 October 2011
  44. 44. Adhearsion Architecture Tropo Pros: * Easy to set up * Awesome TTS/ASR * SMS & International Cons: Asterisk Pros: * No manager events * Run on your server * No built-in recordings * Widely Deployed * Eventing System Note: AGItate first written 1 year ago Cons: * Tricky to set up/ Requires hardware * No TTS/ASRSaturday, 15 October 2011
  45. 45. Adhearsion Architecture Tropo Pros: * Easy to set up * Awesome TTS/ASR * SMS & International Cons: Asterisk Pros: * No manager events * Run on your server * No built-in recordings * Widely Deployed * Eventing System Note: AGItate first written 1 year ago Cons: * Tricky to set up/ Requires hardware * No TTS/ASRSaturday, 15 October 2011
  46. 46. Adhearsion Architecture Tropo Pros: * Easy to set up * Awesome TTS/ASR * SMS & International Cons: Asterisk Pros: * No manager events * Run on your server * No built-in recordings * Widely Deployed * Eventing System Note: AGItate first written 1 year ago Cons: * Tricky to set up/ Requires hardware * No TTS/ASR SQLSaturday, 15 October 2011
  47. 47. Adhearsion Architecture Tropo Pros: * Easy to set up * Awesome TTS/ASR * SMS & International Cons: Asterisk Pros: * No manager events * Run on your server * No built-in recordings * Widely Deployed * Eventing System Note: AGItate first written 1 year ago Cons: * Tricky to set up/ Requires hardware * No TTS/ASR SQL LDAPSaturday, 15 October 2011
  48. 48. Adhearsion Architecture Tropo Pros: * Easy to set up * Awesome TTS/ASR * SMS & International Cons: Asterisk Pros: * No manager events * Run on your server * No built-in recordings * Widely Deployed * Eventing System Note: AGItate first written 1 year ago Cons: * Tricky to set up/ Requires hardware * No TTS/ASR SQL LDAP XMPP/JabberSaturday, 15 October 2011
  49. 49. Adhearsion Architecture Tropo Pros: * Easy to set up * Awesome TTS/ASR * SMS & International Cons: Asterisk Pros: * No manager events * Run on your server * No built-in recordings * Widely Deployed * Eventing System Note: AGItate first written 1 year ago Cons: * Tricky to set up/ Requires hardware * No TTS/ASR XMPP/Jabber Web SQL LDAP REST/JSON/XMLSaturday, 15 October 2011
  50. 50. Why Adhearsion?Saturday, 15 October 2011
  51. 51. Why Adhearsion? •Easy code reuseSaturday, 15 October 2011
  52. 52. Why Adhearsion? •Easy code reuse •A natural DSL which is easy to write toSaturday, 15 October 2011
  53. 53. Why Adhearsion? •Easy code reuse •A natural DSL which is easy to write to •Rich inter-call operation within the processSaturday, 15 October 2011
  54. 54. Why Adhearsion? •Easy code reuse •A natural DSL which is easy to write to •Rich inter-call operation within the process •Brings modern development practices to telephonySaturday, 15 October 2011
  55. 55. Why Adhearsion? •Easy code reuse •A natural DSL which is easy to write to •Rich inter-call operation within the process •Brings modern development practices to telephony •No need for complex state-machines and constant load on your Rails app from an HTTP-based APISaturday, 15 October 2011
  56. 56. Why Adhearsion? •Easy code reuse •A natural DSL which is easy to write to •Rich inter-call operation within the process •Brings modern development practices to telephony •No need for complex state-machines and constant load on your Rails app from an HTTP-based API •Runs on Asterisk, so can integrate with an existing PBXSaturday, 15 October 2011
  57. 57. Why Adhearsion? •Easy code reuse •A natural DSL which is easy to write to •Rich inter-call operation within the process •Brings modern development practices to telephony •No need for complex state-machines and constant load on your Rails app from an HTTP-based API •Runs on Asterisk, so can integrate with an existing PBX •Adhearsion democratises telephony developmentSaturday, 15 October 2011
  58. 58. A (contrived) example problemSaturday, 15 October 2011
  59. 59. A (contrived) example problem •Everyone loves a spontaneous conference callSaturday, 15 October 2011
  60. 60. A (contrived) example problem •Everyone loves a spontaneous conference call •Getting people in is trickySaturday, 15 October 2011
  61. 61. A (contrived) example problem •Everyone loves a spontaneous conference call •Getting people in is tricky •Not everyone likes the phone ringingSaturday, 15 October 2011
  62. 62. A (contrived) example problem •Everyone loves a spontaneous conference call •Getting people in is tricky •Not everyone likes the phone ringing •Not everyone is availableSaturday, 15 October 2011
  63. 63. A solutionSaturday, 15 October 2011
  64. 64. A solution •Simple rails app for managing contactsSaturday, 15 October 2011
  65. 65. A solution •Simple rails app for managing contacts •Select contacts to callSaturday, 15 October 2011
  66. 66. A solution •Simple rails app for managing contacts •Select contacts to call •System asks contacts via Jabber if they are availableSaturday, 15 October 2011
  67. 67. A solution •Simple rails app for managing contacts •Select contacts to call •System asks contacts via Jabber if they are available •Will read apologies via Jabber into the conferenceSaturday, 15 October 2011
  68. 68. Code DemoSaturday, 15 October 2011
  69. 69. Saturday, 15 October 2011
  70. 70. Saturday, 15 October 2011
  71. 71. Saturday, 15 October 2011
  72. 72. Adhearsion 2.0Saturday, 15 October 2011
  73. 73. Adhearsion 2.0 • The next major evolution of AdhearsionSaturday, 15 October 2011
  74. 74. Adhearsion 2.0 • The next major evolution of Adhearsion • Many improvements including:Saturday, 15 October 2011
  75. 75. Adhearsion 2.0 • The next major evolution of Adhearsion • Many improvements including: • Truly cross-platform (Asterisk, Tropo & Rayo)Saturday, 15 October 2011
  76. 76. Adhearsion 2.0 • The next major evolution of Adhearsion • Many improvements including: • Truly cross-platform (Asterisk, Tropo & Rayo) • Core architecture overhaulSaturday, 15 October 2011
  77. 77. Adhearsion 2.0 • The next major evolution of Adhearsion • Many improvements including: • Truly cross-platform (Asterisk, Tropo & Rayo) • Core architecture overhaul • A reduction in internal complexity and line-countSaturday, 15 October 2011
  78. 78. Adhearsion 2.0 • The next major evolution of Adhearsion • Many improvements including: • Truly cross-platform (Asterisk, Tropo & Rayo) • Core architecture overhaul • A reduction in internal complexity and line-count • Scope reductionSaturday, 15 October 2011
  79. 79. Adhearsion 2.0 • The next major evolution of Adhearsion • Many improvements including: • Truly cross-platform (Asterisk, Tropo & Rayo) • Core architecture overhaul • A reduction in internal complexity and line-count • Scope reduction • Overhaul of the plugin systemSaturday, 15 October 2011
  80. 80. Adhearsion 2.0 • The next major evolution of Adhearsion • Many improvements including: • Truly cross-platform (Asterisk, Tropo & Rayo) • Core architecture overhaul • A reduction in internal complexity and line-count • Scope reduction • Overhaul of the plugin system • Modular application constructs (voicemail, queueing, etc) as pluginsSaturday, 15 October 2011
  81. 81. Adhearsion really far outSaturday, 15 October 2011
  82. 82. Adhearsion really far out •Adhearsion 1.x - Asterisk applicationsSaturday, 15 October 2011
  83. 83. Adhearsion really far out •Adhearsion 1.x - Asterisk applications •Adhearsion 2.x - Voice applicationsSaturday, 15 October 2011
  84. 84. Adhearsion really far out •Adhearsion 1.x - Asterisk applications •Adhearsion 2.x - Voice applications •Adhearsion 3.x - Real-time communicationsSaturday, 15 October 2011
  85. 85. Questions? adhearsion.com @Adhearsion http://spkr8.com/t/8602Saturday, 15 October 2011

×