Ruby Conf 2011

590 views
548 views

Published on

Presentation given at RubyConf 2011 by Ben

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
590
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • Predictable progress and safer deployments thanks to Ruby best practices like TDD, Capistrano, Agile; eminently readable code\nTell stories about our successes with startups and MVP\n
  • \n
  • ?? Mean\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Ruby Conf 2011

    1. 1. Evented Telephony Application Design withBen KlangFounder, Mojo Lingobklang@mojolingo.comTwitter/Github: @bklang
    2. 2. What is Adhearsion?•Adhesion you can hear – glueing the voice layer to the rest of the world.•Voice Application Development Framework•Open Source•Ruby – integrates easily with Rails, but not dependent•Platform agnostic – runs anywhere Ruby or Java (JRuby) does•Runs small, scales large•Cloud-Ready
    3. 3. Adhearsion Applied•Call center workflow optimization and integration•Sales force automation•Conferencing applications•Translation services•IVR•Polling•Robo-calling
    4. 4. Adhearsion Platforms 2008 2010 2011
    5. 5. Adhearsion Architecture
    6. 6. But wait...telephony is HARD right?? Photo by Joseph A. Carr from http://en.wikipedia.org/wiki/File:JT_Switchboard_770x540.jpg
    7. 7. Code Sample (comfort zone) Don’t Panic
    8. 8. Why evented design?
    9. 9. Why evented design?•Telephony needs are well served by evented design
    10. 10. Why evented design?•Telephony needs are well served by evented design •DTMF key presses
    11. 11. Why evented design?•Telephony needs are well served by evented design •DTMF key presses •New call setup/call state transition
    12. 12. Why evented design?•Telephony needs are well served by evented design •DTMF key presses •New call setup/call state transition •Conference or Queue join/leave
    13. 13. Why evented design?•Telephony needs are well served by evented design •DTMF key presses •New call setup/call state transition •Conference or Queue join/leave•Allows extra logic to execute without interrupting flow
    14. 14. Why evented design?•Telephony needs are well served by evented design •DTMF key presses •New call setup/call state transition •Conference or Queue join/leave•Allows extra logic to execute without interrupting flow •Process keypresses while on a long blocking call
    15. 15. Why evented design?•Telephony needs are well served by evented design •DTMF key presses •New call setup/call state transition •Conference or Queue join/leave•Allows extra logic to execute without interrupting flow •Process keypresses while on a long blocking call •React to external events (timer expired, agent available)
    16. 16. Code Demo Code from this demo:https://github.com/mojolingo/RubyConf2011
    17. 17. adhearsion.com/ ahnconf2011
    18. 18. Questions... http:// mojolingo.comadhearsion.com @bklang@Adhearsion bklang@mojolingo.co m

    ×