Telephony Through
Ruby Colored Lenses

      Ben Klang
       @bklang
Why Voice Applications
Why Voice Applications

What is a Voice Application
Why Voice Applications

What is a Voice Application

Voice Application Examples
Why Voice Applications

What is a Voice Application

Voice Application Examples

Adhearsion: The Ruby Lens
State of Voice Technology:




       The Dark Ages
State of Voice Technology:




       The Dark Ages
        < AD 2000
The Dark Ages: < AD 2000

         TDM PBX




                  http://www.flickr.com/photos/dannyman/320310144/
The Dark Ages: < AD 2000

         Proprietary




                  http://www.flickr.com/photos/dannyman/320310144/
The Dark Ages: < AD 2000

         Proprietary




             $$$
                   http://www.flickr.com/photos/dannyman/320310144/
The Dark Ages: < AD 2000


  Islands of Functionality
The Dark Ages: < AD 2000


Minimal/Non-Existent API
The Dark Ages: < AD 2000


Limited Management Tools
The Dark Ages: < AD 2000


Limited Management Tools
 Automation? What Automation?
The Dark Ages: < AD 2000


Limited Management Tools
 Automation? What Automation?
State of Voice Technology:




     The Last Ten Years
The Last Ten Years

    Emergence of VoIP
The Last Ten Years

    Emergence of VoIP
The Last Ten Years

    Emergence of VoIP
The Last Ten Years

    Emergence of VoIP
The Last Ten Years
     Smarter Endpoints
The Last Ten Years
     Smarter Endpoints
The Last Ten Years
     Smarter Endpoints
The Last Ten Years
     Smarter Endpoints
The Last Ten Years


        Convergence
The Last Ten Years


        Convergence

  Instant Messaging - Presence
The Last Ten Years


       Beginnings of
        Truly Unified
      Communications
State of Voice Technology:




    The Next Ten Years
            Other than going
            mobile, the end-
            user experience has
            not changed much
            since 1950s or even
            1920s
The Next Ten Years




 Further Decentralization
                Skype largest
                international carrier
                by minutes
The Next Ten Years




     Open Architecture
            Fewer Telco APIs,
            more Web APIS
The Next Ten Years




         Federation
The Next Ten Years




  Multi-Modal Integration
The Next Ten Years




  Multi-Modal Integration
  Voice - Text - Video - Presence
The Next Ten Years




        Collaboration
The Next Ten Years




        Collaboration
     Desktops - Documents
The Next Ten Years
The Next Ten Years


            Now
     is an exciting time
 to be working with Voice
What is a Voice Application?
A Voice Application...

Interacts with Audio Stream
A Voice Application...

Interacts with Audio Stream
A Voice Application...

Interacts with Audio Stream
A Voice Application...

Integrates Communication
         Channels



                   http://www.flickr.com/photos/32277674@N08/3697187859/
A Voice Application...




Goes Beyond a Phone Call
Voice Application Examples
Voice Application Examples


     Live
  Translation
    Service
Voice Application Examples


Automated Reminder Calls
Voice Application Examples


Automated Reminder Calls
Voice Application Examples


Automated Reminder Calls
Voice Application Examples


Automated Reminder Calls
Voice Application Examples

    Mid-Call Assistive Services




http://books.google.com.br/books?id=ekYEAAAAMBAJ&printsec=frontcover&dq=7+july+1948+life+magazine&source=bl&ots=nV3HS1HwEk&sig=iHzNtgI-gJ7bnlAoEUX0q4BBZn4&hl=pt-
                         BR&sa=X&ei=32k_UKXeEumx0AHaoYGYAg&ved=0CDQQ6AEwAQ#v=onepage&q=7%20july%201948%20life%20magazine&f=false
Voice Application Examples

      CRM Integration
Polling & Surveys
Voice Application Examples


  Over-the-Top Services
But wait...
But wait...
telephony is HARD right??
  Photo by Joseph A. Carr from http://en.wikipedia.org/wiki/File:JT_Switchboard_770x540.jpg
Code Sample (comfort zone)



                     Don’t Panic
Code Sample (comfort zone)



                     Don’t Panic
Code Sample (comfort zone)



                     Don’t Panic
The Ruby Lens
Adhearsion: The Ruby Approach



     Voice Application
        Framework
Adhearsion: The Ruby Approach
Adhearsion: The Ruby Approach



    Hosting flexibility
  (VM, PaaS, anywhere)
Adhearsion: The Ruby Approach



  Many integration points
                    DRb
                    ActiveRecord
                    Rails
                    XMPP
Adhearsion: The Ruby Approach



     Platform Agnostic
Adhearsion: The Ruby Approach



         Just Ruby
Adhearsion: The Ruby Approach



  Simple, Extensible API
Adhearsion: The Ruby Approach




        Get Started
             ahn create
             ahn generate controller foo
             rake config:show
             cd rubyhoedown2012


             take
Adhearsion: The Ruby Approach



       Get Connected
          adhearsion.com
 github.com/adhearsion/adhearsion
adhearsionconf.com
Thanks! Questions?


            Ben Klang
             @bklang

Telephony Through Ruby Colored Lenses